942ee760ea6ce8c47e284b8285a56a9193a7c3b9
[gnulib.git] / ChangeLog
1 2011-10-08  Bruno Haible  <bruno@clisp.org>
2
3         pow tests: Defeat compiler optimizations.
4         * tests/test-pow.c (main): Assign arguments to x and y before use.
5
6 2011-10-08  Bruno Haible  <bruno@clisp.org>
7
8         gnulib-tool: Improve last commit.
9         * gnulib-tool (func_modules_transitive_closure): Simplify code.
10         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
11         ignore dependencies that are not among the modules list.
12
13 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
14
15         gnulib-tool: don't follow dependencies to avoided modules
16         This fixes a bug that is related to the previous one.
17         * gnulib-tool (func_modules_transitive_closure)
18         (func_emit_autoconf_snippets):
19         Check whether a dependency is acceptable before using it.
20         (--extract-dependencies): Report an error if --avoid is also used,
21         since this combination of options is not yet supported.
22
23         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
24         Problem reported by Peter Dyballa in
25         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
26         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
27         when echoing "$condition".
28
29 2011-10-07  Bruno Haible  <bruno@clisp.org>
30
31         Fix documentation about math functions on MacOS X.
32         * doc/posix-functions/exp2.texi: Don't say the function is missing on
33         MacOS X 10.5.
34         * doc/posix-functions/fdim.texi: Likewise.
35         * doc/posix-functions/feclearexcept.texi: Likewise.
36         * doc/posix-functions/fegetenv.texi: Likewise.
37         * doc/posix-functions/fegetround.texi: Likewise.
38         * doc/posix-functions/feholdexcept.texi: Likewise.
39         * doc/posix-functions/feraiseexcept.texi: Likewise.
40         * doc/posix-functions/fesetenv.texi: Likewise.
41         * doc/posix-functions/fesetround.texi: Likewise.
42         * doc/posix-functions/fetestexcept.texi: Likewise.
43         * doc/posix-functions/feupdateenv.texi: Likewise.
44         * doc/posix-functions/fmax.texi: Likewise.
45         * doc/posix-functions/fmin.texi: Likewise.
46         * doc/posix-functions/log2.texi: Likewise.
47         * doc/posix-functions/modff.texi: Likewise.
48         * doc/posix-functions/nan.texi: Likewise.
49         * doc/posix-functions/nanf.texi: Likewise.
50         * doc/posix-functions/nextafterf.texi: Likewise.
51         * doc/posix-functions/remquo.texi: Likewise.
52
53 2011-10-07  Bruno Haible  <bruno@clisp.org>
54
55         modff: Drop assumption about library that defines modff.
56         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
57         AC_CHECK_FUNCS.
58         * modules/modff (Files): Add m4/mathfunc.m4.
59
60 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
61
62         raise tests: Avoid a GCC warning.
63         * tests/test-raise.c (handler): Use _Noreturn.
64
65 2011-10-07  Bruno Haible  <bruno@clisp.org>
66
67         Tests for module 'ldexpf'.
68         * modules/ldexpf-tests: New file.
69         * tests/test-ldexpf.c: New file.
70
71         New module 'ldexpf'.
72         * lib/math.in.h (ldexpf): New declaration.
73         * lib/ldexpf.c: New file.
74         * m4/ldexpf.m4: New file.
75         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
76         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
77         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
78         * modules/ldexpf: New file.
79         * tests/test-math-c++.cc: Check the declaration of ldexpf.
80         * doc/posix-functions/ldexpf.texi: Mention the new module.
81
82 2011-10-06  Bruno Haible  <bruno@clisp.org>
83
84         frexpf: Work around problems on IRIX and mingw.
85         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
86         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
87         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
88         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
89         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
90         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
91         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
92
93 2011-10-06  Bruno Haible  <bruno@clisp.org>
94
95         fabsf: Drop assumption about library that defines fabsf.
96         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
97         AC_CHECK_FUNCS.
98         * modules/fabsf (Files): Add m4/mathfunc.m4.
99
100 2011-10-06  Bruno Haible  <bruno@clisp.org>
101
102         frexpf: Drop assumption about library that defines frexpf.
103         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
104         'int *', 'float *', 'long double *', 'float', 'long double'.
105         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
106         AC_CHECK_FUNCS.
107         * modules/frexpf (Files): Add m4/mathfunc.m4.
108
109         Tests for module 'frexpf'.
110         * modules/frexpf-tests: New file.
111         * tests/test-frexpf.c: New file.
112
113         New module 'frexpf'.
114         * lib/math.in.h (frexpf): New declaration.
115         * lib/frexpf.c: New file.
116         * m4/frexpf.m4: New file.
117         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
118         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
119         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
120         * modules/frexpf: New file.
121         * tests/test-math-c++.cc: Check the declaration of frexpf.
122         * doc/posix-functions/frexpf.texi: Mention the new module.
123
124 2011-10-06  Bruno Haible  <bruno@clisp.org>
125
126         math: Sort function declarations of math.in.h.
127         * lib/math.in.h (frexp, logb): Move declarations.
128
129 2011-10-05  Bruno Haible  <bruno@clisp.org>
130
131         Tests for module 'modff'.
132         * modules/modff-tests: New file.
133         * tests/test-modff.c: New file.
134
135         New module 'modff'.
136         * lib/math.in.h (modff): New declaration.
137         * lib/modff.c: New file.
138         * m4/modff.m4: New file.
139         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
140         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
141         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
142         * modules/modff: New file.
143         * tests/test-math-c++.cc: Check the declaration of modff.
144         * doc/posix-functions/modff.texi: Mention the new module.
145
146         modf tests: Make test sharper.
147         * tests/test-modf.c (main): Strengthen upper bound.
148
149         modf: Use a .m4 file.
150         * m4/modf.m4: New file.
151         * modules/modf (Files): Add it.
152         (configure.ac): Just invoke gl_FUNC_MODF.
153
154 2011-10-05  Bruno Haible  <bruno@clisp.org>
155
156         Tests for module 'fmodf'.
157         * modules/fmodf-tests: New file.
158         * tests/test-fmodf.c: New file.
159
160         New module 'fmodf'.
161         * lib/math.in.h (fmodf): New declaration.
162         * lib/fmodf.c: New file.
163         * m4/fmodf.m4: New file.
164         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
165         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
166         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
167         * modules/fmodf: New file.
168         * tests/test-math-c++.cc: Check the declaration of fmodf.
169         * doc/posix-functions/fmodf.texi: Mention the new module.
170
171         fmod: Use a .m4 file.
172         * m4/fmod.m4: New file.
173         * modules/fmod (Files): Add it.
174         (configure.ac): Just invoke gl_FUNC_FMOD.
175
176 2011-10-05  Bruno Haible  <bruno@clisp.org>
177
178         Tests for module 'fabsf'.
179         * modules/fabsf-tests: New file.
180         * tests/test-fabsf.c: New file.
181
182         New module 'fabsf'.
183         * lib/math.in.h (fabsf): New declaration.
184         * lib/fabsf.c: New file.
185         * m4/fabsf.m4: New file.
186         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
187         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
188         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
189         * modules/fabsf: New file.
190         * tests/test-math-c++.cc: Check the declaration of fabsf.
191         * doc/posix-functions/fabsf.texi: Mention the new module.
192
193         fabs: Use a .m4 file.
194         * m4/fabs.m4: New file.
195         * modules/fabs (Files): Add it.
196         (configure.ac): Just invoke gl_FUNC_FABS.
197
198 2011-10-05  Jim Meyering  <meyering@redhat.com>
199
200         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
201         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
202         ls -lL regression introduced in coreutils-8.12, it does so at the
203         cost of an additional stat call in the common case.  Besides, now
204         that the kernel change that prompted commit 95f7c57f has been reverted
205         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
206         we have no use for commit 95f7c57f, "file-has-acl: use
207         acl_extended_file_nofollow if available".
208
209 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
210
211         file-has-acl: revert unintended change in behavior of ls -L
212         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
213         derived from...
214         (file_has_acl): ...code here.  Call it.
215         This problem was introduced with 2011-07-22 commit 95f7c57f,
216         "file-has-acl: use acl_extended_file_nofollow if available".
217         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
218
219 2011-10-03  Bruno Haible  <bruno@clisp.org>
220
221         poll: Avoid link errors on MSVC.
222         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
223         * modules/poll (Depends-on): Add sockets.
224         (Link): New section.
225         * NEWS: Mention the change.
226         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
227         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
228         $(LIB_POLL) instead of $(LIBSOCKET).
229
230 2011-10-03  Bruno Haible  <bruno@clisp.org>
231
232         sys_select tests: Fix link error on MSVC 9.
233         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
234         with $(LIB_SELECT) instead of $(LIBSOCKET).
235
236 2011-10-03  Bruno Haible  <bruno@clisp.org>
237
238         sys_select: Fix compilation error on mingw.
239         * lib/sys_select.in.h: On native Windows, include <io.h>.
240
241 2011-10-03  Bruno Haible  <bruno@clisp.org>
242
243         wmemset: Support for MSVC.
244         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
245         whether wmemset() exists.
246
247 2011-10-03  Bruno Haible  <bruno@clisp.org>
248
249         wmemmove: Support for MSVC.
250         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
251         whether wmemmove() exists.
252
253 2011-10-03  Bruno Haible  <bruno@clisp.org>
254
255         wmemcpy: Support for MSVC.
256         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
257         whether wmemcpy() exists.
258
259 2011-10-03  Bruno Haible  <bruno@clisp.org>
260
261         wmemcmp: Support for MSVC.
262         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
263         whether wmemcmp() exists.
264
265 2011-10-03  Bruno Haible  <bruno@clisp.org>
266
267         wmemchr: Support for MSVC.
268         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
269         whether wmemchr() exists.
270
271 2011-10-03  Bruno Haible  <bruno@clisp.org>
272
273         glthread/*, strsignal: Support for MSVC.
274         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
275         including <winsock.h> on MSVC 9.
276         * lib/glthread/lock.h: Likewise.
277         * lib/glthread/thread.h: Likewise.
278         * lib/glthread/tls.h: Likewise.
279         * lib/glthread/yield.h: Likewise.
280         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
281         if HAVE_UNISTD_H is false.
282         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
283
284 2011-10-03  Bruno Haible  <bruno@clisp.org>
285
286         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
287         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
288         Set to 100000.
289
290 2011-10-03  Bruno Haible  <bruno@clisp.org>
291
292         acl: Fix specification.
293         * lib/file-has-acl.c (file_has_acl): Fix specification.
294
295 2011-10-03  Bruno Haible  <bruno@clisp.org>
296
297         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
298         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
299         (compute_curr_prefix, shared_library_fullname,
300         find_shared_library_fullname, get_shared_library_fullname, relocate):
301         Use it together with PIC && INSTALLDIR.
302         Reported by <jojelino@gmail.com>
303         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
304
305 2011-10-01  Jim Meyering  <meyering@redhat.com>
306
307         maint.mk: adjust a release-related rule not to require use of gzip
308         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
309         Instead, check each file in $(DIST_ARCHIVES).  This is better for
310         projects that build only .tar.xz files.  Also fix an erroneous test.
311
312         test-linkat: don't leave behind a temporary file
313         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
314         Otherwise, coreutils' "make distcheck" would fail with this:
315           Only in /c/cu/tests/torture/coreutils/test/\
316             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
317           make[2]: *** [my-distcheck] Error 1
318
319         float, math: add omitted file
320         * lib/itold.c: Add file, required for yesterday's float change.
321
322 2011-10-01  Bruno Haible  <bruno@clisp.org>
323
324         isinf: Fix for OpenBSD/x86.
325         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
326         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
327         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
328
329 2011-10-01  Bruno Haible  <bruno@clisp.org>
330
331         isfinite: Fix syntax error in configure test.
332         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
333
334         isfinite: Fix typo.
335         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
336         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
337
338 2011-10-01  Bruno Haible  <bruno@clisp.org>
339
340         nonblocking tests: Fix test failure on Linux/IA-64.
341         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
342         Set to 270000.
343
344 2011-10-01  Bruno Haible  <bruno@clisp.org>
345
346         mkfifoat tests: Fix a test failure on mingw.
347         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
348         with error ENOSYS.
349
350 2011-09-30  Bruno Haible  <bruno@clisp.org>
351
352         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
353         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
354         'long double'. Set REPLACE_ITOLD.
355         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
356         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
357         * lib/itold.c: New file.
358         * modules/float (Files): Add lib/itold.c.
359         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
360         (Makefile.am): Substitute REPLACE_ITOLD.
361         * modules/math (Depends-on): Add float.
362         (Makefile.am): Substitute REPLACE_ITOLD.
363         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
364         * doc/posix-headers/math.texi: Likewise.
365         * doc/posix-functions/logl.texi: Likewise.
366
367 2011-09-30  Bruno Haible  <bruno@clisp.org>
368
369         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
370         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
371         Set to 140000.
372
373 2011-09-30  Bruno Haible  <bruno@clisp.org>
374
375         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
376         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
377         invocation, say "right after AC_PROG_CC_STDC", not "right after
378         AC_PROG_CC".
379         Reported by Gary V. Vaughan <gary@gnu.org>.
380
381 2011-09-30  Bruno Haible  <bruno@clisp.org>
382
383         Centralize C99 requirement.
384         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
385         * modules/stdarg (configure.ac-early): Invoke it instead of
386         AC_PROG_CC_STDC.
387         Reported by Gary V. Vaughan and Paul Eggert.
388
389 2011-09-29  Bruno Haible  <bruno@clisp.org>
390
391         float: Fix LDBL_MAX value on Linux/PowerPC.
392         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
393         on Linux/PowerPC.
394         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
395         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
396         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
397         platform.
398         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
399
400 2011-09-29  Bruno Haible  <bruno@clisp.org>
401
402         doc: Improve doc about gl_EARLY.
403         * doc/gnulib-tool.texi (Initial import): Mention where to place an
404         AC_PROG_CC_STDC invocation.
405         Reported by Gary V. Vaughan <gary@gnu.org>.
406
407 2011-09-28  Bruno Haible  <bruno@clisp.org>
408
409         fgetc, fputc, fread, fwrite tests: Fix link error.
410         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
411         on non-MSVC platforms.
412         * tests/test-fputc.c (main): Likewise.
413         * tests/test-fread.c (main): Likewise.
414         * tests/test-fwrite.c (main): Likewise.
415         Reported by Jim Meyering.
416
417 2011-09-27  Bruno Haible  <bruno@clisp.org>
418
419         fputc, fwrite tests: Avoid test failure on MSVC.
420         * tests/test-fgetc.c: Include msvc-inval.h.
421         (main): Invoke gl_msvc_inval_ensure_handler.
422         * tests/test-fputc.c: Include msvc-inval.h.
423         (main): Invoke gl_msvc_inval_ensure_handler.
424         * tests/test-fread.c: Include msvc-inval.h.
425         (main): Invoke gl_msvc_inval_ensure_handler.
426         * tests/test-fwrite.c: Include msvc-inval.h.
427         (main): Invoke gl_msvc_inval_ensure_handler.
428         * modules/fgetc-tests (Depends-on): Add msvc-inval.
429         * modules/fputc-tests (Depends-on): Likewise.
430         * modules/fread-tests (Depends-on): Likewise.
431         * modules/fwrite-tests (Depends-on): Likewise.
432
433 2011-09-27  Bruno Haible  <bruno@clisp.org>
434
435         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
436         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
437         (raise): Remove older, duplicated declaration.
438         (_gl_raise_SIGPIPE): New declaration.
439         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
440         (rpl_raise): Remove function.
441         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
442         a gnulib-defined SIGPIPE here.
443         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
444         'sigprocmask' has detected missing signal-blocking and the module
445         'sigpipe' is enabled.
446         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
447
448 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
449
450         base64-tests: avoid memory leak
451         * tests/test-base64.c (main): Plug memory leak.
452
453         base32: new module
454         * modules/base32: New module.
455         * lib/base32.c: New file.
456         * lib/base32.h: Likewise.
457         * m4/base32.m4: Likewise.
458         * modules/base32-tests: New test.
459         * tests/test-base32.c: Likewise.
460         * MODULES.html.sh (Misc): Mention it.
461
462 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
463
464         gnulib: use more-standard license notice wording
465         * gnulib-tool (func_emit_copyright_notice): When emitting a
466         license notice into a file, use the standard wording as suggested
467         by the current information for GNU maintainers, except say "file"
468         rather than "program".  The new wording gives a license version
469         number, which addresses an issue raised by Glenn Morris in
470         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
471         * m4/onceonly.m4: Use that same wording here, too.
472
473         dup2: minor simplification
474         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
475         as lib/dup2.c no longer uses 'inline'.
476
477 2011-09-25  Bruno Haible  <bruno@clisp.org>
478
479         strings: Fix compilation error on MSVC.
480         * lib/strings.in.h: Include <stddef.h> for size_t.
481
482 2011-09-25  Bruno Haible  <bruno@clisp.org>
483
484         fflush et al.: Document limitation on MSVC.
485         * doc/posix-functions/fflush.texi: Document possible crash in handling
486         mode other than DEFAULT_HANDLING.
487         * doc/posix-functions/fgetc.texi: Likewise.
488         * doc/posix-functions/fputc.texi: Likewise.
489         * doc/posix-functions/fread.texi: Likewise.
490         * doc/posix-functions/fwrite.texi: Likewise.
491
492 2011-09-25  Bruno Haible  <bruno@clisp.org>
493
494         msvc-inval: Allow three invalid parameter handling modes.
495         * lib/msvc-inval.h: Don't include <stdlib.h> here.
496         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
497         macros.
498         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
499         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
500         SANE_LIBRARY_HANDLING as a no-op.
501         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
502         <stdlib.h>.
503         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
504
505 2011-09-25  Bruno Haible  <bruno@clisp.org>
506
507         msvc-inval: Make handler multithread-safe.
508         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
509         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
510         declarations.
511         (gl_msvc_inval_current): New declaration.
512         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
513         Operate on the structure returned by gl_msvc_inval_current().
514         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
515         Remove varaiables.
516         (tls_index, tls_initialized): New variables.
517         (not_per_thread): New variable.
518         (gl_msvc_inval_current): New function.
519         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
520         returned by gl_msvc_inval_current().
521
522 2011-09-25  Bruno Haible  <bruno@clisp.org>
523
524         msvc-inval: Install handler globally.
525         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
526         !_MSC_VER.
527         (gl_msvc_invalid_parameter_handler): Remove declaration.
528         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
529         declarations.
530         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
531         Install the handler globally, don't uninstall it.
532         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
533         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
534         currently valid, call RaiseException instead.
535         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
536         for !_MSC_VER.
537
538 2011-09-25  Bruno Haible  <bruno@clisp.org>
539
540         strerror_r-posix: Fix for MSVC 9.
541         * lib/strerror_r.c (local_snprintf): New function.
542         (snprintf): Define to local_snprintf, not to _snprintf.
543
544 2011-09-25  Bruno Haible  <bruno@clisp.org>
545
546         ftruncate: Support for MSVC 9.
547         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
548         (chsize_nothrow): New function.
549         (chsize): Redefine as a macro.
550         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
551         * modules/ftruncate (Depends-on): Add msvc-inval.
552
553 2011-09-25  Bruno Haible  <bruno@clisp.org>
554
555         New module 'fstat'.
556         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
557         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
558         * lib/fchdir.c (rpl_fstat): Remove function.
559         * m4/fstat.m4: New file.
560         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
561         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
562         declared.
563         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
564         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
565         * modules/fstat: New file.
566         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
567         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
568         is set.
569         * doc/posix-functions/fstat.texi: Mention the new module and the
570         problem on MSVC.
571         * NEWS: Mention the change.
572         * modules/acl (Depends-on): Add fstat.
573         * modules/chdir-safer (Depends-on): Likewise.
574         * modules/chown (Depends-on): Likewise.
575         * modules/copy-file (Depends-on): Likewise.
576         * modules/fchdir (Depends-on): Likewise.
577         * modules/fdopendir (Depends-on): Likewise.
578         * modules/fopen (Depends-on): Likewise.
579         * modules/fts (Depends-on): Likewise.
580         * modules/getcwd (Depends-on): Likewise.
581         * modules/isapipe (Depends-on): Likewise.
582         * modules/linkat (Depends-on): Likewise.
583         * modules/lseek (Depends-on): Likewise.
584         * modules/mkdir-p (Depends-on): Likewise.
585         * modules/open (Depends-on): Likewise.
586         * modules/openat (Depends-on): Likewise.
587         * modules/read-file (Depends-on): Likewise.
588         * modules/renameat (Depends-on): Likewise.
589         * modules/utimens (Depends-on): Likewise.
590
591 2011-09-25  Bruno Haible  <bruno@clisp.org>
592
593         linkat: Fix compilation on MSVC 9.
594         * lib/linkat.c: Don't include <stdint.h>.
595
596 2011-09-25  Bruno Haible  <bruno@clisp.org>
597
598         fclose: Support for MSVC 9.
599         * lib/fclose.c: Include msvc-inval.h.
600         (fclose_nothrow): New function.
601         (rpl_fclose): Use it.
602         * modules/fclose (Depends-on): Add msvc-inval.
603         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
604
605 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
606
607         dup2: minor simplifications
608         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
609         that it's a performance win.
610         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
611         ! defined __CYGWIN__)" to "ifdef F_GETFL".
612
613 2011-09-24  Jim Meyering  <meyering@redhat.com>
614
615         test-futimens: avoid a warning from gcc -Wshadow
616         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
617         to avoid a shadowing warning.
618
619 2011-09-24  Bruno Haible  <bruno@clisp.org>
620
621         fdopen: Support for MSVC 9.
622         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
623         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
624         * lib/fdopen.c: Include msvc-inval.h.
625         (fdopen_nothrow): New function.
626         (rpl_fdopen): Use it.
627         * modules/fdopen (Depends-on): Add msvc-inval.
628         * modules/fclose-tests (Depends-on): Add fdopen.
629         * modules/fflush-tests (Depends-on): Likewise.
630         * modules/fgetc-tests (Depends-on): Likewise.
631         * modules/fputc-tests (Depends-on): Likewise.
632         * modules/fread-tests (Depends-on): Likewise.
633         * modules/freopen-tests (Depends-on): Likewise.
634         * modules/fseeko-tests (Depends-on): Likewise.
635         * modules/ftello-tests (Depends-on): Likewise.
636         * modules/fwrite-tests  (Depends-on): Likewise.
637         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
638
639 2011-09-24  Bruno Haible  <bruno@clisp.org>
640
641         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
642         * modules/fgetc-tests (Depends-on): Add unistd.
643         * modules/fputc-tests (Depends-on): Likewise.
644         * modules/fread-tests (Depends-on): Likewise.
645         * modules/fwrite-tests (Depends-on): Likewise.
646
647 2011-09-24  Bruno Haible  <bruno@clisp.org>
648
649         dup: Simplify autoconf test.
650         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
651         on gl_MSVC_INVAL's result.
652
653 2011-09-24  Bruno Haible  <bruno@clisp.org>
654
655         Tests for function fwrite().
656         * modules/fwrite-tests: New file.
657         * tests/test-fwrite.c: New file.
658         * modules/stdio-tests (Depends-on): Add fwrite-tests.
659
660         Tests for function fread().
661         * modules/fread-tests: New file.
662         * tests/test-fread.c: New file.
663         * modules/stdio-tests (Depends-on): Add fread-tests.
664
665         Activate fputc tests.
666         * modules/stdio-tests (Depends-on): Add fputc-tests.
667
668         Enhance fgetc, fputc tests.
669         * tests/test-fgetc.c (main): Also test the stream's error indicator.
670         * tests/test-fputc.c (main): Likewise.
671
672 2011-09-24  Bruno Haible  <bruno@clisp.org>
673
674         write: Support for MSVC 9.
675         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
676         is not 1.
677         * lib/write.c (write_nothrow): New function.
678         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
679         not 1. Use write_nothrow.
680         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
681         invalid parameter handler.
682         (gl_PREREQ_WRITE): New macro.
683         * modules/write (Depends-on): Add msvc-inval.
684         (configure.ac): Invoke gl_PREREQ_WRITE.
685         * doc/posix-functions/write.texi: Mention the problem on MSVC.
686
687 2011-09-24  Bruno Haible  <bruno@clisp.org>
688
689         read: Fix last commit.
690         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
691
692 2011-09-24  Bruno Haible  <bruno@clisp.org>
693
694         dup2: Fix last commit.
695         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
696         (rpl_dup2): Disable fcntl workaround on native Windows.
697
698         sigprocmask: Make code safer.
699         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
700         section that changes macro definitions for this compilation unit.
701
702 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
703
704         dup2: clarify by coalescing Windows-specific material
705         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
706         "msvc-nothrow.h"' to the Windows-specific section, so that the
707         Emacs source need not contain these include files.
708         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
709         Windows-specific fixes into this function rather than just the
710         nothrow fix, as this shortens and clarifies the code.  Always
711         define as a function, as that's a bit cleaner than having it be
712         sometimes a function and sometimes a macro.
713         (rpl_dup2): Move the Windows-specific stuff out of here and into
714         ms_windows_dup2.  Don't protect the Haiku-related fix with
715         "#if !defined __linux__", as the same code also works around
716         a Linux kernel bug, and it doesn't add any system calls on any
717         platform.  Add comment about FreeBSD 6.1.
718
719         sigprocmask: move #include directive
720         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
721         Windows-specific section, so that the Emacs source need not
722         contain msvc-inval.h.
723
724 2011-09-23  Bruno Haible  <bruno@clisp.org>
725
726         read: Support for MSVC 9.
727         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
728         is not 1.
729         * lib/read.c (read_nothrow): New function.
730         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
731         read_nothrow.
732         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
733         invalid parameter handler.
734         (gl_PREREQ_READ): New macro.
735         * modules/read (Depends-on): Add msvc-inval.
736         (configure.ac): Invoke gl_PREREQ_READ.
737         * doc/posix-functions/read.texi: Mention the problem on MSVC.
738
739 2011-09-23  Bruno Haible  <bruno@clisp.org>
740
741         close: Support for MSVC 9.
742         * lib/close.c: Include <errno.h>, msvc-inval.h.
743         (close_nothrow): New function.
744         (rpl_close): Use it.
745         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
746         invalid parameter handler.
747         * modules/close (Depends-on): Add msvc-inval.
748         * modules/dup2-tests (Depends-on): Add close.
749         * modules/dup3-tests (Depends-on): Likewise.
750         * modules/fcntl-tests (Depends-on): Likewise.
751         * modules/spawn-pipe-tests (Depends-on): Likewise.
752         * modules/unistd-safer-tests (Depends-on): Likewise.
753         * doc/posix-functions/close.texi: Mention the problem on MSVC.
754
755 2011-09-23  Bruno Haible  <bruno@clisp.org>
756
757         New module 'dup'.
758         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
759         Allow replacement.
760         * lib/dup.c: New file.
761         * lib/fchdir.c (rpl_dup): Remove function.
762         * m4/dup.m4: New file.
763         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
764         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
765         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
766         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
767         * modules/dup: New file.
768         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
769         'dup' module is in use.
770         * modules/fdopendir (Depends-on): Add dup.
771         * modules/fdutimensat-tests (Depends-on): Likewise.
772         * modules/fts (Depends-on): Likewise.
773         * modules/futimens-tests (Depends-on): Likewise.
774         * modules/posix_spawnp-tests (Depends-on): Likewise.
775         * modules/unistd-safer-tests (Depends-on): Likewise.
776         * modules/utimens-tests (Depends-on): Likewise.
777         * doc/posix-functions/dup.texi: Mention the new module and the problem
778         on MSVC.
779
780 2011-09-23  Bruno Haible  <bruno@clisp.org>
781
782         getdtablesize: Support for MSVC 9.
783         * lib/getdtablesize.c: Include msvc-inval.h.
784         (_setmaxstdio_nothrow): New function.
785         (_setmaxstdio): Redefine it.
786         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
787         * modules/getdtablesize (Depends-on): Add msvc-inval.
788         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
789
790 2011-09-23  Bruno Haible  <bruno@clisp.org>
791
792         signal-h: Rename from signal.
793         * modules/signal-h: Renamed from modules/signal.
794         * modules/pthread_sigmask (Depends-on): Update.
795         * modules/raise (Depends-on): Likewise.
796         * modules/sigaction (Depends-on): Likewise.
797         * modules/sigpipe (Depends-on): Likewise.
798         * modules/sigprocmask (Depends-on): Likewise.
799         * modules/sys_select (Depends-on): Likewise.
800         * modules/signal-h-tests: Renamed from modules/signal-tests.
801         (Files, Depends-on, Makefile.am): Update.
802         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
803         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
804         (Files, Makefile.am): Update.
805         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
806         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
807         * modules/signal: New placeholder file.
808         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
809         * doc/posix-headers/signal.texi: Update.
810         * NEWS: Mention the change.
811
812 2011-09-23  Bruno Haible  <bruno@clisp.org>
813
814         sigprocmask: Avoid crashes through signal() on MSVC 9.
815         * lib/sigprocmask.c: Include msvc-inval.h.
816         (signal_nothrow): New function.
817         (signal): Redefine it.
818         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
819         * modules/sigprocmask (Depends-on): Add msvc-inval.
820         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
821
822 2011-09-23  Bruno Haible  <bruno@clisp.org>
823
824         Tests for module 'raise'.
825         * modules/raise-tests: New file.
826         * tests/test-raise.c: New file.
827
828         raise: Support for MSVC.
829         * lib/signal.in.h (raise): New declaration.
830         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
831         for native Windows platforms.
832         * m4/raise.m4: New file.
833         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
834         HAVE_RAISE, REPLACE_RAISE.
835         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
836         REPLACE_RAISE.
837         * modules/raise (Status, Notice): Remove fields.
838         (Files): Add m4/raise.m4.
839         (Depends-on): Add signal, msvc-inval.
840         (configure.ac): Use the common idioms.
841         (Maintainer): Add me.
842         * tests/test-signal-c++.cc: Check the signature of raise.
843         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
844
845 2011-09-23  Bruno Haible  <bruno@clisp.org>
846
847         pipe2: Fix compilation on pre-C99 compilers.
848         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
849
850 2011-09-23  Bruno Haible  <bruno@clisp.org>
851
852         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
853         * lib/msvc-nothrow.h: New file.
854         * lib/msvc-nothrow.c: New file.
855         * m4/msvc-nothrow.m4: New file.
856         * modules/msvc-nothrow: New file.
857         * lib/dup2.c: Include msvc-nothrow.h.
858         (rpl_dup2): No need to protect _get_osfhandle call here.
859         * lib/accept4.c: Include msvc-nothrow.h.
860         * lib/error.c: Likewise.
861         * lib/fcntl.c: Likewise.
862         * lib/lseek.c: Likewise.
863         * lib/nonblocking.c: Likewise.
864         * lib/poll.c: Likewise.
865         * lib/read.c: Likewise.
866         * lib/select.c: Likewise.
867         * lib/sockets.h: Likewise.
868         * lib/sockets.c: Likewise.
869         * lib/stdio-read.c: Likewise.
870         * lib/stdio-write.c: Likewise.
871         * lib/write.c: Likewise.
872         * lib/w32sock.h: Likewise.
873         * lib/w32spawn.h: Likewise.
874         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
875         * lib/fsync.c: Likewise.
876         * lib/isapipe.c: Likewise.
877         * modules/dup2 (Depends-on): Add msvc-nothrow.
878         * modules/accept4 (Depends-on): Likewise.
879         * modules/error (Depends-on): Likewise.
880         * modules/fcntl (Depends-on): Likewise.
881         * modules/lseek (Depends-on): Likewise.
882         * modules/nonblocking (Depends-on): Likewise.
883         * modules/poll (Depends-on): Likewise.
884         * modules/read (Depends-on): Likewise.
885         * modules/select (Depends-on): Likewise.
886         * modules/sockets (Depends-on): Likewise.
887         * modules/sigpipe (Depends-on): Likewise.
888         * modules/write (Depends-on): Likewise.
889         * modules/accept (Depends-on): Likewise.
890         * modules/bind (Depends-on): Likewise.
891         * modules/connect (Depends-on): Likewise.
892         * modules/gethostname (Depends-on): Likewise.
893         * modules/getpeername (Depends-on): Likewise.
894         * modules/getsockname (Depends-on): Likewise.
895         * modules/getsockopt (Depends-on): Likewise.
896         * modules/ioctl (Depends-on): Likewise.
897         * modules/listen (Depends-on): Likewise.
898         * modules/recv (Depends-on): Likewise.
899         * modules/recvfrom (Depends-on): Likewise.
900         * modules/send (Depends-on): Likewise.
901         * modules/sendto (Depends-on): Likewise.
902         * modules/setsockopt (Depends-on): Likewise.
903         * modules/shutdown (Depends-on): Likewise.
904         * modules/socket (Depends-on): Likewise.
905         * modules/execute (Depends-on): Likewise.
906         * modules/spawn-pipe (Depends-on): Likewise.
907         * modules/flock (Depends-on): Likewise.
908         * modules/fsync (Depends-on): Likewise.
909         * modules/isapipe (Depends-on): Likewise.
910         * tests/test-cloexec.c: Include msvc-nothrow.h.
911         * tests/test-dup-safer.c: Likewise.
912         * tests/test-dup2.c: Likewise.
913         * tests/test-dup3.c: Likewise.
914         * tests/test-fcntl.c: Likewise.
915         * tests/test-pipe.c: Likewise.
916         * tests/test-pipe2.c: Likewise.
917         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
918         * modules/unistd-safer-tests (Depends-on): Likewise.
919         * modules/dup2-tests (Depends-on): Likewise.
920         * modules/dup3-tests (Depends-on): Likewise.
921         * modules/fcntl-tests (Depends-on): Likewise.
922         * modules/pipe-posix-tests (Depends-on): Likewise.
923         * modules/pipe2-tests (Depends-on): Likewise.
924
925 2011-09-23  Bruno Haible  <bruno@clisp.org>
926
927         dup2: Make code more maintainable.
928         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
929         (rpl_dup2): Use it.
930         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
931         * modules/dup2 (configure.ac): Invoke it.
932         Reported by Paul Eggert.
933
934 2011-09-23  Bruno Haible  <bruno@clisp.org>
935
936         msvc-inval: Fix compilation error.
937         * lib/msvc-inval.h: Include <excpt.h>.
938
939 2011-09-23  Bruno Haible  <bruno@clisp.org>
940
941         mkdir: Tweak for MSVC 9.
942         * lib/sys_stat.in.h: Update comments.
943         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
944
945         Tests for module 'chdir'.
946         * modules/chdir-tests: New file.
947         * tests/test-chdir.c: New file.
948
949         New module 'chdir'.
950         * modules/chdir: New file.
951         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
952         (chdir): New declaration.
953         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
954         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
955         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
956         * tests/test-unistd-c++.cc: Check signature of chdir.
957         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
958         * modules/chdir-long (Depends-on): Add chdir.
959         * modules/fchdir (Depends-on): Likewise.
960         * modules/rename (Depends-on): Likewise.
961         * modules/savewd (Depends-on): Likewise.
962
963         rmdir: Support for mingw, MSVC 9.
964         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
965         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
966
967         getcwd: Tweak for MSVC 9.
968         * lib/unistd.in.h: Update comments.
969         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
970
971 2011-09-22  Bruno Haible  <bruno@clisp.org>
972
973         strerror_r-posix: Avoid a link error on MSVC.
974         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
975         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
976
977 2011-09-22  Bruno Haible  <bruno@clisp.org>
978
979         select: Avoid link errors on MSVC.
980         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
981         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
982         * modules/pselect (Link): Likewise.
983         * NEWS: Mention the change.
984         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
985         test-select-stdin against $(LIB_SELECT).
986         * modules/pselect-tests (Makefile.am): Link test-pselect against
987         $(LIB_SELECT).
988
989 2011-09-22  Bruno Haible  <bruno@clisp.org>
990
991         select: Avoid compilation error on MSVC.
992         * lib/select.c: Don't include <stdbool.h>.
993
994 2011-09-21  Bruno Haible  <bruno@clisp.org>
995
996         Consolidate all uses of PATH_MAX in *.m4 files.
997         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
998         macros.
999         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
1000         and gl_PATHMAX_SNIPPET.
1001         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
1002         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
1003         * modules/chdir-long (Files): Add m4/pathmax.m4.
1004         * modules/getcwd (Files): Likewise.
1005
1006 2011-09-21  Bruno Haible  <bruno@clisp.org>
1007
1008         ftruncate: Un-deprecate, concentrate on Win32 support.
1009         * modules/ftruncate (Status, Notice): Remove sections.
1010         (Depends-on): Add largefile.
1011         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
1012         non-mingw platforms.
1013         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
1014         include <io.h>.
1015         * modules/perror-tests (Depends-on): Add ftruncate.
1016         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
1017         'ftruncate' module.
1018
1019 2011-09-21  Bruno Haible  <bruno@clisp.org>
1020
1021         Add dependencies to new dirent related modules.
1022         * modules/opendir (Depends-on): Add closedir.
1023         * modules/getcwd (Depends-on): Add opendir, closedir.
1024         * modules/dirent-safer-tests (Depends-on): Likewise.
1025         * modules/fdopendir-tests (Depends-on): Likewise.
1026         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
1027         * modules/renameat-tests (Depends-on): Likewise.
1028
1029 2011-09-21  Bruno Haible  <bruno@clisp.org>
1030
1031         opendir: Avoid compilation error on mingw.
1032         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
1033         * modules/opendir (Depends-on): Add unistd.
1034
1035 2011-09-21  Bruno Haible  <bruno@clisp.org>
1036
1037         ftruncate tests: Avoid a test failure on mingw.
1038         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
1039
1040 2011-09-21  Bruno Haible  <bruno@clisp.org>
1041
1042         select tests: Avoid test failures on OSF/1 5.1 and mingw.
1043         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
1044         native Windows.
1045
1046 2011-09-21  Bruno Haible  <bruno@clisp.org>
1047
1048         New module 'fdopen'.
1049         * lib/stdio.in.h (fdopen): New declaration.
1050         * lib/fdopen.c: New file.
1051         * m4/fdopen.m4: New file.
1052         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
1053         REPLACE_FDOPEN.
1054         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
1055         REPLACE_FDOPEN.
1056         * modules/fdopen: New file.
1057         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
1058         * tests/test-stdio-c++.cc: Check signature of fdopen.
1059         * doc/posix-functions/fdopen.texi: Mention the new module.
1060
1061 2011-09-21  Bruno Haible  <bruno@clisp.org>
1062
1063         unlockpt tests: Avoid test failure on NetBSD 5.1.
1064         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
1065         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
1066
1067 2011-09-21  Bruno Haible  <bruno@clisp.org>
1068
1069         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
1070         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
1071         * tests/test-getlogin_r.c (main): Likewise.
1072
1073 2011-09-20  Bruno Haible  <bruno@clisp.org>
1074
1075         time tests: Don't require pid_t.
1076         * doc/posix-headers/time.texi: Revert last change.
1077         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
1078         * tests/test-time.c: Comment out the check for pid_t.
1079
1080 2011-09-20  Bruno Haible  <bruno@clisp.org>
1081
1082         fsync tests: Avoid a test failure on mingw.
1083         * tests/test-fsync.c (main): Allow a failure with EIO.
1084
1085 2011-09-20  Bruno Haible  <bruno@clisp.org>
1086
1087         euidaccess: Update comments.
1088         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
1089
1090 2011-09-20  Bruno Haible  <bruno@clisp.org>
1091
1092         Ensure EBADF returns for socket functions on mingw.
1093         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
1094         descriptor is invalid.
1095         * lib/bind.c (rpl_bind): Likewise.
1096         * lib/connect.c (rpl_connect): Likewise.
1097         * lib/getpeername.c (rpl_getpeername): Likewise.
1098         * lib/getsockname.c (rpl_getsockname): Likewise.
1099         * lib/getsockopt.c (rpl_getsockopt): Likewise.
1100         * lib/listen.c (rpl_listen): Likewise.
1101         * lib/recv.c (rpl_recv): Likewise.
1102         * lib/recvfrom.c (rpl_recvfrom): Likewise.
1103         * lib/send.c (rpl_send): Likewise.
1104         * lib/sendto.c (rpl_sendto): Likewise.
1105         * lib/setsockopt.c (rpl_setsockopt): Likewise.
1106         * lib/shutdown.c (rpl_shutdown): Likewise.
1107
1108 2011-09-20  Bruno Haible  <bruno@clisp.org>
1109
1110         select tests: EBADF tests.
1111         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
1112         test_bad_fd): New functions.
1113         (test_function): Invoke also test_bad_fd.
1114
1115 2011-09-20  Bruno Haible  <bruno@clisp.org>
1116
1117         Tests for module 'posix_spawn_file_actions_addopen.
1118         * modules/posix_spawn_file_actions_addopen-tests: New file.
1119         * tests/test-posix_spawn_file_actions_addopen.c: New file.
1120
1121         Tests for module 'posix_spawn_file_actions_adddup2'.
1122         * modules/posix_spawn_file_actions_adddup2-tests: New file.
1123         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
1124
1125         Tests for module 'posix_spawn_file_actions_addclose'.
1126         * modules/posix_spawn_file_actions_addclose-tests: New file.
1127         * tests/test-posix_spawn_file_actions_addclose.c: New file.
1128
1129 2011-09-20  Bruno Haible  <bruno@clisp.org>
1130
1131         Tests for module 'unlockpt'.
1132         * modules/unlockpt-tests: New file.
1133         * tests/test-unlockpt.c: New file.
1134         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
1135
1136         Tests for module 'grantpt'.
1137         * modules/grantpt-tests: New file.
1138         * tests/test-grantpt.c: New file.
1139         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
1140
1141 2011-09-20  Bruno Haible  <bruno@clisp.org>
1142
1143         freopen tests: EBADF tests.
1144         * tests/test-freopen.c: Include errno.h, unistd.h.
1145         (main): Add tests for EBADF, commented out for the moment.
1146
1147         fclose tests: EBADF tests.
1148         * tests/test-fclose.c (main): Add tests for EBADF.
1149
1150         fflush tests: EBADF tests.
1151         * tests/test-fflush.c: Include errno.h, macros.h.
1152         (main): Add tests for EBADF.
1153
1154         ftello tests: EBADF tests.
1155         * tests/test-ftello4.sh: New file.
1156         * tests/test-ftello4.c: New file.
1157         * modules/ftello-tests (Files): Add them.
1158         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
1159
1160         fseeko tests: EBADF tests.
1161         * tests/test-fseeko4.sh: New file.
1162         * tests/test-fseeko4.c: New file.
1163         * modules/fseeko-tests (Files): Add them.
1164         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
1165
1166         Tests for function fputc().
1167         * modules/fputc-tests: New file.
1168         * tests/test-fputc.c: New file.
1169         * modules/stdio-tests (Depends-on): Add fputc-tests.
1170
1171         Tests for function fgetc().
1172         * modules/fgetc-tests: New file.
1173         * tests/test-fgetc.c: New file.
1174         * modules/stdio-tests (Depends-on): Add fgetc-tests.
1175
1176         Tests for function fdopen().
1177         * modules/fdopen-tests: New file.
1178         * tests/test-fdopen.c: New file.
1179         * modules/stdio-tests (Depends-on): Add fdopen-tests.
1180
1181         Tests for module 'vdprintf'.
1182         * modules/vdprintf-tests: New file.
1183         * tests/test-vdprintf.c: New file.
1184
1185         Tests for module 'dprintf'.
1186         * modules/dprintf-tests: New file.
1187         * tests/test-dprintf.c: New file.
1188
1189 2011-09-20  Bruno Haible  <bruno@clisp.org>
1190
1191         Tests for module 'ioctl'.
1192         * modules/ioctl-tests: New file.
1193         * tests/test-ioctl.c: New file.
1194
1195 2011-09-20  Bruno Haible  <bruno@clisp.org>
1196
1197         fcntl tests: EBADF tests.
1198         * tests/test-fcntl.c (main): Add more tests for EBADF.
1199
1200 2011-09-20  Bruno Haible  <bruno@clisp.org>
1201
1202         utimensat tests: EBADF tests.
1203         * tests/test-utimensat.c (main): Add tests for EBADF.
1204
1205         renameat tests: EBADF tests.
1206         * tests/test-renameat.c (main): Add tests for EBADF.
1207
1208         mkfifoat tests: EBADF tests.
1209         * tests/test-mkfifoat.c (main): Add tests for EBADF.
1210
1211         readlinkat tests: EBADF tests.
1212         * tests/test-readlinkat.c (main): Add tests for EBADF.
1213
1214         symlinkat tests: EBADF tests.
1215         * tests/test-symlinkat.c (main): Add tests for EBADF.
1216
1217         linkat tests: EBADF tests.
1218         * tests/test-linkat.c (main): Add tests for EBADF.
1219
1220         Tests for module 'faccessat'.
1221         * modules/faccessat-tests: New file.
1222         * tests/test-faccessat.c: New file.
1223
1224         fdopendir tests: EBADF tests.
1225         * tests/test-fdopendir.c (main): Add more tests for EBADF.
1226
1227         openat tests: EBADF tests.
1228         * tests/test-fchownat.c (main): Add tests for EBADF.
1229         * tests/test-fstatat.c (main): Likewise.
1230         * tests/test-mkdirat.c (main): Likewise.
1231         * tests/test-openat.c (main): Likewise.
1232         * tests/test-unlinkat.c (main): Likewise.
1233         * tests/test-fchmodat.c: New file.
1234         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
1235         (Makefile.am): Also run 'test-fchmodat'.
1236
1237 2011-09-20  Bruno Haible  <bruno@clisp.org>
1238
1239         utimens, futimens, fdutimensat tests: EBADF tests.
1240         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
1241
1242         Tests for function fstat().
1243         * modules/fstat-tests: New file.
1244         * tests/test-fstat.c: New file.
1245         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
1246
1247 2011-09-20  Bruno Haible  <bruno@clisp.org>
1248
1249         test-ttyname_r tests: EBADF tests.
1250         * tests/test-ttyname_r.c (main): Add tests for EBADF.
1251
1252         Tests for module 'isatty'.
1253         * modules/isatty-tests: New file.
1254         * tests/test-isatty.c: New file.
1255
1256         Tests for module 'write'.
1257         * modules/write-tests: New file.
1258         * tests/test-write.c: New file.
1259
1260         Tests for module 'read'.
1261         * modules/read-tests: New file.
1262         * tests/test-read.c: New file.
1263
1264         pwrite tests: EBADF tests.
1265         * tests/test-pwrite.c (main): Add tests for EBADF.
1266
1267         pread tests: EBADF tests.
1268         * tests/test-pread.c (main): Add tests for EBADF.
1269
1270         lseek tests: EBADF tests.
1271         * tests/test-lseek.c (main): Add more tests for EBADF.
1272
1273         Tests for module 'ftruncate'.
1274         * modules/ftruncate-tests: New file.
1275         * tests/test-ftruncate.sh: New file.
1276         * tests/test-ftruncate.c: New file.
1277
1278         fsync tests: EBADF tests.
1279         * tests/test-fsync.c (main): Add more tests for EBADF.
1280
1281         fdatasync tests: EBADF tests.
1282         * tests/test-fdatasync.c (main): Add more tests for EBADF.
1283
1284         Tests for module 'fchown'.
1285         * modules/fchown-tests: New file.
1286         * tests/test-fchown.c: New file.
1287
1288         Tests for module 'fchmod'.
1289         * modules/fchmod-tests: New file.
1290         * tests/test-fchmod.c: New file.
1291
1292         fchdir tests: EBADF tests.
1293         * tests/test-fchdir.c (main): Add more tests for EBADF.
1294
1295         dup2 tests: EBADF tests.
1296         * tests/test-dup2.c (main): Add more tests for EBADF.
1297
1298         Tests for module 'dup'.
1299         * modules/dup-tests: New file.
1300         * tests/test-dup.c: New file.
1301
1302         Tests for module 'close'.
1303         * modules/close-tests: New file.
1304         * tests/test-close.c: New file.
1305
1306 2011-09-20  Bruno Haible  <bruno@clisp.org>
1307
1308         Tests for module 'shutdown'.
1309         * modules/shutdown-tests: New file.
1310         * tests/test-shutdown.c: New file.
1311
1312         Tests for module 'setsockopt'.
1313         * modules/setsockopt-tests: New file.
1314         * tests/test-setsockopt.c: New file.
1315
1316         Tests for module 'sendto'.
1317         * modules/sendto-tests: New file.
1318         * tests/test-sendto.c: New file.
1319
1320         Tests for module 'send'.
1321         * modules/send-tests: New file.
1322         * tests/test-send.c: New file.
1323
1324         Tests for module 'recvfrom'.
1325         * modules/recvfrom-tests: New file.
1326         * tests/test-recvfrom.c: New file.
1327
1328         Tests for module 'recv'.
1329         * modules/recv-tests: New file.
1330         * tests/test-recv.c: New file.
1331
1332         Tests for module 'listen'.
1333         * modules/listen-tests: New file.
1334         * tests/test-listen.c: New file.
1335
1336         Tests for module 'getsockopt'.
1337         * modules/getsockopt-tests: New file.
1338         * tests/test-getsockopt.c: New file.
1339
1340         Tests for module 'getsockname'.
1341         * modules/getsockname-tests: New file.
1342         * tests/test-getsockname.c: New file.
1343
1344         Tests for module 'getpeername'.
1345         * modules/getpeername-tests: New file.
1346         * tests/test-getpeername.c: New file.
1347
1348         Tests for module 'connect'.
1349         * modules/connect-tests: New file.
1350         * tests/test-connect.c: New file.
1351
1352         Tests for module 'bind'.
1353         * modules/bind-tests: New file.
1354         * tests/test-bind.c: New file.
1355
1356         accept4 tests: Fix for native Windows.
1357         * tests/test-accept4.c: Include sockets.h.
1358         (main): Invoke gl_sockets_startup.
1359         * modules/accept4-tests (Depends-on): Add sockets.
1360
1361         accept tests: Fix for native Windows.
1362         * tests/test-accept.c: Include sockets.h.
1363         (main): Invoke gl_sockets_startup.
1364         * modules/accept-tests (Depends-on): Add sockets.
1365
1366 2011-09-19  Bruno Haible  <bruno@clisp.org>
1367
1368         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
1369         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
1370         do...while(0).
1371         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
1372         Suggested by Paul Eggert.
1373
1374 2011-09-19  Bruno Haible  <bruno@clisp.org>
1375
1376         sched: Ensure pid_t is defined.
1377         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
1378         not define pid_t.
1379         * lib/sched.in.h: Include <sys/types.h>.
1380         * doc/posix-headers/sched.texi: Mention the pid_t problem.
1381         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1382
1383 2011-09-19  Bruno Haible  <bruno@clisp.org>
1384
1385         msvc-inval: Ensure the entire expansion is a single statement.
1386         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
1387         of braces.
1388
1389 2011-09-19  Jim Meyering  <meyering@redhat.com>
1390
1391         tests: use printf, not echo in init.sh's warn_ function
1392         * tests/init.sh (warn_): Use printf, not echo.  The latter would
1393         misbehave when given strings containing a backslash or starting
1394         with e.g., -n.  James Youngman suggested setting IFS.
1395
1396 2011-09-19  Eric Blake  <eblake@redhat.com>
1397
1398         futimens: enhance test
1399         * tests/test-futimens.h (test_futimens): Also check for EBADF on
1400         closed non-negative fd.
1401
1402         date: accept 'hence' as opposite of 'ago'
1403         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
1404         * tests/test-parse-datetime.c (main): Enhance test.
1405         Suggested by Jesse Wilson.
1406
1407 2011-09-19  Jim Meyering  <meyering@redhat.com>
1408
1409         getcwd: don't fail in a deep directory on a system without openat
1410         Before this change, getcwd would fail when called from a directory
1411         of depth PATH_MAX / 3 or greater.  That was due to the fact that
1412         the non-openat implementation used "..", "../..", "../../..", etc.
1413         to access ancestor directories.  With too many, that string would
1414         be longer than PATH_MAX.
1415         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
1416         using gnulib's openat replacement.
1417         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
1418         we're using the replacement function.
1419
1420 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
1421
1422         maint.mk: avoid warnings from perl about missing files
1423         * top/maint.mk (def_sym_regex): Ignore files listed in
1424         $(gl_other_headers_) that do not exist, say because a project
1425         does not use a corresponding module.
1426
1427 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
1428
1429         stat: use pathmax.h only if needed
1430         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
1431         This is better for Emacs, which does not have a mingw port and
1432         therefore can avoid the pathmax module.
1433
1434         utimens: remove dependency on dup2
1435         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
1436         to work around the Linux kernel bug.
1437         * modules/utimens (Depends-on): Remove dup2.
1438
1439 2011-09-18  Bruno Haible  <bruno@clisp.org>
1440
1441         inet_ntop, inet_pton: Look for it also in libresolv.
1442         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
1443         libnsl, search for it in libresolv.
1444         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
1445         Needed on Solaris 7.
1446
1447 2011-09-18  Bruno Haible  <bruno@clisp.org>
1448
1449         accept, accept4 tests: Avoid link error on Solaris.
1450         * modules/accept-tests (Makefile.am): Link test-accept against
1451         $(LIBSOCKET).
1452         * modules/accept4-tests (Makefile.am): Link test-accept4 against
1453         $(LIBSOCKET).
1454
1455         accept4: Avoid link error on Solaris.
1456         * modules/accept4 (Link): New section.
1457
1458         socket functions: Avoid link errors on Solaris.
1459         * modules/accept (Depends-on): Add socketlib.
1460         (Link): New section.
1461         * modules/bind (Depends-on): Add socketlib.
1462         (Link): New section.
1463         * modules/connect (Depends-on): Add socketlib.
1464         (Link): New section.
1465         * modules/getpeername (Depends-on): Add socketlib.
1466         (Link): New section.
1467         * modules/getsockname (Depends-on): Add socketlib.
1468         (Link): New section.
1469         * modules/getsockopt (Depends-on): Add socketlib.
1470         (Link): New section.
1471         * modules/listen (Depends-on): Add socketlib.
1472         (Link): New section.
1473         * modules/recv (Depends-on): Add socketlib.
1474         (Link): New section.
1475         * modules/recvfrom (Depends-on): Add socketlib.
1476         (Link): New section.
1477         * modules/send (Depends-on): Add socketlib.
1478         (Link): New section.
1479         * modules/sendto (Depends-on): Add socketlib.
1480         (Link): New section.
1481         * modules/setsockopt (Depends-on): Add socketlib.
1482         (Link): New section.
1483         * modules/shutdown (Depends-on): Add socketlib.
1484         (Link): New section.
1485         * modules/socket (Depends-on): Add socketlib.
1486         (Link): New section.
1487
1488 2011-09-18  Bruno Haible  <bruno@clisp.org>
1489
1490         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
1491         * tests/test-ptsname.c (main): Terminate the test if it takes longer
1492         than 5 seconds.
1493         * modules/ptsname-tests (configure.ac): Test for alarm.
1494
1495 2011-09-18  Bruno Haible  <bruno@clisp.org>
1496
1497         posix_spawn_file_actions_add*: Fix module dependencies.
1498         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
1499         posix_spawn_file_actions_init.
1500         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
1501         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
1502
1503 2011-09-18  Bruno Haible  <bruno@clisp.org>
1504
1505         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
1506         * tests/test-rename.h (test_rename): Allow error code EEXIST.
1507         * tests/test-renameat.c (main): Likewise.
1508
1509 2011-09-18  Bruno Haible  <bruno@clisp.org>
1510
1511         Tests for module 'accept4'.
1512         * modules/accept4-tests: New file.
1513         * tests/test-accept4.c: New file.
1514
1515 2011-09-18  Bruno Haible  <bruno@clisp.org>
1516
1517         Tests for module 'accept'.
1518         * modules/accept-tests: New file.
1519         * tests/test-accept.c: New file.
1520
1521 2011-09-18  Bruno Haible  <bruno@clisp.org>
1522
1523         dup2: Support for MSVC.
1524         * lib/dup2.c: Include msvc-inval.h.
1525         (rpl_dup2): Handle invalid parameter notifications during dup2 and
1526         _get_osfhandle calls.
1527         * modules/dup2 (Depends-on): Add msvc-inval.
1528         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
1529
1530         New module 'msvc-inval'.
1531         * lib/msvc-inval.h: New file.
1532         * lib/msvc-inval.c: New file.
1533         * m4/msvc-inval.m4: New file.
1534         * modules/msvc-inval: New file.
1535
1536 2011-09-17  Bruno Haible  <bruno@clisp.org>
1537
1538         Tests for module 'pclose'.
1539         * modules/pclose-tests: New file.
1540
1541         New module 'pclose'.
1542         * lib/stdio.in.h (pclose): New declaration.
1543         * lib/pclose.c: New file.
1544         * m4/pclose.m4: New file.
1545         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
1546         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
1547         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
1548         * modules/pclose: New file.
1549         * modules/popen-tests (Depends-on): Add pclose.
1550         * modules/popen-safer-tests (Depends-on): Likewise.
1551         * doc/posix-functions/pclose.texi: Mention the new module.
1552
1553 2011-09-17  Bruno Haible  <bruno@clisp.org>
1554
1555         popen: Support for MSVC.
1556         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
1557         * lib/popen.c (popen): Provide alternate definition for native Windows.
1558         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
1559         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
1560         * modules/popen (Depends-on, configure.ac): Update condition.
1561         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
1562         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
1563         fixed.
1564
1565 2011-09-17  Bruno Haible  <bruno@clisp.org>
1566
1567         isnanl, isnand, isnanf: Work around MSVC bug.
1568         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
1569
1570 2011-09-17  Bruno Haible  <bruno@clisp.org>
1571
1572         sys_socket tests: Fix recent mistake.
1573         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
1574
1575 2011-09-17  Bruno Haible  <bruno@clisp.org>
1576
1577         putenv: Support for MSVC.
1578         * modules/putenv (Depends-on): Add environ.
1579         * lib/putenv.c (environ): Disable declaration.
1580         * lib/unistd.in.h: Update comment.
1581
1582 2011-09-17  Bruno Haible  <bruno@clisp.org>
1583
1584         math: Avoid macro redefinition warnings on MSVC.
1585         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
1586         Undefine before redefining.
1587
1588 2011-09-17  Bruno Haible  <bruno@clisp.org>
1589
1590         doc: Mention functions which are declared as macros.
1591         * doc/posix-functions/*[fl].texi: Mention that some functions are
1592         defined as macros with arguments only.
1593
1594 2011-09-17  Bruno Haible  <bruno@clisp.org>
1595
1596         Add dependencies to new dirent related modules.
1597         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
1598         * modules/fts (Depends-on): Likewise.
1599         * modules/glob (Depends-on): Likewise.
1600         * modules/savedir (Depends-on): Likewise.
1601         * modules/scandir (Depends-on): Likewise.
1602         * modules/dirent-safer (Depends-on): Add opendir, closedir.
1603         * modules/fdopendir (Depends-on): Add opendir.
1604
1605 2011-09-17  Bruno Haible  <bruno@clisp.org>
1606
1607         inet_pton: Support for MSVC on Windows Vista or newer.
1608         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
1609         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
1610         HAVE_DECL_INET_PTON is defined.
1611         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
1612         On platforms with <winsock2.h>, test whether inet_pton is declared in
1613         <ws2tcpip.h>. If so, arrange to replace it.
1614         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
1615         REPLACE_INET_PTON.
1616         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
1617         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
1618         (Depends-on, configure.ac): Update condition.
1619         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
1620
1621 2011-09-17  Bruno Haible  <bruno@clisp.org>
1622
1623         inet_ntop: Support for MSVC on Windows Vista or newer.
1624         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
1625         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
1626         HAVE_DECL_INET_NTOP is defined.
1627         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
1628         On platforms with <winsock2.h>, test whether inet_ntop is declared in
1629         <ws2tcpip.h>. If so, arrange to replace it.
1630         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
1631         REPLACE_INET_NTOP.
1632         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
1633         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
1634         (Depends-on, configure.ac): Update condition.
1635         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
1636
1637 2011-09-16  Eric Blake  <eblake@redhat.com>
1638
1639         test-fsync: yet another enhancement
1640         * tests/test-fsync.c (main): Also test behavior on read-only text
1641         file.
1642
1643 2011-09-16  Bruno Haible  <bruno@clisp.org>
1644
1645         Enhance fsync, fdatasync tests.
1646         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
1647         * tests/test-fdatasync.c (main): Likewise.
1648
1649 2011-09-16  Bruno Haible  <bruno@clisp.org>
1650
1651         Support for MSVC compiler: Ensure mode_t gets defined.
1652         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
1653         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
1654         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
1655         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
1656         * tests/test-fcntl-h.c: Check that mode_t is defined.
1657         * tests/test-sys_stat.c: Likewise.
1658         * tests/test-sys_types.c: Likewise.
1659         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
1660         * doc/posix-headers/sys_stat.texi: Likewise.
1661         * doc/posix-headers/sys_types.texi: Likewise.
1662
1663 2011-09-16  Bruno Haible  <bruno@clisp.org>
1664
1665         sys_stat: Support for MSVC.
1666         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
1667         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
1668         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
1669         MSVC.
1670
1671 2011-09-16  Bruno Haible  <bruno@clisp.org>
1672
1673         Support for MSVC compiler: Ensure off_t gets defined.
1674         * lib/unistd.in.h: Include <sys/types.h>.
1675         * tests/test-fcntl-h.c: Check that off_t is defined.
1676         * tests/test-sys_stat.c: Likewise.
1677         * tests/test-sys_types.c: Likewise.
1678
1679 2011-09-16  Eric Blake  <eblake@redhat.com>
1680
1681         fdatasync: port to Solaris
1682         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
1683         * modules/fdatasync (Link): Document it.
1684         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
1685
1686         fdatasync: port to MacOS X 10.7
1687         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
1688         declared.
1689         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
1690         * modules/unistd (Makefile.am): Substitute it.
1691         * lib/unistd.in.h (fdatasync): Declare on MacOS.
1692         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
1693
1694         fdatasync: minor improvements
1695         * modules/fdatasync (Depends-on): Add condition for fsync.
1696         * lib/fdatasync.c (fdatasync): Add comment.
1697         * tests/test-unistd-c++.cc: Test fdatasync.
1698
1699         unistd: update refs to newer POSIX
1700         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
1701         Suggested by Bruno Haible.
1702
1703         fdatasync: new module
1704         * modules/fsync (Description): Document difference to fdatasync.
1705         * modules/fdatasync: New module.
1706         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
1707         * lib/fdatasync.c (fdatasync): Likewise.
1708         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
1709         defaults.
1710         * modules/unistd (Makefile.am): Set witnesses.
1711         * lib/unistd.in.h (fdatasync): Declare.
1712         * MODULES.html.sh: Document it.
1713         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
1714         * modules/fdatasync-tests: New test.
1715         * tests/test-fdatasync.c: Likewise.
1716
1717 2011-09-16  Eric Blake  <eblake@redhat.com>
1718
1719         test-fsync: enhance tests
1720         * modules/fsync-tests (Depends-on): Add errno, for mingw.
1721         * tests/test-fsync.c (main): Enhance test.
1722
1723 2011-09-15  Bruno Haible  <bruno@clisp.org>
1724
1725         Support for MSVC compiler: Ensure ssize_t gets defined.
1726         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
1727         * doc/posix-headers/stdio.texi: Likewise.
1728         * modules/stdio (Depends-on): Add ssize_t.
1729         * modules/sys_socket (Depends-on): Likewise.
1730         * modules/sys_types (Depends-on): Likewise.
1731         * modules/sys_uio (Depends-on): Likewise.
1732         * modules/unistd (Depends-on): Likewise.
1733         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
1734         * tests/test-sys_types.c: Check that ssize_t is defined.
1735
1736 2011-09-14  Bruno Haible  <bruno@clisp.org>
1737
1738         Avoid using #, the m4 comment starter character, near brackets.
1739         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
1740         delimiter character in sed expressions.
1741         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
1742         Suggested by Eric Blake.
1743
1744         Properly quote AC_CHECK_DECLS' 4th argument.
1745         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
1746         argument.
1747         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
1748         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
1749         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
1750         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
1751         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
1752         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
1753         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
1754         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
1755         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
1756         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
1757         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
1758         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
1759         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
1760         * m4/isinf.m4 (gl_ISINF): Likewise.
1761         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
1762         * m4/readutmp.m4 (gl_READUTMP): Likewise.
1763         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
1764         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
1765         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1766         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
1767         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
1768         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
1769         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
1770         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
1771         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
1772         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
1773         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
1774         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
1775         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1776         Reported by Eric Blake.
1777
1778         Properly quote AC_CHECK_DECL's 4th argument.
1779         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
1780         argument.
1781         * m4/argp.m4 (gl_ARGP): Likewise.
1782         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
1783         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
1784         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
1785         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
1786         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
1787         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
1788         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
1789         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
1790         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
1791         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
1792         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
1793         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
1794         Reported by Eric Blake.
1795
1796 2011-09-14  Eric Blake  <eblake@redhat.com>
1797
1798         opendir: avoid compile warning
1799         * lib/opendir.c (includes): Always include errno.h.
1800         Reported by Tatsuro MATSUOKA.
1801
1802 2011-09-14  Jim Meyering  <meyering@redhat.com>
1803
1804         maint.mk: sc_tight_scope: propagate failure from sub-make
1805         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
1806         Reported by Martin von Gagern.
1807
1808 2011-09-13  Bruno Haible  <bruno@clisp.org>
1809
1810         tempname: Support for MSVC.
1811         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
1812         MSVC.
1813         * modules/tempname (Depends-on): Add fcntl-h.
1814
1815 2011-09-13  Bruno Haible  <bruno@clisp.org>
1816
1817         sys_time: Support for MSVC.
1818         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
1819         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
1820         include <winsock2.h>.
1821         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
1822         function declarations that collide with POSIX.
1823         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
1824         (Makefile.am): Substitute HAVE_WINSOCK2_H.
1825
1826 2011-09-13  Bruno Haible  <bruno@clisp.org>
1827
1828         stat: Support for MSVC.
1829         * lib/stat.c: Include pathmax.h.
1830         * modules/stat (Depends-on): Add pathmax.
1831
1832         pathmax: Support for native Windows.
1833         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
1834
1835 2011-09-12  Bruno Haible  <bruno@clisp.org>
1836
1837         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
1838         * lib/dirent.in.h (struct dirent): New type.
1839         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
1840         DT_WHT): New macros.
1841         (DIR): New type.
1842         (opendir, closedir): Declare only if the module 'opendir' is enabled.
1843         (readdir, rewinddir): New declarations.
1844         * lib/dirent-private.h: New file.
1845         * lib/opendir.c: New file.
1846         * lib/readdir.c: New file.
1847         * lib/rewinddir.c: New file.
1848         * lib/closedir.c: New file.
1849         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
1850         * m4/opendir.m4: New file.
1851         * m4/readdir.m4: New file.
1852         * m4/rewinddir.m4: New file.
1853         * m4/closedir.m4: New file.
1854         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
1855         REPLACE_CLOSEDIR here.
1856         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
1857         readdir, rewinddir are declared.
1858         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
1859         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
1860         HAVE_REWINDDIR, HAVE_CLOSEDIR.
1861         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
1862         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
1863         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
1864         * modules/opendir: New file.
1865         * modules/readdir: New file.
1866         * modules/rewinddir: New file.
1867         * modules/closedir: New file.
1868         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
1869         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
1870         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
1871         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
1872         * NEWS: Mention the 'fchdir' change.
1873
1874 2011-09-11  Bruno Haible  <bruno@clisp.org>
1875
1876         asm-underscore.m4: Support for MSVC.
1877         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
1878         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
1879
1880 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
1881
1882         Doc about crypt functions.
1883         * doc/posix-functions/crypt.texi: Expand range of glibc versions
1884         needing for _GNU_SOURCE to get crypt.
1885         * doc/posix-functions/encrypt.texi: Likewise.
1886         * doc/posix-functions/setkey.texi: Likewise.
1887
1888 2011-09-11  Bruno Haible  <bruno@clisp.org>
1889
1890         doc: Update regarding MSVC 9.
1891         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
1892         tested".
1893         * doc/posix-functions/*.texi: Update with info about MSVC 9.
1894         * doc/posix-headers/*.texi: Likewise.
1895         * doc/pastposix-functions/*.texi: Likewise.
1896         * doc/glibc-functions/*.texi: Likewise.
1897         * doc/glibc-headers/*.texi: Likewise.
1898
1899 2011-09-11  Bruno Haible  <bruno@clisp.org>
1900
1901         unistd et al.: Don't assume <unistd.h> exists.
1902         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
1903         does not exist.
1904         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
1905         exist. But include <stdlib.h>.
1906         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
1907         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
1908         symlink() does not exist.
1909         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
1910         include <io.h> instead.
1911         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
1912         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
1913         include <direct.h> instead.
1914         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
1915         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
1916         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
1917         <io.h> instead.
1918         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
1919         correctly if the system does not have hard links.
1920         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
1921         <direct.h> instead.
1922         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
1923         it when looking for function declarations.
1924         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
1925         <direct.h> and <io.h> instead.
1926         * doc/posix-headers/unistd.texi: More details about MSVC problem.
1927
1928 2011-09-11  Bruno Haible  <bruno@clisp.org>
1929
1930         strcase: Support for MSVC.
1931         * modules/strcase (Status, Notice): Remove obsoletion mark.
1932         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
1933         * doc/posix-functions/strncasecmp.texi: Likewise.
1934
1935         strings: Don't assume <strings.h> exists.
1936         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
1937         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
1938         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
1939         * doc/posix-headers/strings.texi: Mention the MSVC problem.
1940
1941 2011-09-11  Bruno Haible  <bruno@clisp.org>
1942
1943         dirent: Don't assume <dirent.h> exists.
1944         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
1945         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
1946         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
1947         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
1948
1949 2011-09-11  Bruno Haible  <bruno@clisp.org>
1950
1951         Fix wint_t on MSVC.
1952         * lib/wchar.in.h (wint_t): On MSVC, override it.
1953         * lib/wctype.in.h (wint_t): Likewise.
1954         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
1955         MSVC.
1956         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
1957         * doc/posix-headers/wctype.texi: Likewise.
1958
1959 2011-09-11  Bruno Haible  <bruno@clisp.org>
1960
1961         sys_types: Fix typo.
1962         * lib/sys_types.in.h: Fix typo in comment.
1963         Reported by Paul Eggert.
1964
1965         Support for MSVC compiler: Ensure size_t gets defined.
1966         * modules/strings (Depends-on): Add 'sys_types'.
1967         * modules/sys_uio (Depends-on): Likewise.
1968         * lib/sys_uio.in.h: Update comment.
1969
1970         C++ tests for module 'sys_types'.
1971         * modules/sys_types-c++-tests: New file.
1972         * tests/test-sys_types-c++.cc: New file.
1973
1974         Tests for module 'sys_types'.
1975         * modules/sys_types-tests: New file.
1976         * tests/test-sys_types.c: New file.
1977
1978         New module 'sys_types'.
1979         * lib/sys_types.in.h: New file.
1980         * m4/sys_types_h.m4: New file.
1981         * modules/sys_types: New file.
1982         * doc/posix-headers/sys_types.texi: Mention the new module and the
1983         size_t problem on MSVC 9.
1984
1985 2011-09-11  Bruno Haible  <bruno@clisp.org>
1986
1987         Support for MSVC compiler: Avoid division by a literal 0.
1988         * lib/math.in.h (NAN): Define through a function call also on MSVC.
1989         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
1990         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
1991         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
1992         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
1993         * tests/infinity.h: New file.
1994         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
1995         on MSVC.
1996         * tests/test-ceilf1.c: Include infinity.h.
1997         (main): Use Infinityf.
1998         * tests/test-ceil1.c: Include infinity.h.
1999         (main): Use Infinityd.
2000         * tests/test-ceill.c: Include infinity.h.
2001         (main): Use Infinityl.
2002         * tests/test-dprintf-posix.c: Include infinity.h.
2003         (test_function): Use Infinityd.
2004         * tests/test-floorf1.c: Include infinity.h.
2005         (main): Use Infinityf.
2006         * tests/test-floor1.c: Include infinity.h.
2007         (main): Use Infinityd.
2008         * tests/test-floorl.c: Include infinity.h.
2009         (main): Use Infinityl.
2010         * tests/test-fprintf-posix.c: Include infinity.h.
2011         (test_function): Use Infinityd.
2012         * tests/test-frexp.c: Include infinity.h.
2013         (main): Use Infinityd.
2014         * tests/test-frexpl.c: Include infinity.h.
2015         (main): Use Infinityl.
2016         * tests/test-isfinite.c: Include infinity.h.
2017         (test_isfinitef): Use Infinityf.
2018         (test_isfinited): Use Infinityd.
2019         (test_isfinitel): Use Infinityl.
2020         * tests/test-isinf.c: Include infinity.h.
2021         (test_isinff): Use Infinityf.
2022         (test_isinfd): Use Infinityd.
2023         (test_isinfl): Use Infinityl.
2024         * tests/test-isnan.c: Include infinity.h.
2025         (test_float): Use Infinityf.
2026         (test_double): Use Infinityd.
2027         (test_long_double): Use Infinityl.
2028         * tests/test-isnanf.h: Include infinity.h.
2029         (main): Use Infinityf.
2030         * tests/test-isnand.h: Include infinity.h.
2031         (main): Use Infinityd.
2032         * tests/test-isnanl.h: Include infinity.h.
2033         (main): Use Infinityl.
2034         * tests/test-ldexpl.c: Include infinity.h.
2035         (main): Use Infinityl.
2036         * tests/test-printf-posix.h: Include infinity.h.
2037         (test_function): Use Infinityd.
2038         * tests/test-roundf1.c: Include infinity.h.
2039         (main): Use Infinityf.
2040         * tests/test-round1.c: Include infinity.h.
2041         (main): Use Infinityd.
2042         * tests/test-roundl.c: Include infinity.h.
2043         (main): Use Infinityl.
2044         * tests/test-signbit.c: Include infinity.h.
2045         (test_signbitf): Use Infinityf.
2046         (test_signbitd): Use Infinityd.
2047         (test_signbitl): Use Infinityl.
2048         * tests/test-snprintf-posix.h: Include infinity.h.
2049         (test_function): Use Infinityd, Infinityl.
2050         * tests/test-sprintf-posix.h: Include infinity.h.
2051         (test_function): Use Infinityd, Infinityl.
2052         * tests/test-truncf1.c: Include infinity.h.
2053         (main): Use Infinityf.
2054         * tests/test-trunc1.c: Include infinity.h.
2055         (main): Use Infinityd.
2056         * tests/test-truncl.c: Include infinity.h.
2057         (main): Use Infinityl.
2058         * tests/test-vasnprintf-posix.c: Include infinity.h.
2059         (test_function): Use Infinityd, Infinityl.
2060         * tests/test-vasprintf-posix.c: Include infinity.h.
2061         (test_function): Use Infinityd, Infinityl.
2062         * modules/ceilf-tests (Files): Add tests/infinity.h.
2063         * modules/ceil-tests (Files): Likewise.
2064         * modules/ceill-tests (Files): Likewise.
2065         * modules/dprintf-posix-tests (Files): Likewise.
2066         * modules/floorf-tests (Files): Likewise.
2067         * modules/floor-tests (Files): Likewise.
2068         * modules/floorl-tests (Files): Likewise.
2069         * modules/fprintf-posix-tests (Files): Likewise.
2070         * modules/frexp-tests (Files): Likewise.
2071         * modules/frexp-nolibm-tests (Files): Likewise.
2072         * modules/frexpl-tests (Files): Likewise.
2073         * modules/frexpl-nolibm-tests (Files): Likewise.
2074         * modules/isfinite-tests (Files): Likewise.
2075         * modules/isinf-tests (Files): Likewise.
2076         * modules/isnan-tests (Files): Likewise.
2077         * modules/isnanf-tests (Files): Likewise.
2078         * modules/isnanf-nolibm-tests (Files): Likewise.
2079         * modules/isnand-tests (Files): Likewise.
2080         * modules/isnand-nolibm-tests (Files): Likewise.
2081         * modules/isnanl-tests (Files): Likewise.
2082         * modules/isnanl-nolibm-tests (Files): Likewise.
2083         * modules/ldexpl-tests (Files): Likewise.
2084         * modules/printf-posix-tests (Files): Likewise.
2085         * modules/roundf-tests (Files): Likewise.
2086         * modules/round-tests (Files): Likewise.
2087         * modules/roundl-tests (Files): Likewise.
2088         * modules/signbit-tests (Files): Likewise.
2089         * modules/snprintf-posix-tests (Files): Likewise.
2090         * modules/sprintf-posix-tests (Files): Likewise.
2091         * modules/truncf-tests (Files): Likewise.
2092         * modules/trunc-tests (Files): Likewise.
2093         * modules/truncl-tests (Files): Likewise.
2094         * modules/vasnprintf-posix-tests (Files): Likewise.
2095         * modules/vasprintf-posix-tests (Files): Likewise.
2096         * modules/vdprintf-posix-tests (Files): Likewise.
2097         * modules/vfprintf-posix-tests (Files): Likewise.
2098         * modules/vprintf-posix-tests (Files): Likewise.
2099         * modules/vsnprintf-posix-tests (Files): Likewise.
2100         * modules/vsprintf-posix-tests (Files): Likewise.
2101         * modules/xprintf-posix-tests (Files): Likewise.
2102
2103 2011-09-11  Bruno Haible  <bruno@clisp.org>
2104
2105         Ensure pid_t gets defined.
2106         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
2107         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
2108         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
2109         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
2110         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
2111         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
2112         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
2113         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
2114         * tests/test-fcntl-h.c: Check that pid_t is defined.
2115         * tests/test-sched.c: Likewise.
2116         * tests/test-termios.c: Likewise.
2117         * tests/test-time.c: Likewise.
2118         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
2119         * doc/posix-headers/signal.texi: Likewise.
2120         * doc/posix-headers/sys_types.texi: Likewise.
2121         * doc/posix-headers/time.texi: Likewise.
2122
2123 2011-09-11  Bruno Haible  <bruno@clisp.org>
2124
2125         acl: Fix compilation on Solaris 10 (older version).
2126         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
2127         of ACE_EVERYONE.
2128         * lib/set-mode-acl.c (qset_acl): Likewise.
2129         Reported by Christian Jullien <eligis@orange.fr>.
2130
2131 2011-09-10  Bruno Haible  <bruno@clisp.org>
2132
2133         iconv, unsetenv: Add support for MSVC compiler.
2134         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
2135         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
2136
2137 2011-09-10  Bruno Haible  <bruno@clisp.org>
2138
2139         *printf: Add support for MSVC compiler.
2140         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
2141         handles the exception caused by the %n directive. When cross-compiling,
2142         guess no on native Windows.
2143         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
2144         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
2145         emulate it through vsnprintf.
2146         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
2147         * doc/posix-functions/dprintf.texi: Update documentation regarding
2148         MSVC 9.
2149         * doc/posix-functions/fprintf.texi: Likewise.
2150         * doc/posix-functions/printf.texi: Likewise.
2151         * doc/posix-functions/snprintf.texi: Likewise.
2152         * doc/posix-functions/sprintf.texi: Likewise.
2153         * doc/posix-functions/swprintf.texi: Likewise.
2154         * doc/posix-functions/vdprintf.texi: Likewise.
2155         * doc/posix-functions/vfprintf.texi: Likewise.
2156         * doc/posix-functions/vprintf.texi: Likewise.
2157         * doc/posix-functions/vsnprintf.texi: Likewise.
2158         * doc/posix-functions/vsprintf.texi: Likewise.
2159         * doc/glibc-functions/asprintf.texi: Likewise.
2160         * doc/glibc-functions/obstack_printf.texi: Likewise.
2161         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
2162         * doc/glibc-functions/vasprintf.texi: Likewise.
2163
2164 2011-09-10  Bruno Haible  <bruno@clisp.org>
2165
2166         nocrash: Add support for native Windows.
2167         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
2168
2169 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
2170             Bruno Haible  <bruno@clisp.org>
2171
2172         absolute-header, include-next: Add support for MSVC compiler.
2173         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
2174         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
2175         directory separator in #line directives.
2176         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
2177         recognize also backslash as directory separator in #line directives.
2178
2179 2011-09-08  Jim Meyering  <meyering@redhat.com>
2180
2181         maint.mk: mark the post-release commit log with "maint: " prefix
2182         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
2183         one-line commit-log summary.
2184
2185 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
2186             Bruno Haible  <bruno@clisp.org>
2187
2188         Doc about crypt functions.
2189         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
2190         systems.
2191         * doc/posix-functions/encrypt.texi: Likewise.
2192         * doc/posix-functions/setkey.texi: Likewise.
2193
2194 2011-09-08  Simon Josefsson  <simon@josefsson.org>
2195
2196         * lib/gc.h: Fix copyright header.
2197
2198 2011-09-07  Bruno Haible  <bruno@clisp.org>
2199
2200         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
2201         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
2202         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
2203
2204 2011-09-07  Bruno Haible  <bruno@clisp.org>
2205
2206         openat: Work around compilation error with OSF/1 5.1 DTK cc.
2207         * lib/fopen.c: Use different syntax for include of <stdio.h>.
2208         * lib/freopen.c: Likewise.
2209         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
2210         * lib/lstat.c: Likewise.
2211         * lib/stat.c: Likewise.
2212         * lib/open.c: Use different syntax for include of <fcntl.h>.
2213         * lib/openat.c: Include fcntl.h again, explicitly.
2214
2215 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
2216
2217         parse-datetime: document the newly accepted format
2218         * doc/parse-datetime.texi (Combined date and time of day items):
2219         New section.
2220
2221 2011-09-06  Bruno Haible  <bruno@clisp.org>
2222
2223         acl: Fix a test failure on newer Solaris 10 with ZFS.
2224         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
2225         ENOSYS as no ACL.
2226         Reported by Jim Meyering.
2227
2228 2011-09-06  Bruno Haible  <bruno@clisp.org>
2229
2230         acl: Update for AIX >= 5.3 with NFS.
2231         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
2232         ENOSYS as no ACL.
2233
2234         acl: Fix a test failure on AIX >= 5.3 with NFS.
2235         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
2236         as no ACL.
2237
2238 2011-09-06  Bruno Haible  <bruno@clisp.org>
2239
2240         acl: Fix a test failure on IRIX 6.5 with NFS.
2241         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
2242         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
2243         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
2244         * lib/copy-acl.c (qcopy_acl): Likewise.
2245
2246 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
2247
2248         openat: port to AIX 7.1 with large files
2249         AIX 7.1 does a "#define openat open64at" if large files are in use,
2250         so we can't simply #undef openat.  Use the orig_openat trick (similar
2251         to orig_open in lib/open.c) to work around the problem.  Problem
2252         reported by Kevin Brott for GNU tar, in the thread containing
2253         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
2254         * lib/openat.c (__need_system_fcntl_h): Define first.
2255         Include <fcntl.h> and <sys/types.h> before undefining.
2256         (orig_openat) [HAVE_OPENAT]: New inline function.
2257         (openat) [HAVE_OPENAT]: Do not undef.
2258         (rpl_openat): Use orig_openat, not openat.
2259
2260 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
2261             Bruno Haible  <bruno@clisp.org>
2262
2263         acl: Avoid errors on NonStop Kernel.
2264         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
2265         ENOTSUP errors.
2266
2267 2011-09-05  Bruno Haible  <bruno@clisp.org>
2268
2269         acl: Clean up Solaris code.
2270         * lib/acl-internal.h: Remove no-op #if.
2271         * lib/file-has-acl.c: Likewise.
2272         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
2273         * lib/copy-acl.c (qcopy_acl): Likewise.
2274
2275 2011-09-05  Bruno Haible  <bruno@clisp.org>
2276
2277         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
2278         binaries built on the original Solaris 10.
2279         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
2280         trivial.
2281
2282 2011-09-05  Bruno Haible  <bruno@clisp.org>
2283
2284         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
2285         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
2286         10.
2287         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
2288         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
2289         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
2290         instead of acl_get, facl_get, acl_set, facl_set.
2291
2292 2011-09-05  Bruno Haible  <bruno@clisp.org>
2293
2294         copy-file: Try unit tests on more file systems.
2295         * tests/test-copy-file-1.sh: New file.
2296         * tests/test-copy-file-2.sh: New file.
2297         * modules/copy-file-tests (Files): Add them.
2298         (Makefile.am): Add them to TESTS.
2299
2300         acl: Try unit tests on more file systems.
2301         * tests/test-file-has-acl-1.sh: New file.
2302         * tests/test-file-has-acl-2.sh: New file.
2303         * tests/test-set-mode-acl-1.sh: New file.
2304         * tests/test-set-mode-acl-2.sh: New file.
2305         * tests/test-copy-acl-1.sh: New file.
2306         * tests/test-copy-acl-2.sh: New file.
2307         * modules/acl-tests (Files): Add them.
2308         (Makefile.am): Add them to TESTS.
2309
2310 2011-09-04  Bruno Haible  <bruno@clisp.org>
2311
2312         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
2313         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
2314         10.
2315         (OLD_ALLOW, OLD_DENY): New macros.
2316         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
2317         ACE_ACCESS_ALLOWED_ACE_TYPE.
2318         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
2319         ACE_ACCESS_DENIED_ACE_TYPE.
2320         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
2321         (NEW_ACE_EXECUTE): Fix value.
2322         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
2323         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
2324         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
2325         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
2326         NEW_ACE_SYNCHRONIZE): New macros.
2327         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
2328         instead of acl_fromtext, acl_set, facl_set.
2329         Fixes a coreutils/tests/cp/perm failure.
2330
2331 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
2332
2333         openat: test for fstatat (..., 0) bug
2334         Further testing with tar suggests that fstatat (..., 0)
2335         does not work in general, on AIX 7.1; see
2336         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
2337         So, give up entirely on AIX 7.1's fstatat, and fall back on our
2338         replacement fstatat (which is what older AIX releases were using
2339         anyway).
2340         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
2341         use is now changed to orig_fstatat.  This was probably the right
2342         thing to do anyway.
2343         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
2344         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
2345         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
2346         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
2347         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
2348         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
2349         if the bug is found.
2350
2351         openat: test for fstatat (AT_FDCWD, ..., 0) bug
2352         This tests for another fstatat bug on AIX 7.1:
2353         fstatat (AT_FDCWD, ..., 0) does not work.  See
2354         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
2355         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
2356         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
2357         (rpl_fstatat): Adjust so that it works around either (or both)
2358         bugs if present.
2359         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
2360
2361 2011-09-03  Karl Berry  <karl@gnu.org>
2362
2363         * doc/regex.texi (Character Class Operators): Avoid literal ":"
2364         in index entries.
2365
2366 2011-09-02  Bruno Haible  <bruno@clisp.org>
2367
2368         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
2369         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
2370         values of AR, ARFLAGS, RANLIB.
2371         Reported by John W. Eaton <jwe@gnu.org> for Octave.
2372
2373 2011-09-02  Bruno Haible  <bruno@clisp.org>
2374
2375         Find 'ar' program that fits with --host argument.
2376         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
2377
2378 2011-09-02  Bruno Haible  <bruno@clisp.org>
2379
2380         tests: init.sh: Support any non-GNU diff.
2381         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
2382         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
2383         Solaris 8.
2384
2385 2011-09-02  Bruno Haible  <bruno@clisp.org>
2386
2387         tests: init.sh: work also with any non-GNU diff that supports -u
2388         * tests/init.sh: Relax check for diff -u support.
2389         Rather than checking for GNU diff via --version, simply check
2390         for support for -u itself.  Useful at least on OpenBSD 4.9,
2391         AIX 7.1, IRIX 6.5, and Solaris 10.
2392
2393 2011-09-01  Bruno Haible  <bruno@clisp.org>
2394
2395         strtoimax, strtoumax: Document problem on HP-UX 11.
2396         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
2397         * doc/posix-functions/strtoumax.texi: Likewise.
2398
2399 2011-09-01  Bruno Haible  <bruno@clisp.org>
2400
2401         strtoumax: Avoid link error on OSF/1 with DTK cc.
2402         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
2403         defined as a function.
2404         * modules/strtoumax (Depends-on, configure.ac): Test only whether
2405         strtoumax is defined, not whether it is declared.
2406
2407 2011-09-01  Bruno Haible  <bruno@clisp.org>
2408
2409         strtoimax: Avoid link error on OSF/1 with DTK cc.
2410         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
2411         defined as a function.
2412         * modules/strtoimax (Depends-on, configure.ac): Test only whether
2413         strtoimax is defined, not whether it is declared.
2414
2415 2011-09-01  Bruno Haible  <bruno@clisp.org>
2416
2417         imaxdiv: Avoid link error on OSF/1 with DTK cc.
2418         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
2419         as a function.
2420         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
2421         whether it is declared.
2422
2423 2011-09-01  Bruno Haible  <bruno@clisp.org>
2424
2425         imaxabs: Avoid link error on OSF/1 with DTK cc.
2426         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
2427         as a function.
2428         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
2429         whether it is declared.
2430
2431 2011-09-01  Bruno Haible  <bruno@clisp.org>
2432
2433         Tests for module 'strtoumax'.
2434         * modules/strtoumax-tests: New file.
2435         * tests/test-strtoumax.c: New file.
2436
2437         Tests for module 'strtoimax'.
2438         * modules/strtoimax-tests: New file.
2439         * tests/test-strtoimax.c: New file.
2440
2441         Tests for module 'imaxdiv'.
2442         * modules/imaxdiv-tests: New file.
2443         * tests/test-imaxdiv.c: New file.
2444
2445         Tests for module 'imaxabs'.
2446         * modules/imaxabs-tests: New file.
2447         * tests/test-imaxabs.c: New file.
2448
2449 2011-09-01  Bruno Haible  <bruno@clisp.org>
2450
2451         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
2452         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
2453         pthread_create.
2454
2455 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2456
2457         openat: work around AIX 7.1 fstatat issue
2458         This should fix the problem that was not properly fixed
2459         in the previous change, dated 2011-08-30.
2460         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
2461         __need_system_stat_h defined.
2462         (orig_fstatat) [HAVE_FSTATAT]: New function.
2463         (rpl_fstatat): Go back to the old way of doing things,
2464         except call orig_fstatat instead of fstatat.
2465         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
2466         Remove unnecessary check whether fstatat fills in st_size etc.
2467
2468 2011-09-01  Bruno Haible  <bruno@clisp.org>
2469
2470         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
2471         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
2472         just include the system's header.
2473
2474 2011-08-31  Jim Meyering  <meyering@redhat.com>
2475
2476         tests: avoid spurious assertion failure in test-float.c on ppc64
2477         * tests/test-float.c (test_long_double): Comment out an assertion,
2478         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
2479         with gcc-4.4.4.
2480
2481         maint: indent with spaces, not TABs
2482         I need to get in the habit of running gnulib's "make check".
2483         Both of these would have been caught.
2484         * m4/largefile.m4: Indent with spaces, not TABs.
2485         * lib/parse-datetime.y (iso_8601_time): Likewise.
2486         Spotted by Pádraig Brady.
2487
2488         test-parse-datetime.c: accommodate a relatively strict gcc warning
2489         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
2490         to avoid a warning from gcc's -Werror=missing-declarations.
2491         Insert a few spaces-before-funcall-parenthesis.
2492
2493 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
2494
2495         parse-datetime: accept ISO 8601 date and time rep with "T" separator
2496         The parser now accepts ISO 8601 date-time strings with "T" as the
2497         separator.  It has long parsed dates like "2004-02-29 16:21:42"
2498         with a space between the date and time strings.  Now it also parses
2499         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
2500         variants like "2004-02-29T16:21:42.333-07:00"
2501         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
2502         of day representation using the 'T' separator character.
2503         * doc/parse-datetime.texi (General date syntax): replace use of
2504         deprecated --iso-8601 option with --rfc-3339 in example of date
2505         command output formats that can be parsed.
2506         * tests/test-parse-datetime.c (tm_diff): New function, taken from
2507         lib/parse-datetime.y.
2508         (gmt_offset): New function.
2509         (main): Add additional test cases to validate ISO8601 extended
2510         date and time of day parsing.
2511
2512 2011-08-31  Bruno Haible  <bruno@clisp.org>
2513
2514         freopen: Documentation.
2515         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
2516         name.
2517         Reported by Claudio Bley <claudio.bley@gmail.com>.
2518
2519 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
2520
2521         freopen: Don't crash if the filename argument is NULL.
2522         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
2523         NULL.
2524
2525 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2526
2527         openat: work around AIX 7.1 fstatat bug
2528         Problem reported by Kevin Brott for GNU tar, in the thread containing
2529         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
2530         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
2531         FSTATAT_ST_SIZE_ETC_BROKEN.
2532         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
2533         rpl_fstatat.
2534         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
2535         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
2536         AC_CHECK_FUNCS_ONCE for fstatat.
2537         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
2538         fchmodat, mkdirat, openat and unlinkat.
2539
2540 2011-08-30  Bruno Haible  <bruno@clisp.org>
2541
2542         Avoid endless recursions if config.h includes some header files.
2543         * lib/fopen.c (__need_FILE): Define already before including config.h.
2544         * lib/freopen.c (__need_FILE): Likewise.
2545         * lib/open.c (__need_system_fcntl_h): Likewise.
2546         * lib/stat.c (__need_system_sys_stat_h): Likewise.
2547         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
2548         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2549
2550 2011-08-25  Karl Berry  <karl@gnu.org>
2551
2552         * config/srclist.txt (ylwrap): new try.
2553         * build-aux/ylwrap: new file.
2554
2555 2011-08-23  Bruno Haible  <bruno@clisp.org>
2556
2557         tmpdir: Use a good default directory on native Windows.
2558         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
2559         (P_tmpdir): Default to _P_tmpdir on native Windows.
2560         (path_search): On native Windows, try the value returned by GetTempPath
2561         before trying P_tmpdir.
2562         * modules/tmpdir (Depends-on): Add pathmax.
2563         Suggested by John Darrington <john@darrington.wattle.id.au>.
2564
2565 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
2566
2567         doc: fix typo in README-release
2568         * top/README-release: Capitalize first word of a sentence.
2569
2570 2011-08-19  Jim Meyering  <meyering@redhat.com>
2571
2572         fts: do not exhaust memory when processing million-entry directories
2573         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
2574         directory would require about 256*N bytes of memory.  Thus, it was
2575         easy to construct a directory too large to be processed by any of
2576         those tools.  With this change, fts' maximum memory utilization is
2577         now limited to around 30MB.
2578         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
2579         (fts_read): When we've processed the final entry (i.e., when
2580         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
2581         using the parent entry to read any remaining entries.  Dispatch
2582         depending on what fts_build returns:
2583         - NULL+stop, aka failure: stop
2584         - NULL otherwise: move up in the dir hierarchy
2585         - non-NULL: handle this new entry
2586         (fts_build): Declare and use new local, continue_readdir.
2587         Prepare to be called from fts_read, when the entries
2588         from a partially-read directory have just been exhausted.
2589         In that case, we'll skip the opendir and instead use the parent's
2590         fts_dirp and derive dir_fd from that.
2591         Finally, in the readdir loop, if we read max_entries entries,
2592         exit the loop ensuring *not* to call closedir.  This is required
2593         so that fts_dirp can be reused on a subsequent call.
2594         Prompted by Ben England's report of memory exhaustion in find
2595         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
2596
2597         maint: fts: move decl of `dp' down into while loop; split a long line
2598         * lib/fts.c (fts_build): No semantic change.
2599
2600         fts: add/use new struct member, fts_dirp
2601         We are about to use this to manage any directory with
2602         too many entries to read all of them into memory at once.
2603         To do that, we'll need to save the DIR* pointer in each
2604         affected FTSENT struct.
2605         * lib/fts_.h: Include <dirent.h>.
2606         (struct FTSENT) [fts_dirp]: New member.
2607         * lib/fts.c (closedir_and_clear): Define.
2608         Use it in place of closedir so that we are sure to
2609         clear the new fts_dirp member when done with it.
2610         (fts_alloc): Initialize the new member.
2611         (fts_lfree): Free, if needed.
2612
2613         maint: fts: give __opendir2 a new parameter and rename
2614         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
2615         than surreptitiously using sole caller's "dir_fd".
2616         (fts_opendir): Rename from __opendir2.
2617
2618         maint: fts.c: remove __opendir2's now-unused parameter, oflag
2619         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
2620
2621         maint: fts.c: correct off-by-one indentation
2622         * lib/fts.c (fts_build): Correct indentation, change style
2623         of a couple of block comments, and bracing style.
2624
2625         maint: fts.c: move __opendir2 #define "up" out of function body
2626         * lib/fts.c (__opendir2): Move "up".  No semantic change.
2627
2628         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
2629         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
2630         out for a long time and besides was useful only on BSD systems.
2631
2632 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
2633
2634         regex: port to Stratus OpenVOS
2635         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
2636         define to empty, rather than attempting nonportable optimizations.
2637         Problem reported by Paul Green in:
2638         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
2639         and fix suggested by Eric Blake in:
2640         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
2641
2642 2011-08-17  Eric Blake  <eblake@redhat.com>
2643
2644         getcwd: fix test failures on mingw
2645         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
2646         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
2647         test if long directory cannot be created, and allow mingw errno.
2648
2649         getcwd-lgpl: fix m4 to match relaxed test for BSD
2650         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
2651         (gl_FUNC_GETCWD_SIGNATURE): New macro.
2652         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
2653         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
2654         signature problem.
2655
2656         getcwd: fix compilation on mingw64
2657         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
2658         getcwd.
2659         Reported by Marc-André Lureau.
2660
2661         pipe2: silence compiler warning
2662         * lib/pipe2.c (pipe2): Hide label if it is not used.
2663
2664 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
2665
2666         relocatable-prog: fix link error
2667         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
2668         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
2669         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
2670         into modules/relocatable-lib without noticing that
2671         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
2672         also needs to build relocatable.c.
2673
2674 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
2675
2676         getaddrinfo: fix sh typo in gai_strerrorA decl checking
2677         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
2678         shell code: it contained a 'break' that was not in a loop.
2679         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
2680         via a shell-language loop; this may have been true in old Autoconf
2681         versions, but it's not true in Autoconf 2.68.  I found this bug
2682         when testing coreutils git on Solaris 8, whose shell complains
2683         about the syntax error.
2684
2685 2011-08-12  Simon Josefsson  <simon@josefsson.org>
2686
2687         * lib/base64.c: Fix comment to reference RFC 4648.
2688         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
2689         <gvtulder@gmail.com>.
2690
2691 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
2692
2693         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
2694
2695         po/Makefile.in.in: fix make -q problem
2696         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
2697         rule, since there's no file named 'check-macro-version' and its
2698         use as a file breaks make -q.
2699         (all): Don't depend on check-macro-version.
2700         (CHECK_MACRO_VERSION): New macro.
2701         (stamp-po): Use it.
2702
2703         configmake: fix make -q problem
2704         * modules/configmake (configmake.h): Update configmake.h's time stamp
2705         even if the file does not change.  Otherwise, 'make -q' fails.
2706         Problem reported by Simon Josefsson in
2707         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
2708
2709 2011-08-11  Jim Meyering  <meyering@redhat.com>
2710
2711         git-version-gen: correct the advice in a comment
2712         * build-aux/git-version-gen: Correct comment.
2713         Don't recommend to list .tarball-version in .gitignore.
2714
2715 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
2716
2717         base64: fix off-by-one buffer size bug
2718         Problem and (trivial) fix reported by Gijs van Tulder in
2719         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
2720         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
2721         * tests/test-base64.c (main): Catch the bug.
2722
2723 2011-08-10  Eric Blake  <eblake@redhat.com>
2724
2725         closein: correct comments
2726         * lib/closein.c (close_stdin): Improve comments.
2727
2728 2011-08-09  Bruno Haible  <bruno@clisp.org>
2729
2730         More tests for 'fseeko'.
2731         * tests/test-fseeko3.c: New file, from Eric Blake.
2732         * tests/test-fseeko3.sh: New file.
2733         * modules/fseeko-tests (Files): Add them.
2734         (TESTS): Add test-fseeko3.sh.
2735         (check_PROGRAMS): Add test-fseeko3.
2736
2737 2011-08-09  Eric Blake  <eblake@redhat.com>
2738
2739         fseeko: remove unneeded hack
2740         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
2741
2742         fseeko: fix bug on glibc
2743         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
2744         Reported by John W. Eaton.
2745
2746 2011-08-08  Bruno Haible  <bruno@clisp.org>
2747
2748         unictype/base: Fix interoperability with preinstalled libunistring.
2749         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
2750         Reported by Simon Josefsson.
2751
2752 2011-08-08  Bruno Haible  <bruno@clisp.org>
2753
2754         iswblank: Detect declaration correctly.
2755         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
2756         AC_CHECK_DECLS invocation.
2757
2758 2011-08-08  Bruno Haible  <bruno@clisp.org>
2759
2760         tcgetsid: Detect declaration correctly.
2761         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
2762         AC_CHECK_DECLS invocation.
2763         Reported by Simon Josefsson.
2764
2765 2011-08-08  Eric Blake  <eblake@redhat.com>
2766
2767         largefile: fix typo that regressed large file support
2768         * modules/largefile (configure.ac-early): Fix section name.
2769
2770 2011-08-06  Karl Berry  <karl@gnu.org>
2771
2772         * MODULES.html.sh (func_all_files): _Noreturn is no longer
2773         a separate module.
2774
2775 2011-08-05  Simon Josefsson  <simon@josefsson.org>
2776
2777         openat: Fix warnings and commens when building unlinkat.c on Hurd.
2778         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
2779         get prototype for free.
2780
2781 2011-08-04  Bruno Haible  <bruno@clisp.org>
2782
2783         Tests for module 'pathmax'.
2784         * modules/pathmax-tests: New file.
2785         * tests/test-pathmax.c: New file.
2786
2787         canonicalize-lgpl: Support larger filenames on the Hurd.
2788         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
2789         Reported by Paul Eggert.
2790
2791         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
2792         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
2793         * lib/chdir-long.h: Include pathmax.h.
2794         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
2795         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
2796         (PATH_MAX): Remove code that is done by pathmax.h.
2797         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
2798         * lib/tmpfile.c: Add a comment.
2799         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
2800         * modules/chdir-long (Depends-on): Add pathmax.
2801         * modules/getcwd (Depends-on): Add pathmax.
2802         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
2803         is not defined.
2804         * doc/posix-headers/limits.texi: Mention the pathmax module.
2805         * NEWS: Mention the change.
2806
2807 2011-08-02  Bruno Haible  <bruno@clisp.org>
2808
2809         pthread_sigmask: Actually use results of gl_THREADLIB.
2810         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
2811         gl_THREADLIB, not gl_[]THREADLIB.
2812         Reported by Eric Blake.
2813
2814 2011-08-02  Jim Meyering  <meyering@redhat.com>
2815
2816         maint.mk: relax the default _gl_TS_function_match regexp
2817         * top/maint.mk (_gl_TS_function_match): Don't require at least one
2818         space between function name and "(" in an "extern" declaration.
2819         That would fail to match a decl with no space there: extern void foo();
2820
2821 2011-07-31  Iain Nicol  <iain@thenicols.net>
2822
2823         git-version-gen: document that EXTRA_DIST must include .version
2824         * build-aux/git-version-gen: In the how-to-use comment, document
2825         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
2826         will fail when run from an unpacked distribution tarball.
2827
2828 2011-08-01  Bruno Haible  <bruno@clisp.org>
2829
2830         wctype-h: Fix last change.
2831         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
2832         REPLACE_TOWLOWER to 0.
2833         Reported by Sam Steingold <sds@gnu.org>.
2834
2835 2011-07-31  Bruno Haible  <bruno@clisp.org>
2836
2837         frexpl: Update autoconf test.
2838         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
2839         according to changes of 2011-06-20.
2840
2841 2011-07-31  Bruno Haible  <bruno@clisp.org>
2842
2843         sys_utsname: Add support for Minix.
2844         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
2845         <sys/utsname.h>.
2846         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
2847         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
2848
2849 2011-07-31  Bruno Haible  <bruno@clisp.org>
2850
2851         strings: Add support for Minix.
2852         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
2853         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
2854         * doc/posix-headers/strings.texi: Document the Minix problem.
2855
2856 2011-07-31  Bruno Haible  <bruno@clisp.org>
2857
2858         wctype-h: Add support for Minix.
2859         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
2860         REPLACE_TOWLOWER.
2861         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
2862         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
2863         REPLACE_ISWCNTRL.
2864
2865 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
2866
2867         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
2868         This is a performance improvement for 64-bit hosts: it causes the
2869         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
2870
2871 2011-07-31  Bruno Haible  <bruno@clisp.org>
2872
2873         stdioext: Add support for Minix.
2874         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
2875         * lib/fpurge.c (fpurge): Likewise.
2876         * lib/freadahead.c (freadahead): Likewise.
2877         * lib/freadable.c (freadable): Likewise.
2878         * lib/freading.c (freading): Likewise.
2879         * lib/freadptr.c (freadptr): Likewise.
2880         * lib/freadseek.c (freadptrinc): Likewise.
2881         * lib/fseeko.c (rpl_fseeko): Likewise.
2882         * lib/fseterr.c (fseterr): Likewise.
2883         * lib/fwritable.c (fwritable): Likewise.
2884         * lib/fwriting.c (fwriting): Likewise.
2885         * lib/fflush.c (clear_ungetc_buffer): Update comment.
2886         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
2887
2888 2011-07-31  Bruno Haible  <bruno@clisp.org>
2889
2890         errno: Port to Minix.
2891         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
2892         ECONNABORTED are defined.
2893         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
2894         GNULIB_defined_ECONNABORTED): New macros.
2895         * lib/strerror-override.h (strerror_override): Test also
2896         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
2897         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
2898         ECONNABORTED.
2899         * doc/posix-headers/errno.texi: Mention the Minix problem.
2900
2901 2011-07-31  Bruno Haible  <bruno@clisp.org>
2902
2903         Work around declaration collisions on Minix.
2904         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
2905         defined, set REPLACE_MBSINIT.
2906         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
2907         defined, set REPLACE_MBRTOWC.
2908         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
2909         set REPLACE_MBRLEN.
2910         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
2911         defined, set REPLACE_MBSRTOWCS.
2912         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
2913         defined, set REPLACE_WCRTOMB.
2914         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
2915         defined, set REPLACE_WCSRTOMBS.
2916
2917 2011-07-31  Bruno Haible  <bruno@clisp.org>
2918
2919         Add support for Minix with ACK compiler.
2920         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
2921         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
2922         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
2923
2924 2011-07-31  Bruno Haible  <bruno@clisp.org>
2925
2926         Documentation about Minix.
2927         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
2928         * doc/glibc-headers/*.texi: Likewise.
2929         * doc/posix-functions/*.texi: Likewise.
2930         * doc/glibc-functions/*.texi: Likewise.
2931
2932 2011-07-31  Bruno Haible  <bruno@clisp.org>
2933
2934         snippet/warn-on-use: Fix indentation.
2935         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
2936
2937 2011-07-25  Jim Meyering  <meyering@redhat.com>
2938
2939         tests: test-update-copyright.sh: remove unnecessary "rm" commands
2940         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
2941         commands.
2942
2943 2011-07-27  Jim Meyering  <meyering@redhat.com>
2944
2945         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
2946         * top/maint.mk (gl_extract_significant_defines_): Now that
2947         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
2948         gnulib/lib/signal.in.h, and now that we recommend to
2949         define-if-undefined those two symbols in application code,
2950         we must filter them out of the "significant" list.
2951         This avoids a "make syntax-check" failure in coreutils.
2952
2953 2011-07-26  Eric Blake  <eblake@redhat.com>
2954
2955         warnings: add comments about previous patch
2956         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
2957         * m4/include_next.m4: Likewise.
2958         * m4/warn-on-use.m4: Likewise.
2959         * m4/warnings.m4: Likewise, and simplify use.
2960         Suggested by Stefano Lattarini.
2961
2962         include-next, warnings: support older autoconf
2963         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
2964         AS_VAR_PUSHDEF in a way that works with older autoconf.
2965         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
2966         Reported by Daniel P. Berrange.
2967
2968 2011-07-25  Bruno Haible  <bruno@clisp.org>
2969
2970         fseek, ftell: Fix doc.
2971         * doc/posix-functions/fseek.texi: Reword statement about
2972         AC_SYS_LARGEFILE.
2973         * doc/posix-functions/ftell.texi: Likewise.
2974
2975 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
2976             Bruno Haible  <bruno@clisp.org>
2977
2978         Add dependencies to the 'largefile' module.
2979         * modules/fopen (Depends-on): Add 'largefile'.
2980         * modules/freopen (Depends-on): Likewise.
2981         * modules/fseeko (Depends-on): Likewise.
2982         * modules/ftello (Depends-on): Likewise.
2983         * modules/glob (Depends-on): Likewise.
2984         * modules/lseek (Depends-on): Likewise.
2985         * modules/lstat (Depends-on): Likewise.
2986         * modules/mkostemp (Depends-on): Likewise.
2987         * modules/mkostemps (Depends-on): Likewise.
2988         * modules/mkstemp (Depends-on): Likewise.
2989         * modules/mkstemps (Depends-on): Likewise.
2990         * modules/open (Depends-on): Likewise.
2991         * modules/openat (Depends-on): Likewise.
2992         * modules/pread (Depends-on): Likewise.
2993         * modules/pwrite (Depends-on): Likewise.
2994         * modules/scandir (Depends-on): Likewise.
2995         * modules/stat (Depends-on): Likewise.
2996         * modules/tmpfile (Depends-on): Likewise.
2997         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
2998         since the containing module now depends on the largefile module.
2999         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
3000         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
3001         off_t is fixed by gnulib.
3002         * doc/posix-functions/freopen.texi: Likewise.
3003         * doc/posix-functions/fseeko.texi: Likewise.
3004         * doc/posix-functions/fstatat.texi: Likewise.
3005         * doc/posix-functions/ftello.texi: Likewise.
3006         * doc/posix-functions/glob.texi: Likewise.
3007         * doc/posix-functions/lseek.texi: Likewise.
3008         * doc/posix-functions/lstat.texi: Likewise.
3009         * doc/posix-functions/mkstemp.texi: Likewise.
3010         * doc/posix-functions/open.texi: Likewise.
3011         * doc/posix-functions/openat.texi: Likewise.
3012         * doc/posix-functions/pread.texi: Likewise.
3013         * doc/posix-functions/pwrite.texi: Likewise.
3014         * doc/posix-functions/scandir.texi: Likewise.
3015         * doc/posix-functions/stat.texi: Likewise.
3016         * doc/posix-functions/tmpfile.texi: Likewise.
3017         * doc/glibc-functions/mkostemp.texi: Likewise.
3018         * doc/glibc-functions/mkostemps.texi: Likewise.
3019         * doc/glibc-functions/mkstemps.texi: Likewise.
3020
3021 2011-07-25  Bruno Haible  <bruno@clisp.org>
3022
3023         fcntl: Move AC_LIBOBJ invocation to module description.
3024         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
3025         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
3026
3027         fcntl: Remove call-in from fchdir.m4.
3028         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
3029         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
3030
3031         dup3: Remove potential call-in from fchdir.m4.
3032         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
3033         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
3034
3035         dup2: Move AC_LIBOBJ invocation to module description.
3036         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
3037         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
3038         Don't invoke AC_LIBOBJ.
3039         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
3040
3041         dup2: Remove call-in from fchdir.m4.
3042         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
3043         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
3044
3045         fclose: Move AC_LIBOBJ invocation to module description.
3046         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
3047         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
3048         to 1.
3049         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
3050
3051         fclose: Remove call-in from close.m4.
3052         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
3053         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
3054
3055         close: Move AC_LIBOBJ invocation to module description.
3056         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
3057         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
3058         1.
3059         * modules/close (configure.ac): Invoke AC_LIBOBJ.
3060
3061         close: Remove call-in from fchdir.m4.
3062         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
3063         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
3064
3065         open: Move AC_LIBOBJ invocation to module description.
3066         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
3067         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
3068         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
3069
3070         open: Remove call-in from fchdir.m4.
3071         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
3072         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
3073
3074         fchdir: Start to remove gl_REPLACE_* idiom.
3075         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
3076         (gl_FUNC_FCHDIR): Invoke it.
3077
3078 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
3079
3080         * lib/ftell.c (ftell): Comment out cast.
3081
3082         close: use gl_REPLACE_FCLOSE only if defined
3083         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
3084         is defined.  The close module doesn't depend on the fclose module
3085         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
3086         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
3087         I reproduced the problem with "./gnulib-tool --test close sys_socket".
3088
3089 2011-07-24  Jim Meyering  <meyering@redhat.com>
3090
3091         test-select.h: avoid warning when using gcc's -Wmissing-declarations
3092         * tests/test-select.h (test_function): Declare as "static".
3093
3094 2011-07-24  Bruno Haible  <bruno@clisp.org>
3095
3096         doc: Mention the effects of AC_SYS_LARGEFILE.
3097         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
3098         on this function.
3099         * doc/posix-functions/aio_error.texi: Likewise.
3100         * doc/posix-functions/aio_fsync.texi: Likewise.
3101         * doc/posix-functions/aio_read.texi: Likewise.
3102         * doc/posix-functions/aio_return.texi: Likewise.
3103         * doc/posix-functions/aio_suspend.texi: Likewise.
3104         * doc/posix-functions/aio_write.texi: Likewise.
3105         * doc/posix-functions/fgetpos.texi: Likewise.
3106         * doc/posix-functions/fopen.texi: Likewise.
3107         * doc/posix-functions/freopen.texi: Likewise.
3108         * doc/posix-functions/fsetpos.texi: Likewise.
3109         * doc/posix-functions/fstatvfs.texi: Likewise.
3110         * doc/posix-functions/ftruncate.texi: Likewise.
3111         * doc/posix-functions/ftw.texi: Likewise.
3112         * doc/posix-functions/getrlimit.texi: Likewise.
3113         * doc/posix-functions/glob.texi: Likewise.
3114         * doc/posix-functions/lio_listio.texi: Likewise.
3115         * doc/posix-functions/lockf.texi: Likewise.
3116         * doc/posix-functions/mkstemp.texi: Likewise.
3117         * doc/posix-functions/mmap.texi: Likewise.
3118         * doc/posix-functions/nftw.texi: Likewise.
3119         * doc/posix-functions/openat.texi: Likewise.
3120         * doc/posix-functions/opendir.texi: Likewise.
3121         * doc/posix-functions/posix_fadvise.texi: Likewise.
3122         * doc/posix-functions/posix_fallocate.texi: Likewise.
3123         * doc/posix-functions/pread.texi: Likewise.
3124         * doc/posix-functions/pwrite.texi: Likewise.
3125         * doc/posix-functions/readdir.texi: Likewise.
3126         * doc/posix-functions/readdir_r.texi: Likewise.
3127         * doc/posix-functions/rewinddir.texi: Likewise.
3128         * doc/posix-functions/scandir.texi: Likewise.
3129         * doc/posix-functions/seekdir.texi: Likewise.
3130         * doc/posix-functions/setrlimit.texi: Likewise.
3131         * doc/posix-functions/statvfs.texi: Likewise.
3132         * doc/posix-functions/telldir.texi: Likewise.
3133         * doc/posix-functions/tmpfile.texi: Likewise.
3134         * doc/posix-functions/truncate.texi: Likewise.
3135         * doc/glibc-functions/fallocate.texi: Likewise.
3136         * doc/glibc-functions/fstatfs.texi: Likewise.
3137         * doc/glibc-functions/fts_children.texi: Likewise.
3138         * doc/glibc-functions/fts_read.texi: Likewise.
3139         * doc/glibc-functions/getdirentries.texi: Likewise.
3140         * doc/glibc-functions/mkostemp.texi: Likewise.
3141         * doc/glibc-functions/mkostemps.texi: Likewise.
3142         * doc/glibc-functions/mkstemps.texi: Likewise.
3143         * doc/glibc-functions/preadv.texi: Likewise.
3144         * doc/glibc-functions/pwritev.texi: Likewise.
3145         * doc/glibc-functions/sendfile.texi: Likewise.
3146         * doc/glibc-functions/statfs.texi: Likewise.
3147
3148 2011-07-24  Bruno Haible  <bruno@clisp.org>
3149
3150         doc: Fix typo.
3151         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
3152
3153 2011-07-24  Bruno Haible  <bruno@clisp.org>
3154
3155         doc: Mention fsusage.
3156         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
3157
3158 2011-07-24  Bruno Haible  <bruno@clisp.org>
3159
3160         doc: Mention new glibc headers and functions.
3161         * doc/glibc-headers/gshadow.texi: New file.
3162         * doc/glibc-functions/endsgent.texi: New file.
3163         * doc/glibc-functions/fgetsgent.texi: New file.
3164         * doc/glibc-functions/fgetsgent_r.texi: New file.
3165         * doc/glibc-functions/getsgent.texi: New file.
3166         * doc/glibc-functions/getsgent_r.texi: New file.
3167         * doc/glibc-functions/getsgnam.texi: New file.
3168         * doc/glibc-functions/getsgnam_r.texi: New file.
3169         * doc/glibc-functions/putsgent.texi: New file.
3170         * doc/glibc-functions/setsgent.texi: New file.
3171         * doc/glibc-functions/sgetsgent.texi: New file.
3172         * doc/glibc-functions/sgetsgent_r.texi: New file.
3173         * doc/glibc-functions/malloc_info.texi: New file.
3174         * doc/glibc-functions/preadv.texi: New file.
3175         * doc/glibc-functions/pwritev.texi: New file.
3176         * doc/glibc-functions/register_printf_modifier.texi: New file.
3177         * doc/glibc-functions/register_printf_specifier.texi: New file.
3178         * doc/glibc-functions/register_printf_type.texi: New file.
3179         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
3180         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
3181         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
3182         * doc/glibc-functions/pthread_getname_np.texi: New file.
3183         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
3184         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
3185         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
3186         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
3187         * doc/glibc-functions/pthread_setname_np.texi: New file.
3188         * doc/glibc-functions/pthread_sigqueue.texi: New file.
3189         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
3190         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
3191         * doc/glibc-functions/qsort_r.texi: New file.
3192         * doc/glibc-functions/quick_exit.texi: New file.
3193         * doc/glibc-functions/syncfs.texi: New file.
3194         * doc/gnulib.texi: Include them.
3195         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
3196         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
3197         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
3198         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
3199         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
3200         * doc/glibc-functions/execvpe.texi: Likewise.
3201
3202 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
3203
3204         ftell: don't include <unistd.h>
3205         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
3206         guaranteed to define off_t, and the ftell module depends on the
3207         stdio module.
3208
3209         ftell: do not assume wraparound signed arithmetic
3210         * lib/ftell.c: Include <limits.h>.
3211         (ftell): Don't assume wraparound signed arithmetic.
3212
3213 2011-07-24  Bruno Haible  <bruno@clisp.org>
3214
3215         close: No longer depend on module 'fclose'.
3216         * modules/close (Depends-on): Remove fclose.
3217         * NEWS: Mention the change.
3218         Suggested by Sam Steingold <sds@gnu.org>.
3219
3220 2011-07-24  Bruno Haible  <bruno@clisp.org>
3221
3222         fsusage: Enable large volume support on AIX >= 5.2.
3223         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
3224         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
3225         instead of STAT_STATVFS.
3226         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
3227
3228         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
3229         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
3230         f_blocks field only on MacOS X.
3231
3232         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
3233         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
3234         * modules/fsusage (Depends-on): Add largefile.
3235
3236 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
3237
3238         * README: Modernize discussion of signed integers.
3239         Assuming overflow wraparound is no longer safe.
3240         Mention ones' complement and signed magnitude.
3241
3242 2011-07-22  Bruno Haible  <bruno@clisp.org>
3243
3244         select tests, pselect tests: Refactor.
3245         * tests/test-select.h: New file, extracted from tests/test-select.c.
3246         (select_fn): New type.
3247         (test, do_select, do_select_nowait, do_select_wait, test_tty,
3248         test_connect_first, test_accept_first, test_pair, test_socket_pair,
3249         test_pipe): Add my_select argument.
3250         (test_function): Renamed from main. Add my_select argument.
3251         * tests/test-select.c: Move most code to tests/test-select.h. Include
3252         test-select.h.
3253         * modules/select-tests (Files): Add tests/test-select.h.
3254         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
3255         (my_select, main): New functions.
3256         * modules/pselect-tests (Files): Add tests/test-select.h,
3257         tests/macros.h, tests/signature.h.
3258         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
3259         (configure.ac): Check for <sys/wait.h>.
3260
3261 2011-07-22  Bruno Haible  <bruno@clisp.org>
3262
3263         sys_select tests: Check the signature of FD_*.
3264         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
3265         signature tests from here...
3266         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
3267         here.
3268         * modules/sys_select-tests (Files): Add tests/signature.h.
3269
3270 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
3271
3272         largefile: new module, replacing large-inode
3273         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
3274         * MODULES.html.sh: Add largefile, remove large-inode.
3275         * modules/largefile, m4/largefile.m4: New files.
3276         * modules/large-inode, m4/large-inode.m4: Remove.
3277
3278         fsusage: port to MacOS X 10.7 with 4 TiB file systems
3279         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
3280         implementations that use only 32 bits to count blocks.
3281         On typical hosts with 1024-byte blocks, this fails with file
3282         systems as small as 4 TiB.  Problem reported by Herb Wartens
3283         <http://debbugs.gnu.org/9140> and this should also fix a similar
3284         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
3285
3286         large-inode: New module
3287         * MODULES.html.sh: Add it.
3288         * modules/large-inode, m4/large-inode.m4: New files.
3289
3290         extensions: Enable extensions on MacOS X 10.5 and later.
3291         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
3292
3293 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
3294
3295         file-has-acl: use acl_extended_file_nofollow if available
3296         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
3297         (acl_extended_file): New macro.
3298         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
3299         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
3300
3301 2011-07-21  Bruno Haible  <bruno@clisp.org>
3302
3303         Declare system functions in a way that works with C++.
3304         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
3305         declare fdopendir as extern "C".
3306         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
3307         declare frexpl as extern "C".
3308         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
3309         declare gai_strerror as extern "C".
3310         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
3311         programs, declare gai_strerror as extern "C".
3312         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
3313         declare getlogin_r as extern "C".
3314         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
3315         as extern "C".
3316         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
3317         declare ldexpl as extern "C".
3318         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
3319         as extern "C".
3320         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
3321         program, declare getmntinfo as extern "C".
3322         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
3323         stpncpy as extern "C".
3324         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
3325         program, declare __xpg_strerror_r as extern "C".
3326         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
3327         strndup as extern "C".
3328         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
3329         declare memset and bzero as extern "C".
3330         Reported by Sam Steingold <sds@gnu.org>.
3331
3332 2011-07-12  Jim Meyering  <meyering@redhat.com>
3333
3334         maint.mk: prohibit inclusion of "verify.h" without use
3335         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
3336
3337 2011-07-19  Pádraig Brady  <P@draigBrady.com>
3338
3339         timer-time: A new module to check for timer_settime()
3340         * m4/timer_time.m4: Check for the posix function.
3341         * modules/timer-time: Add the new module.
3342         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
3343         Mention it.
3344
3345 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
3346             Bruno Haible  <bruno@clisp.org>
3347
3348         pthread_sigmask: assume POSIX threads if --avoid=threadlib
3349         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
3350         not defined, assume POSIX threads and look for pthread_sigmask in
3351         $LIBS, without changing $CPPFLAGS.
3352
3353 2011-07-19  Bruno Haible  <bruno@clisp.org>
3354
3355         strstr: Update cross-compilation guess.
3356         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
3357         CPUs, guess no, in view of glibc
3358         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
3359         Suggested by Eric Blake. Reported by Reuben Thomas.
3360
3361 2011-07-19  Pádraig Brady  <P@draigBrady.com>
3362
3363         getopt-gnu: suppress core dumps from detection code
3364         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
3365         to suppress core dumps that may well occur on glibc systems.
3366         * modules/getopt-gnu: Depend on nocrash.
3367
3368 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
3369
3370         pthread_sigmask: ensure usleep is declared
3371         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
3372         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
3373
3374 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
3375
3376         doc: Document NonStop portability issues.
3377         * doc/posix-functions/sigaction.texi (sigaction):
3378         * doc/posix-headers/signal.texi (signal.h):
3379         Document NonStop.  See Joachim Schmitz in
3380         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
3381
3382 2011-07-15  Bruno Haible  <bruno@clisp.org>
3383
3384         ffsl, ffsll: Avoid unportable behaviour.
3385         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
3386
3387 2011-07-15  Bruno Haible  <bruno@clisp.org>
3388
3389         ffs: More tests.
3390         * tests/test-ffs.c (NBITS): New macro.
3391         (main): Add more tests.
3392         * tests/test-ffsl.c (NBITS): New macro.
3393         (main): Add more tests.
3394         * tests/test-ffsll.c (NBITS): New macro.
3395         (main): Add more tests.
3396
3397 2011-07-15  Eric Blake  <eblake@redhat.com>
3398
3399         ffsl, ffsll: new modules
3400         * modules/ffsl: New file.
3401         * modules/ffsll: Likewise.
3402         * m4/ffsl.m4: Likewise.
3403         * m4/ffsll.m4: Likewise.
3404         * lib/ffsl.c: Likewise.
3405         * lib/ffsl.h: Likewise.
3406         * lib/ffsll.c: Likewise.
3407         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
3408         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
3409         * modules/string (Makefile.am): Substitute witnesses.
3410         * lib/strings.in.h (ffsl, ffsll): Declare.
3411         * modules/ffsl-tests: New test file.
3412         * modules/ffsll-tests: Likewise.
3413         * tests/test-ffsl.c: Likewise.
3414         * tests/test-ffsll.c: Likewise.
3415         * MODULES.html.sh (Integer arithmetic functions): Mention it.
3416         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
3417         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
3418
3419         ffs: fix m4 prerequisite
3420         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
3421
3422         ffs: avoid undefined behavior
3423         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
3424         * tests/test-ffs.c (naive, main): Avoid signed shifts.
3425         Reported by Bruno Haible.
3426
3427 2011-07-12  Bruno Haible  <bruno@clisp.org>
3428
3429         pthread_sigmask: Rely on module 'threadlib'.
3430         * modules/pthread_sigmask (Depends-on): Add threadlib.
3431         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
3432         is defined.
3433
3434 2011-07-12  Bruno Haible  <bruno@clisp.org>
3435
3436         regex: Depend on module 'strcase'.
3437         * modules/regex (Depends-on): Add strcase, for strcasecmp().
3438
3439 2011-07-12  Jim Meyering  <meyering@redhat.com>
3440
3441         warn-on-use: fix typo in file name
3442         * modules/snippet/warn-on-use (Files): Correct file name:
3443         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
3444
3445 2011-07-12  Bruno Haible  <bruno@clisp.org>
3446
3447         strings: Document module.
3448         * doc/posix-headers/strings.texi: Mention module 'strings'.
3449
3450 2011-07-12  Bruno Haible  <bruno@clisp.org>
3451
3452         Rename module '_Noreturn' to 'snippet/_Noreturn'.
3453         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
3454         (Files, Makefile.am): Update.
3455         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
3456         * modules/stdlib (Depends-on): Update.
3457
3458 2011-07-12  Bruno Haible  <bruno@clisp.org>
3459
3460         * NEWS: Mention the changes.
3461
3462         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
3463         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
3464         (Files, Makefile.am): Update.
3465         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
3466         * modules/arpa_inet (Depends-on): Update.
3467         * modules/ctype (Depends-on): Update.
3468         * modules/dirent (Depends-on): Update.
3469         * modules/fcntl-h (Depends-on): Update.
3470         * modules/glob (Depends-on): Update.
3471         * modules/iconv-h (Depends-on): Update.
3472         * modules/inttypes-incomplete (Depends-on): Update.
3473         * modules/langinfo (Depends-on): Update.
3474         * modules/locale (Depends-on): Update.
3475         * modules/math (Depends-on): Update.
3476         * modules/netdb (Depends-on): Update.
3477         * modules/poll-h (Depends-on): Update.
3478         * modules/pty (Depends-on): Update.
3479         * modules/search (Depends-on): Update.
3480         * modules/signal (Depends-on): Update.
3481         * modules/spawn (Depends-on): Update.
3482         * modules/stdio (Depends-on): Update.
3483         * modules/stdlib (Depends-on): Update.
3484         * modules/string (Depends-on): Update.
3485         * modules/strings (Depends-on): Update.
3486         * modules/sys_file (Depends-on): Update.
3487         * modules/sys_ioctl (Depends-on): Update.
3488         * modules/sys_select (Depends-on): Update.
3489         * modules/sys_socket (Depends-on): Update.
3490         * modules/sys_stat (Depends-on): Update.
3491         * modules/sys_time (Depends-on): Update.
3492         * modules/sys_times (Depends-on): Update.
3493         * modules/sys_utsname (Depends-on): Update.
3494         * modules/sys_wait (Depends-on): Update.
3495         * modules/termios (Depends-on): Update.
3496         * modules/time (Depends-on): Update.
3497         * modules/unistd (Depends-on): Update.
3498         * modules/wchar (Depends-on): Update.
3499         * modules/wctype-h (Depends-on): Update.
3500         * MODULES.html.sh (Support for building libraries and executables):
3501         Update.
3502
3503         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
3504         * modules/snippet/unused-parameter: Renamed from
3505         modules/unused-parameter.
3506         (Files, Makefile.am): Update.
3507         * build-aux/snippet/unused-parameter.h: Renamed from
3508         build-aux/unused-parameter.h.
3509         * modules/selinux-h (Depends-on): Update.
3510         * modules/unistr/base (Depends-on): Update.
3511         * MODULES.html.sh (Core language properties): Update.
3512
3513         Rename module 'link-warning' to 'snippet/link-warning'.
3514         * modules/snippet/link-warning: Renamed from modules/link-warning.
3515         (Files, Makefile.am): Update.
3516         * build-aux/snippet/link-warning.h: Renamed from
3517         build-aux/link-warning.h.
3518         * MODULES.html.sh (Support for building libraries and executables):
3519         Update.
3520
3521         Rename module 'c++defs' to 'snippet/c++defs'.
3522         * modules/snippet/c++defs: Renamed from modules/c++defs.
3523         (Files, Makefile.am): Update.
3524         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
3525         * modules/arpa_inet (Depends-on): Update.
3526         * modules/ctype (Depends-on): Update.
3527         * modules/dirent (Depends-on): Update.
3528         * modules/fcntl-h (Depends-on): Update.
3529         * modules/glob (Depends-on): Update.
3530         * modules/iconv-h (Depends-on): Update.
3531         * modules/langinfo (Depends-on): Update.
3532         * modules/locale (Depends-on): Update.
3533         * modules/math (Depends-on): Update.
3534         * modules/netdb (Depends-on): Update.
3535         * modules/poll-h (Depends-on): Update.
3536         * modules/pty (Depends-on): Update.
3537         * modules/search (Depends-on): Update.
3538         * modules/signal (Depends-on): Update.
3539         * modules/spawn (Depends-on): Update.
3540         * modules/stdio (Depends-on): Update.
3541         * modules/stdlib (Depends-on): Update.
3542         * modules/string (Depends-on): Update.
3543         * modules/strings (Depends-on): Update.
3544         * modules/sys_ioctl (Depends-on): Update.
3545         * modules/sys_select (Depends-on): Update.
3546         * modules/sys_socket (Depends-on): Update.
3547         * modules/sys_stat (Depends-on): Update.
3548         * modules/sys_time (Depends-on): Update.
3549         * modules/sys_wait (Depends-on): Update.
3550         * modules/termios (Depends-on): Update.
3551         * modules/time (Depends-on): Update.
3552         * modules/unistd (Depends-on): Update.
3553         * modules/wchar (Depends-on): Update.
3554         * modules/wctype-h (Depends-on): Update.
3555
3556         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
3557         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
3558         (Files, Makefile.am): Update.
3559         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
3560         * modules/argv-iter (Depends-on): Update.
3561         * modules/arpa_inet (Depends-on): Update.
3562         * modules/dirent (Depends-on): Update.
3563         * modules/fcntl-h (Depends-on): Update.
3564         * modules/fnmatch (Depends-on): Update.
3565         * modules/getopt-posix (Depends-on): Update.
3566         * modules/glob (Depends-on): Update.
3567         * modules/iconv-h (Depends-on): Update.
3568         * modules/inttypes-incomplete (Depends-on): Update.
3569         * modules/locale (Depends-on): Update.
3570         * modules/math (Depends-on): Update.
3571         * modules/netdb (Depends-on): Update.
3572         * modules/search (Depends-on): Update.
3573         * modules/signal (Depends-on): Update.
3574         * modules/spawn (Depends-on): Update.
3575         * modules/stdio (Depends-on): Update.
3576         * modules/stdlib (Depends-on): Update.
3577         * modules/string (Depends-on): Update.
3578         * modules/strings (Depends-on): Update.
3579         * modules/sys_socket (Depends-on): Update.
3580         * modules/sys_stat (Depends-on): Update.
3581         * modules/sys_time (Depends-on): Update.
3582         * modules/sys_times (Depends-on): Update.
3583         * modules/sys_utsname (Depends-on): Update.
3584         * modules/time (Depends-on): Update.
3585         * modules/unistd (Depends-on): Update.
3586         * modules/wchar (Depends-on): Update.
3587         * MODULES.html.sh (Support for building libraries and executables):
3588         Update.
3589
3590 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
3591
3592         Improvements on _Noreturn and related modules.
3593
3594         modules/_Exit-tests: test _Noreturn too
3595         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
3596         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
3597         (main): Use them.
3598
3599         stdnoreturn, stdnoreturn-tests: remove modules
3600         They're not needed here and a bit premature for use elsewhere.  See
3601         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
3602         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
3603         * tests/test-stdnoreturn.c: Remove files.
3604         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
3605         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
3606         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
3607         and using noreturn.
3608         * modules/openat, modules/sigpipe-die, modules/xalloc:
3609         * modules/xmemdup0, modules/xstrtol:
3610         Remove dependency on stdnoreturn.
3611
3612         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
3613         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
3614         Reparenthesize to avoid GCC warning.
3615         Support Microsoft's syntax.
3616         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
3617
3618         _Noreturn-tests: remove module
3619         * modules/_Noreturn-tests: Remove.
3620         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
3621         * tests/test-_Noreturn.c: Remove.
3622         * tests/test-stdnoreturn.c: Merge from the old
3623         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
3624
3625 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
3626
3627         _Noreturn, stdnoreturn, and related modules.
3628
3629         * top/maint.mk: Adjust to new noreturn support.
3630         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
3631         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
3632
3633         xalloc: use stdnoreturn.h
3634         * lib/xalloc.h: Include <stdnoreturn.h>.
3635         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
3636         * modules/xalloc (Depends-on): Add stdnoreturn.
3637
3638         xstrtol: use stdnoreturn.h
3639         * lib/xstrtol.h: Include <stdnoreturn.h>.
3640         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
3641         * modules/xstrtol (Depends-on): Add stdnoreturn.
3642
3643         xmemdup0: use stdnoreturn.h
3644         * lib/xmemdup0.h: Include <stdnoreturn.h>.
3645         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
3646         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
3647
3648         sigpipe-die: use stdnoreturn.h
3649         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
3650         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
3651         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
3652
3653         openat: use stdnoreturn.h
3654         * lib/openat.h: Include <stdnoreturn.h>.
3655         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
3656         * modules/openat (Depends-on): Add stdnoreturn.
3657
3658         * lib/openat-die.c (openat_save_fail): Modernize comment.
3659
3660         * lib/xalloc-die.c (xalloc_die): Modernize comment.
3661
3662         * lib/glthread/thread.h: Modernize comment.
3663
3664         obstack: use _Noreturn
3665         * lib/obstack.c (__attribute__): Remove macro.
3666         (print_and_abort): Use _Noreturn.
3667
3668         c-stack: use _Noreturn
3669         * lib/c-stack.c (die, overflow_handler, segv_handler):
3670         Use _Noreturn rather than __attribute__((noreturn)).
3671
3672         argmatch-tests, exclude_tests: use _Noreturn
3673         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
3674         Remove.
3675         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
3676
3677         stdlib: use _Noreturn
3678         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
3679         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
3680         * modules/stdlib (Depends-on): Add _Noreturn.
3681         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
3682
3683         stdnoreturn-tests: new module
3684         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
3685
3686         stdnoreturn: new module
3687         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
3688         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
3689
3690         _Noreturn-tests: new module
3691         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
3692
3693         _Noreturn: new module
3694         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
3695         New section, mentioning it.
3696         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
3697
3698         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
3699
3700 2011-07-11  Eric Blake  <eblake@redhat.com>
3701
3702         ffs: new module
3703         * modules/ffs: New file.
3704         * m4/ffs.m4: Likewise.
3705         * lib/ffs.c: Likewise.
3706         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
3707         * modules/strings (Makefile.am): Substitute witness.
3708         (Depends-on): Add c++defs.
3709         * lib/strings.in.h (ffs): Declare.
3710         * modules/ffs-tests: New test file.
3711         * tests/test-ffs.c: Test new module.
3712         * MODULES.html.sh (Integer arithmetic functions): Mention it.
3713         * doc/posix-functions/ffs.texi (ffs): Likewise.
3714
3715         regex: avoid compiler warning
3716         * lib/regex.c (includes): Include <strings.h>, for use of
3717         strcasecmp in regcomp.c.
3718         Reported by Joachim Schmitz.
3719
3720 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
3721
3722         stdint: respect system's intmax_t if INTMAX_MAX
3723         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
3724         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
3725         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
3726         long but int64_t is long long, and where we will clash with the
3727         system intmax_t if we override it.  See
3728         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
3729         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
3730         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
3731         similarly for UINTMAX_C.
3732
3733 2011-07-08  Bruno Haible  <bruno@clisp.org>
3734
3735         pthread_sigmask tests: Avoid a compiler warning.
3736         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
3737         non-zero.
3738
3739         sigprocmask tests: A better way to avoid a compiler warning.
3740         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
3741         (main): Complain if system() returns non-zero.
3742         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
3743
3744 2011-07-08  Bruno Haible  <bruno@clisp.org>
3745
3746         pthread_sigmask: Work around IRIX bug.
3747         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
3748         bug.
3749         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
3750         there may be unblocked pending signals.
3751         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
3752
3753 2011-07-08  Bruno Haible  <bruno@clisp.org>
3754
3755         pthread_sigmask: Work around Cygwin bug.
3756         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
3757         bug.
3758         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
3759         the system's pthread_sigmask function.
3760         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
3761
3762 2011-07-08  Bruno Haible  <bruno@clisp.org>
3763
3764         pthread_sigmask: Work around bug in single-threaded implementation.
3765         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
3766         FreeBSD, HP-UX, Solaris bug.
3767         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
3768         * lib/pthread_sigmask.c: Include <stddef.h>.
3769         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
3770         the system's pthread_sigmask function.
3771         * modules/pthread_sigmask (configure.ac): Invoke
3772         gl_PREREQ_PTHREAD_SIGMASK.
3773         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
3774         HP-UX, Solaris.
3775
3776 2011-07-08  Eric Blake  <eblake@redhat.com>
3777
3778         test-sigprocmask: avoid compiler warning
3779         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
3780         * tests/test-sigprocmask.c (main): Use it to silence warning.
3781         Reported by Jim Meyering.
3782
3783         test-snprintf: avoid compiler warning
3784         * tests/test-snprintf.c (main): Avoid shadowed declaration.
3785         * tests/test-vsnprintf.c (main): Likewise.
3786         Reported by Jim Meyering.
3787
3788 2011-07-08  Bruno Haible  <bruno@clisp.org>
3789
3790         Tests for module 'pthread_sigmask'.
3791         * modules/pthread_sigmask-tests: New file.
3792         * tests/test-pthread_sigmask1.c: New file, based on
3793         tests/test-sigprocmask.c.
3794         * tests/test-pthread_sigmask2.c: New file.
3795
3796 2011-07-08  Jim Meyering  <meyering@redhat.com>
3797
3798         test-getopt.h: avoid warning about an unused variable
3799         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
3800
3801 2011-07-07  Jim Meyering  <meyering@redhat.com>
3802
3803         maint: reduce list of files exempt from sc_prohibit_leading_TABs
3804         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
3805         now that it no longer contains leading TABs.
3806         Remove unused "url=FIXME" statement.
3807
3808 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
3809
3810         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
3811         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
3812         When gl_THREADLIB is not in use, assume that the POSIX sematics
3813         are desired.  This is better for Emacs, which uses POSIX semantics
3814         on GNUish and/or POSIXish platforms, and does not use threads at
3815         all otherwise.
3816
3817         pthread_sigmask: fix typo when testing for libraries
3818         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
3819         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
3820
3821 2011-07-08  Eric Blake  <eblake@redhat.com>
3822
3823         fts: introduce FTS_NOATIME
3824         * lib/fts_.h (FTS_NOATIME): New bit flag.
3825         (FTS_OPTIONMASK): Adjust.
3826         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
3827         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
3828
3829 2011-07-08  Bruno Haible  <bruno@clisp.org>
3830
3831         Tests for module 'thread'.
3832         * modules/thread-tests: New file.
3833         * tests/test-thread_self.c: New file.
3834         * tests/test-thread_create.cc: New file.
3835
3836 2011-07-08  Bruno Haible  <bruno@clisp.org>
3837
3838         thread: Avoid gcc warnings when using gl_thread_self().
3839         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
3840         'void *'.
3841         (gl_thread_self_pointer): Update.
3842
3843 2011-07-07  Bruno Haible  <bruno@clisp.org>
3844
3845         signal-c++-tests: Check declaration of pthread_sigmask.
3846         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
3847         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
3848         $(LIB_PTHREAD_SIGMASK).
3849
3850 2011-07-07  Bruno Haible  <bruno@clisp.org>
3851
3852         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
3853         * lib/signal.in.h (pthread_sigmask): Override if
3854         REPLACE_PTHREAD_SIGMASK is 1.
3855         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
3856         REPLACE_PTHREAD_SIGMASK.
3857         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
3858         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
3859         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
3860         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
3861         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
3862
3863 2011-07-07  Bruno Haible  <bruno@clisp.org>
3864
3865         pthread_sigmask: Ensure declaration in <signal.h>.
3866         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
3867         include <pthread.h>.
3868         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
3869         problem.
3870
3871 2011-07-07  Bruno Haible  <bruno@clisp.org>
3872
3873         pthread_sigmask: Document the module.
3874         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
3875
3876 2011-07-07  Bruno Haible  <bruno@clisp.org>
3877
3878         pthread_sigmask: Follow gnulib conventions.
3879         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
3880         gl_PTHREAD_SIGMASK.
3881         * modules/pthread_sigmask (configure.ac): Update.
3882
3883 2011-07-07  Bruno Haible  <bruno@clisp.org>
3884
3885         pthread_sigmask: Make declaration C++ safe.
3886         * lib/signal.in.h: In two special conditions, just do an #include_next.
3887         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
3888         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
3889         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
3890         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
3891         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
3892         not REPLACE_PTHREAD_MASK.
3893         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
3894         not REPLACE_PTHREAD_MASK.
3895         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
3896
3897 2011-07-07  Bruno Haible  <bruno@clisp.org>
3898
3899         pthread_sigmask: Fix return value.
3900         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
3901         * lib/pthread_sigmask.c: New file.
3902         * modules/pthread_sigmask (Files): Add it.
3903         (configure.ac): Invoke AC_LIBOBJ.
3904
3905 2011-07-07  Eric Blake  <eblake@redhat.com>
3906
3907         getopt: more portable argv creation
3908         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
3909         const, use char arrays rather than strings.
3910         Suggested by Paul Eggert.
3911
3912 2011-07-07  Bruno Haible  <bruno@clisp.org>
3913
3914         Tests for module 'sigprocmask'.
3915         * modules/sigprocmask-tests: New file.
3916         * tests/test-sigprocmask.c: New file.
3917
3918 2011-07-07  Bruno Haible  <bruno@clisp.org>
3919
3920         float tests: Tweak.
3921         * tests/test-float.c (main): Tweak skip message.
3922
3923 2011-07-07  Eric Blake  <eblake@redhat.com>
3924
3925         getopt: avoid compiler warning during configure
3926         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
3927         assigning string literals to non-const pointer.
3928
3929         getopt-gnu: avoid crash in glibc getopt
3930         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
3931         * tests/test-getopt.h (test_getopt): Enhance test.
3932         * tests/test-getopt_long.h (test_getopt_long): Likewise.
3933         * doc/posix-functions/getopt.texi (getopt): Document it.
3934         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
3935         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
3936         Likewise.
3937
3938 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
3939
3940         getopt: handle W; without long options in getopt [BZ #12922]
3941         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
3942         but no long options are defined, just return 'W'.
3943
3944 2011-07-07  Bruno Haible  <bruno@clisp.org>
3945
3946         Avoid literal tabs.
3947         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
3948         variable containing a tab instead of a literal tab.
3949         Reported by Jim Meyering.
3950
3951 2011-07-07  Bruno Haible  <bruno@clisp.org>
3952
3953         Comments.
3954         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
3955
3956 2011-07-06  Bruno Haible  <bruno@clisp.org>
3957
3958         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
3959         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
3960         <winsock2.h>.
3961         (rpl_fd_isset, FD_ISSET): New definitions, copied from
3962         lib/sys_socket.in.h.
3963         (close, gethostname): Hide declarations from <winsock2.h>.
3964         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
3965         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
3966         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
3967         (select): Don't override if gnulib's <sys/select.h> was already
3968         included.
3969         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
3970         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
3971         setsockopt, shutdown, select): Tweak indentation.
3972
3973 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3974
3975         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
3976         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
3977         in an application that does not use the sys_select module.
3978
3979 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
3980
3981         poll: do not return 0 on timeout=-1
3982         * lib/poll.c: Loop with yield if no events occured
3983
3984 2011-07-06  Eric Blake  <eblake@redhat.com>
3985
3986         pthread_sigmask: always replace when not using pthread
3987         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
3988         replacement when using some threading other than pthread.  Fix
3989         logic bug.
3990
3991 2011-07-06  Bruno Haible  <bruno@clisp.org>
3992
3993         Comments.
3994         * m4/printf.m4: Update comments about mingw.
3995
3996 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3997
3998         sys_select: define sigset_t more portably
3999         * lib/sys_select.in.h: Always include <sys/types.h>, since
4000         we now need sigset_t and mingw defines it there.
4001         Include <signal.h> before split inclusion guard, to avoid
4002         mishaps on Solaris, whose <signal.h> eventually includes us.
4003         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
4004         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
4005         which come from ...
4006         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
4007         gl_CHECK_TYPE_SIGSET_T.
4008         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
4009         does the real work.
4010         * modules/sys_select (Depends-on): Add 'signal'.
4011
4012         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
4013         Suggested by Bruno Haible.
4014
4015         pselect: Use pthread_sigmask, not sigprocmask.
4016         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
4017         multithreaded apps better than sigprocmask does.
4018         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
4019         sigprocmask directly.
4020
4021 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
4022
4023         * lib/pselect.c (pselect): Use plain name, without "rpl_".
4024         Don't #undef,  since we don't need any underlying pselect.
4025         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
4026         (Depends-on): Add select.
4027         (Link): Add $(LIBSOCKET).
4028         These changes suggested by Bruno Haible.
4029
4030         pselect: document better
4031         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
4032         * doc/posix-functions/pselect.texi (pselect): Document new module.
4033
4034         pthread_sigmask: new module
4035         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
4036         * doc/posix-functions/pthread_sigmask.texi: Document new module.
4037         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
4038         This is done only as a macro; I don't know how well that'll
4039         work for C++.  Move <sys/types.h> include before the include_next,
4040         to avoid mishap on Solaris.
4041         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
4042         * modules/signal (Makefile.am): Substitute the check's results.
4043         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
4044
4045         test-pselect: new module
4046         * modules/pselect-tests, tests/test-pselect.c: New files.
4047         * tests/test-select.c, tests/test-sys_select-c++.cc:
4048         If TEST_PSELECT is defined, test pselect instead of testing select.
4049
4050         * tests/test-sys_select.c (sigset_t): Test for it, too.
4051         Suggested by Bruno Haible.
4052
4053 2011-07-05  Eric Blake  <eblake@redhat.com>
4054
4055         snprintf: guarantee %1$d, for libintl
4056         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
4057         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
4058         * doc/posix-functions/snprintf.texi (snprintf): Update.
4059         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
4060         * tests/test-snprintf.c (main): Enhance test.
4061         * tests/test-vsnprintf.c (main): Likewise.
4062
4063 2011-07-05  Jim Meyering  <meyering@redhat.com>
4064
4065         maint: exempt stdio-read.c and stdio-write.c from the cppi check
4066         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
4067         per Bruno's request, to accommodate this idiom (no space after "#")
4068         even when the function is inside an #if block:
4069         char *
4070         gets (char *s)
4071         #undef gets
4072         {
4073           ...
4074         }
4075
4076 2011-07-04  Jim Meyering  <meyering@redhat.com>
4077
4078         maint: indent with spaces, not TABs, and add a rule to check this
4079         * tests/test-userspec.c: Indent with spaces, not TABs.
4080         * tests/test-argp.c: Likewise.
4081         * tests/test-c-stack2.sh: Likewise.
4082         * tests/test-parse-duration.sh: Likewise
4083         * m4/strtod.m4: Likewise.
4084         * m4/alloca.m4: Likewise.
4085         * m4/pselect.m4: Likewise.
4086         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
4087
4088 2011-07-03  Jim Meyering  <meyering@redhat.com>
4089
4090         maint.mk: correct omissions in prohibit_argmatch_without_use check
4091         This rule would mistakenly report that argmatch.h is included without
4092         use even when both the argmatch and invalid_arg macro were used.
4093         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
4094         of argmatch and invalid_arg.
4095
4096 2011-07-03  Bruno Haible  <bruno@clisp.org>
4097
4098         Comments about EINTR.
4099         * lib/safe-read.h: Explain the purpose of this module.
4100         * lib/safe-write.h: Likewise.
4101         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
4102         module.
4103         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
4104         module.
4105         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4106
4107 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
4108
4109         xnanosleep: Rewrite to use new dtotimespec module.
4110         It has the conversion code that used to be in xnanosleep.
4111         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
4112         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
4113         (TIME_T_MAX): Remove.
4114         (xnanosleep): Rewrite in terms of dtotimespec.
4115         * modules/xnanosleep (Depends-on): Add dtotimespec.
4116         Remove intprops, stdbool.
4117
4118         timespec-add, timespec-sub: new modules
4119         * lib/timespec.h (timespec_add, timespec_sub): New decls.
4120         * lib/timespec-add.c, lib/timespec-sub.c:
4121         * modules/timespec-add, modules/timespec-sub: New files.
4122
4123         dtotimespec: new module
4124         * lib/timespec.h (dtotimespec): New decl.
4125         * lib/dtotimespec.c, modules/dtotimespec: New files.
4126
4127         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
4128
4129         pselect: new module
4130         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
4131         (pselect): New decls.
4132         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
4133         since the standard pselect decl uses 'restrict'.
4134         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
4135         HAVE_PSELECT, REPLACE_PSELECT.
4136         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
4137         HAVE_PSELECT, REPLACE_PSELECT.
4138         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
4139
4140         sys_select: don't depend on sys_socket
4141         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
4142         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
4143         This fix works on GNU and GNU-like platforms, but has not been tested
4144         on native Windows.
4145         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
4146         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
4147         gl_HEADER_SYS_SOCKET.
4148         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
4149         gl_PREREQ_SYS_H_WINSOCK2.
4150
4151 2011-06-29  Eric Blake  <eblake@redhat.com>
4152
4153         pipe2: fix C89 compile problem
4154         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
4155         Reported by Bruno Haible.
4156
4157         pipe, pipe2: don't corrupt fd on error
4158         * lib/pipe.c (pipe): Leave fd unchanged on error.
4159         * lib/pipe2.c (pipe2): Likewise.
4160         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
4161         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
4162
4163 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
4164
4165         mmap-anon: do not use regular expressions inadvertently
4166         * m4/mmap-anon.m4: Remove trailing period from strings sought
4167         in the output.
4168
4169 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
4170
4171         nanosleep: fix integer overflow problem
4172         * lib/nanosleep.c (my_usleep): Don't assume signed integer
4173         arithmetic wraps around on overflow.
4174
4175         nanosleep: simplify carrying
4176         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
4177         first call to the underyling nanosleep, not for the last one.
4178         This doesn't fix any bugs, but it simplifies the computation of
4179         the remaining delay.  Found while auditing integer overflow issues.
4180
4181         dup2: remove test for existence of fcntl
4182         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
4183         "#if HAVE_FCNTL", in the configure-time test program.
4184         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
4185         and therefore speeds up "configure" a bit.  Found while
4186         adding the dup2 module to Emacs.
4187
4188 2011-06-24  Eric Blake  <eblake@redhat.com>
4189
4190         maint.mk: enhance useless header checks
4191         * top/maint.mk (_sc_header_without_use): Check both include
4192         styles.
4193         (sc_prohibit_assert_without_use)
4194         (sc_prohibit_close_stream_without_use)
4195         (sc_prohibit_getopt_without_use)
4196         (sc_prohibit_quotearg_without_use)
4197         (sc_prohibit_quote_without_use)
4198         (sc_prohibit_long_options_without_use)
4199         (sc_prohibit_inttostr_without_use)
4200         (sc_prohibit_ignore_value_without_use)
4201         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
4202         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
4203         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
4204         (sc_prohibit_hash_pjw_without_use)
4205         (sc_prohibit_safe_read_without_use)
4206         (sc_prohibit_argmatch_without_use)
4207         (sc_prohibit_canonicalize_without_use)
4208         (sc_prohibit_root_dev_ino_without_use)
4209         (sc_prohibit_openat_without_use)
4210         (sc_prohibit_c_ctype_without_use)
4211         (sc_prohibit_signal_without_use)
4212         (sc_prohibit_stdio--_without_use)
4213         (sc_prohibit_stdio-safer_without_use)
4214         (sc_prohibit_strings_without_use)
4215         (sc_prohibit_intprops_without_use)
4216         (sc_prohibit_stddef_without_use)
4217         (sc_prohibit_xfreopen_without_use): Update clients.
4218
4219 2011-06-24  Jim Meyering  <meyering@redhat.com>
4220
4221         syntax-check: keep one maint.mk rule in sync with its header
4222         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
4223         of the bug Eric has just fixed, with today's commit 25e4c2ec.
4224         I prefer to avoid temporary files here, so use <(...), but that
4225         is not supported by /bin/sh, so...
4226         (SHELL): Define to /bin/bash.
4227
4228 2011-06-24  Eric Blake  <eblake@redhat.com>
4229
4230         maint.mk: update sc_prohibit_intprops_without_use
4231         * top/maint.mk (_intprops_names): Match recent changes.
4232
4233 2011-06-24  Bruno Haible  <bruno@clisp.org>
4234
4235         strerror-override: No-op tweak.
4236         * lib/strerror-override.h (strerror_override): Reorder conditions,
4237         for consistency with lib/strerror-override.c.
4238
4239 2011-06-23  Eric Blake  <eblake@redhat.com>
4240
4241         maint.mk: test further PATH_MAX issues
4242         * top/maint.mk (sc_prohibit_path_max_array): Rename...
4243         (sc_prohibit_path_max_allocation): ...and also test alloca.
4244         Suggested by Jim Meyering.
4245
4246 2011-06-22  Eric Blake  <eblake@redhat.com>
4247
4248         maint.mk: add syntax-check to avoid char[PATH_MAX]
4249         * top/maint.mk (sc_prohibit_path_max_array): New rule.
4250
4251         stat: be robust to PATH_MAX definition
4252         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
4253         * modules/stat (Depends-on): Add verify.
4254
4255         link: work around IRIX bug
4256         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
4257         * lib/link.c (rpl_link): Work around it.
4258         * tests/test-link.h (test_link): Enhance test.
4259         * doc/posix-functions/link.texi (link): Document the bug.
4260
4261         getopt: silence clang warning
4262         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
4263         dereference.
4264         Reported by Gustavo Martin Domato.
4265
4266 2011-06-22  Jim Meyering  <meyering@redhat.com>
4267
4268         bootstrap: do not insert a blank line into each .gitignore file
4269         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
4270
4271 2011-06-21  Eric Blake  <eblake@redhat.com>
4272
4273         perror: test for output mismatch
4274         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
4275         perror on IRIX.
4276
4277         strerror_r: fix OpenBSD behavior on out-of-range
4278         * lib/strerror_r.c (strerror_r): Always use maximal string.
4279         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
4280
4281         strerror_r: fix OpenBSD behavior on 0
4282         * lib/strerror-override.c (strerror_override): Also override 0
4283         when needed.
4284         * lib/strerror-override.h (strerror_override): Likewise.
4285         * lib/strerror.c (strerror): Simplify, now that 0 override is done
4286         earlier.
4287         * lib/strerror_r.c (strerror_r): Likewise.
4288         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
4289         behavior...
4290         (gl_FUNC_STRERROR_0): ...into new macro.
4291         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
4292         is overridden.
4293         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
4294         * modules/strerror-override (Files): Add strerror.m4.
4295         (configure.ac): Also provide override for 0 when needed.
4296         * doc/posix-functions/strerror.texi (strerror): Document this.
4297         * doc/posix-functions/perror.texi (perror): Likewise.
4298
4299         perror: adjust array size
4300         * modules/perror (Depends-on): Add strerror-override.
4301         * lib/perror.c (perror): Use it to avoid magic number.
4302
4303         strerror-override: reduce size
4304         * lib/strerror-override.c (strerror_override): Use fewer lines.
4305
4306 2011-06-20  Bruno Haible  <bruno@clisp.org>
4307
4308         pathmax: Ensure correct value for PATH_MAX on HP-UX.
4309         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
4310
4311 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
4312
4313         alloca: port to compilers that can optimize like GCC 4.6.0
4314         * lib/alloca.c (find_stack_direction): New signature, taken from
4315         Autoconf git.  This works with GCC 4.6.0.  This code should never
4316         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
4317         be used with other compilers that optimize as well as GCC 4.6.0 does.
4318         (alloca): Adjust to new signature.
4319         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
4320         New macro, which patches Autoconf in a similar way.
4321
4322         c-stack: stop worrying about stack direction
4323         * lib/c-stack.c (find_stack_direction): Remove.
4324         (segv_handler): Don't worry about stack direction growth, as it's
4325         too much of a pain to configure this correctly, given how compilers
4326         are optimizing-away our stack-growth detection code.  Instead, assume
4327         that any access to just before or just after the stack is OK.
4328         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
4329         Don't require AC_FUNC_ALLOCA; no longer needed.
4330
4331 2011-06-20  Eric Blake  <eblake@redhat.com>
4332
4333         test-stat: don't allocate PATH_MAX bytes
4334         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
4335         PATH_MAX-sized buffer.
4336         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
4337         * modules/stat-tests (Depends-on): Likewise.
4338         * tests/test-fstatat.c (includes): Drop pathmax.h.
4339         * tests/test-stat.c (includes): Likewise.
4340         Reported by Bruno Haible.
4341
4342 2011-06-20  Bruno Haible  <bruno@clisp.org>
4343
4344         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
4345         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
4346         * lib/float.c: New file.
4347         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
4348         REPLACE_FLOAT_LDBL.
4349         * modules/float (Files): Add lib/float.c.
4350         (configure.ac): Invoke AC_LIBOBJ.
4351         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
4352
4353 2011-06-20  Bruno Haible  <bruno@clisp.org>
4354
4355         Tests for module 'float'.
4356         * modules/float-tests: New file.
4357         * tests/test-float.c: New file.
4358
4359 2011-06-19  Bruno Haible  <bruno@clisp.org>
4360
4361         isinf: Coding style.
4362         * lib/isinf.c: Use GNU coding style.
4363
4364 2011-06-19  Bruno Haible  <bruno@clisp.org>
4365
4366         linkat test: Avoid test failure on AIX 7.1.
4367         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
4368         * tests/test-link.h (test_link): Likewise.
4369
4370 2011-06-19  Bruno Haible  <bruno@clisp.org>
4371
4372         pread test: Avoid test failure on OpenBSD 4.9.
4373         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
4374
4375 2011-06-19  Bruno Haible  <bruno@clisp.org>
4376
4377         sprintf-posix: Fix test failure on AIX 7.1.
4378         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
4379         * doc/posix-functions/dprintf.texi: Mention limited precision problem
4380         on AIX.
4381         * doc/posix-functions/fprintf.texi: Likewise.
4382         * doc/posix-functions/printf.texi: Likewise.
4383         * doc/posix-functions/snprintf.texi: Likewise.
4384         * doc/posix-functions/sprintf.texi: Likewise.
4385         * doc/posix-functions/vdprintf.texi: Likewise.
4386         * doc/posix-functions/vfprintf.texi: Likewise.
4387         * doc/posix-functions/vprintf.texi: Likewise.
4388         * doc/posix-functions/vsnprintf.texi: Likewise.
4389         * doc/posix-functions/vsprintf.texi: Likewise.
4390
4391 2011-06-19  Bruno Haible  <bruno@clisp.org>
4392
4393         roundl-ieee: Fix test failure on AIX 7.1.
4394         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
4395         * doc/posix-functions/roundl.texi: Mention problem with negative
4396         arguments.
4397
4398 2011-06-19  Bruno Haible  <bruno@clisp.org>
4399
4400         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
4401         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
4402         * doc/posix-functions/round.texi: Mention problem with negative
4403         arguments.
4404         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
4405
4406 2011-06-19  Bruno Haible  <bruno@clisp.org>
4407
4408         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
4409         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
4410         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
4411         * doc/posix-functions/roundf.texi: Mention problem with negative
4412         arguments.
4413         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
4414
4415 2011-06-19  Bruno Haible  <bruno@clisp.org>
4416
4417         ceilf-ieee: Work around bug on MacOS X 10.5.
4418         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
4419
4420         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
4421         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
4422         IEEE compliant, avoid compiler optimizations.
4423         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
4424         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
4425         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
4426         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
4427         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
4428         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
4429         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
4430         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
4431         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
4432         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
4433
4434 2011-06-19  Bruno Haible  <bruno@clisp.org>
4435
4436         ceilf-ieee: Work around bug on AIX 7.1.
4437         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
4438         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
4439
4440 2011-06-19  Bruno Haible  <bruno@clisp.org>
4441
4442         ceil-ieee: Work around bug on AIX 7.1.
4443         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
4444         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
4445
4446 2011-06-18  Bruno Haible  <bruno@clisp.org>
4447
4448         fsync test: Avoid test failure on MacOS X and AIX.
4449         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
4450         EINVAL.
4451
4452 2011-06-18  Bruno Haible  <bruno@clisp.org>
4453
4454         openat, fdopendir tests: Fix link errors.
4455         * modules/openat-tests (Depends-on): Add progname.
4456         * modules/fdopendir-tests (Depends-on): Likewise.
4457         * tests/test-fchownat.c: Include progname.h.
4458         (main): Call set_program_name.
4459         * tests/test-fstatat.c: Include progname.h.
4460         (main): Call set_program_name.
4461         * tests/test-mkdirat.c: Include progname.h.
4462         (main): Call set_program_name.
4463         * tests/test-openat.c: Include progname.h.
4464         (main): Call set_program_name.
4465         * tests/test-unlinkat.c: Include progname.h.
4466         (main): Call set_program_name.
4467         * tests/test-fdopendir.c: Include progname.h.
4468         (main): Call set_program_name.
4469
4470 2011-06-18  Bruno Haible  <bruno@clisp.org>
4471
4472         Doc update.
4473         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
4474         HP-UX.
4475         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
4476
4477 2011-06-18  Bruno Haible  <bruno@clisp.org>
4478
4479         getcwd tests: Avoid compilation error on HP-UX 11.31.
4480         * modules/getcwd-tests (Depends-on): Add pathmax.
4481         * tests/test-getcwd.c: Include pathmax.h.
4482
4483 2011-06-18  Bruno Haible  <bruno@clisp.org>
4484
4485         isfinite, isinf: Fix link error on AIX 6 and 7.
4486         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
4487         needed, also test the macro with a 'float' argument.
4488         * m4/isinf.m4 (gl_ISINF): Likewise.
4489
4490 2011-06-18  Bruno Haible  <bruno@clisp.org>
4491
4492         getloadavg: Don't clobber LIBS. Regression from previous commit.
4493         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
4494         AC_CHECK_LIB from here...
4495         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
4496         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
4497         gl_func_getloadavg_done.
4498         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4499
4500 2011-06-18  Bruno Haible  <bruno@clisp.org>
4501
4502         clean-temp: Improve documentation.
4503         * lib/clean-temp.h: Explain better how to use this module.
4504         Reported by John Darrington <john@darrington.wattle.id.au>.
4505
4506 2011-06-17  Bruno Haible  <bruno@clisp.org>
4507
4508         pread, pwrite: Avoid cc warning on AIX.
4509         * lib/unistd.in.h (pread): Undefine before defining as a macro.
4510         (pwrite): Likewise.
4511
4512 2011-06-17  Bruno Haible  <bruno@clisp.org>
4513
4514         spawn-pipe tests: Fix link error.
4515         * tests/test-spawn-pipe-child.c: Undefine fprintf.
4516         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4517
4518 2011-06-17  Bruno Haible  <bruno@clisp.org>
4519
4520         Tests: Remove unnecessary dependency.
4521         * modules/canonicalize-tests (Depends-on): Remove progname.
4522         * modules/chown-tests (Depends-on): Likewise.
4523         * modules/dirname-tests (Depends-on): Likewise.
4524         * modules/fdopendir-tests (Depends-on): Likewise.
4525         * modules/fdutimensat-tests (Depends-on): Likewise.
4526         * modules/hash-tests (Depends-on): Likewise.
4527         * modules/lchown-tests (Depends-on): Likewise.
4528         * modules/linkat-tests (Depends-on): Likewise.
4529         * modules/renameat-tests (Depends-on): Likewise.
4530         * modules/spawn-pipe-tests (Depends-on): Likewise.
4531         * modules/utimensat-tests (Depends-on): Likewise.
4532
4533 2011-06-17  Bruno Haible  <bruno@clisp.org>
4534
4535         spawn-pipe tests: Fix link error.
4536         * tests/test-spawn-pipe-child.c: Undefine fflush.
4537
4538 2011-06-17  Bruno Haible  <bruno@clisp.org>
4539
4540         Fix tests link errors.
4541         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
4542         * modules/chown-tests (Makefile.am): Don't link test-chown with
4543         LIBINTL.
4544         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
4545         LIBINTL.
4546         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
4547         LIBINTL.
4548         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
4549         LIBINTL.
4550
4551 2011-06-16  Bruno Haible  <bruno@clisp.org>
4552
4553         crypto/gc-sha1: Fix recent regression.
4554         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
4555         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
4556
4557         crypto/gc-md5: Fix recent regression.
4558         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
4559
4560         crypto/gc-md4: Fix recent regression.
4561         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
4562         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
4563
4564         crypto/gc-arctwo: Fix recent regression.
4565         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
4566         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
4567
4568         crypto/gc-rijndael: Fix recent regression.
4569         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
4570         (configure.ac): Invoke AC_LIBOBJ here.
4571         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
4572         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4573
4574         crypto/gc-hmac-sha1: Fix recent regression.
4575         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
4576         (configure.ac): Invoke AC_LIBOBJ here.
4577         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
4578         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4579
4580         crypto/gc-hmac-md5: Fix recent regression.
4581         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
4582         (configure.ac): Invoke AC_LIBOBJ here.
4583         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
4584         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4585
4586         crypto/gc-des: Fix recent regression.
4587         * modules/crypto/gc-des (Files): Remove m4/des.m4.
4588         (configure.ac): Invoke AC_LIBOBJ here.
4589         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
4590         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4591
4592         crypto/gc-arcfour: Fix recent regression.
4593         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
4594         (configure.ac): Invoke AC_LIBOBJ here.
4595         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
4596         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4597
4598 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
4599
4600         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
4601         After the 2011-05-21 change, this macro requires
4602         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
4603         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
4604
4605 2011-06-16  Bruno Haible  <bruno@clisp.org>
4606
4607         fprintftime: Move AC_LIBOBJ invocations to module description.
4608         * m4/fprintftime.m4: Remove file.
4609         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
4610         (configure.ac): Remove gl_FPRINTFTIME call.
4611         (Makefile.am): Augment lib_SOURCES.
4612         Reported by Jim Meyering.
4613
4614 2011-06-16  Bruno Haible  <bruno@clisp.org>
4615
4616         tmpfile-safer: Finish 2011-05-23 commit.
4617         * m4/stdio-safer.m4: Really remove file.
4618         Reported by Jim Meyering.
4619
4620 2011-06-16  Bruno Haible  <bruno@clisp.org>
4621
4622         syntax-check: Fix typo.
4623         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
4624         printf-posix.m4.
4625         Reported by Jim Meyering.
4626
4627 2011-06-13  Jim Meyering  <meyering@redhat.com>
4628
4629         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
4630         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
4631
4632 2011-05-23  Bruno Haible  <bruno@clisp.org>
4633
4634         yesno: Move AC_LIBOBJ invocations to module description.
4635         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
4636         * modules/yesno (Makefile.am): Augment lib_SOURCES.
4637
4638 2011-05-23  Bruno Haible  <bruno@clisp.org>
4639
4640         xstrtol: Move AC_LIBOBJ invocations to module description.
4641         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
4642         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
4643
4644 2011-05-23  Bruno Haible  <bruno@clisp.org>
4645
4646         xstrtold: Move AC_LIBOBJ invocations to module description.
4647         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
4648         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
4649
4650 2011-05-23  Bruno Haible  <bruno@clisp.org>
4651
4652         xstrtod: Move AC_LIBOBJ invocations to module description.
4653         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
4654         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
4655
4656 2011-05-23  Bruno Haible  <bruno@clisp.org>
4657
4658         xnanosleep: Move AC_LIBOBJ invocations to module description.
4659         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
4660         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
4661
4662 2011-05-23  Bruno Haible  <bruno@clisp.org>
4663
4664         xgetcwd: Move AC_LIBOBJ invocations to module description.
4665         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
4666         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
4667
4668 2011-05-23  Bruno Haible  <bruno@clisp.org>
4669
4670         xalloc: Move AC_LIBOBJ invocations to module description.
4671         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
4672         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
4673
4674 2011-05-23  Bruno Haible  <bruno@clisp.org>
4675
4676         write-any-file: Move AC_LIBOBJ invocations to module description.
4677         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
4678         invocation.
4679         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
4680
4681 2011-05-23  Bruno Haible  <bruno@clisp.org>
4682
4683         utimens: Move AC_LIBOBJ invocations to module description.
4684         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
4685         * modules/utimens (Makefile.am): Augment lib_SOURCES.
4686
4687 2011-05-23  Bruno Haible  <bruno@clisp.org>
4688
4689         utimecmp: Move AC_LIBOBJ invocations to module description.
4690         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
4691         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
4692
4693 2011-05-23  Bruno Haible  <bruno@clisp.org>
4694
4695         userspec: Move AC_LIBOBJ invocations to module description.
4696         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
4697         * modules/userspec (Makefile.am): Augment lib_SOURCES.
4698
4699 2011-05-23  Bruno Haible  <bruno@clisp.org>
4700
4701         unlinkdir: Move AC_LIBOBJ invocations to module description.
4702         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
4703         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
4704
4705 2011-05-23  Bruno Haible  <bruno@clisp.org>
4706
4707         unistd-safer: Move AC_LIBOBJ invocations to module description.
4708         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
4709         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
4710
4711 2011-05-23  Bruno Haible  <bruno@clisp.org>
4712
4713         tempname: Move AC_LIBOBJ invocations to module description.
4714         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
4715         * modules/tempname (Makefile.am): Augment lib_SOURCES.
4716
4717 2011-05-23  Bruno Haible  <bruno@clisp.org>
4718
4719         strftime: Move AC_LIBOBJ invocations to module description.
4720         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
4721         * modules/strftime (Makefile.am): Augment lib_SOURCES.
4722
4723 2011-05-23  Bruno Haible  <bruno@clisp.org>
4724
4725         stdlib-safer: Move AC_LIBOBJ invocations to module description.
4726         * m4/stdlib-safer.m4: Remove file.
4727         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
4728         (configure.ac): Remove gl_STDLIB_SAFER call.
4729         (Makefile.am): Augment lib_SOURCES.
4730
4731 2011-05-23  Bruno Haible  <bruno@clisp.org>
4732
4733         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
4734         * m4/stdio-safer.m4: Remove file.
4735         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
4736         (configure.ac): Remove gl_TMPFILE_SAFER call.
4737         (Makefile.am): Augment lib_SOURCES.
4738
4739 2011-05-23  Bruno Haible  <bruno@clisp.org>
4740
4741         popen-safer: Move AC_LIBOBJ invocations to module description.
4742         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
4743         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
4744         (configure.ac): Remove gl_POPEN_SAFER call.
4745         (Makefile.am): Augment lib_SOURCES.
4746
4747 2011-05-23  Bruno Haible  <bruno@clisp.org>
4748
4749         freopen-safer: Move AC_LIBOBJ invocations to module description.
4750         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
4751         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
4752         (configure.ac): Remove gl_FREOPEN_SAFER call.
4753         (Makefile.am): Augment lib_SOURCES.
4754
4755 2011-05-23  Bruno Haible  <bruno@clisp.org>
4756
4757         fopen-safer: Move AC_LIBOBJ invocations to module description.
4758         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
4759         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
4760         (configure.ac): Remove gl_FOPEN_SAFER call.
4761         (Makefile.am): Augment lib_SOURCES.
4762
4763 2011-05-23  Bruno Haible  <bruno@clisp.org>
4764
4765         crypto/sha512: Move AC_LIBOBJ invocations to module description.
4766         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
4767         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
4768
4769 2011-05-23  Bruno Haible  <bruno@clisp.org>
4770
4771         crypto/sha256: Move AC_LIBOBJ invocations to module description.
4772         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
4773         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
4774
4775 2011-05-23  Bruno Haible  <bruno@clisp.org>
4776
4777         crypto/sha1: Move AC_LIBOBJ invocations to module description.
4778         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
4779         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
4780
4781 2011-05-23  Bruno Haible  <bruno@clisp.org>
4782
4783         settime: Move AC_LIBOBJ invocations to module description.
4784         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
4785         * modules/settime (Makefile.am): Augment lib_SOURCES.
4786
4787 2011-05-23  Bruno Haible  <bruno@clisp.org>
4788
4789         savedir: Move AC_LIBOBJ invocations to module description.
4790         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
4791         * modules/savedir (Makefile.am): Augment lib_SOURCES.
4792
4793 2011-05-23  Bruno Haible  <bruno@clisp.org>
4794
4795         save-cwd: Move AC_LIBOBJ invocations to module description.
4796         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
4797         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
4798
4799 2011-05-23  Bruno Haible  <bruno@clisp.org>
4800
4801         same: Move AC_LIBOBJ invocations to module description.
4802         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
4803         * modules/same (Makefile.am): Augment lib_SOURCES.
4804
4805 2011-05-23  Bruno Haible  <bruno@clisp.org>
4806
4807         safe-write: Move AC_LIBOBJ invocations to module description.
4808         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
4809         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
4810         instead of gl_SAFE_WRITE.
4811         (Makefile.am): Augment lib_SOURCES.
4812
4813 2011-05-23  Bruno Haible  <bruno@clisp.org>
4814
4815         safe-read: Move AC_LIBOBJ invocations to module description.
4816         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
4817         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
4818         of gl_SAFE_READ.
4819         (Makefile.am): Augment lib_SOURCES.
4820
4821 2011-05-23  Bruno Haible  <bruno@clisp.org>
4822
4823         safe-alloc: Move AC_LIBOBJ invocations to module description.
4824         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
4825         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
4826
4827 2011-05-23  Bruno Haible  <bruno@clisp.org>
4828
4829         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
4830         * m4/rijndael.m4: Remove file.
4831         * modules/crypto/rijndael (Files): Remove it.
4832         (configure.ac): Remove gl_RIJNDAEL call.
4833         (Makefile.am): Augment lib_SOURCES.
4834
4835 2011-05-23  Bruno Haible  <bruno@clisp.org>
4836
4837         readtokens: Move AC_LIBOBJ invocations to module description.
4838         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
4839         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
4840
4841 2011-05-23  Bruno Haible  <bruno@clisp.org>
4842
4843         read-file: Move AC_LIBOBJ invocations to module description.
4844         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
4845         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
4846         of gl_FUNC_READ_FILE.
4847         (Makefile.am): Augment lib_SOURCES.
4848
4849 2011-05-23  Bruno Haible  <bruno@clisp.org>
4850
4851         quotearg: Move AC_LIBOBJ invocations to module description.
4852         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
4853         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
4854
4855 2011-05-23  Bruno Haible  <bruno@clisp.org>
4856
4857         quote: Move AC_LIBOBJ invocations to module description.
4858         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
4859         * modules/quote (Makefile.am): Augment lib_SOURCES.
4860
4861 2011-05-23  Bruno Haible  <bruno@clisp.org>
4862
4863         posixver: Move AC_LIBOBJ invocations to module description.
4864         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
4865         * modules/posixver (Makefile.am): Augment lib_SOURCES.
4866
4867 2011-05-23  Bruno Haible  <bruno@clisp.org>
4868
4869         posixtm: Move AC_LIBOBJ invocations to module description.
4870         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
4871         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
4872
4873 2011-05-23  Bruno Haible  <bruno@clisp.org>
4874
4875         physmem: Move AC_LIBOBJ invocations to module description.
4876         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
4877         * modules/physmem (Makefile.am): Augment lib_SOURCES.
4878
4879 2011-05-23  Bruno Haible  <bruno@clisp.org>
4880
4881         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
4882         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
4883         invocation.
4884         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
4885
4886 2011-05-23  Bruno Haible  <bruno@clisp.org>
4887
4888         mpsort: Move AC_LIBOBJ invocations to module description.
4889         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
4890         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
4891
4892 2011-05-23  Bruno Haible  <bruno@clisp.org>
4893
4894         modechange: Move AC_LIBOBJ invocations to module description.
4895         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
4896         * modules/modechange (Makefile.am): Augment lib_SOURCES.
4897
4898 2011-05-23  Bruno Haible  <bruno@clisp.org>
4899
4900         mkdir-p: Move AC_LIBOBJ invocations to module description.
4901         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
4902         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
4903
4904 2011-05-23  Bruno Haible  <bruno@clisp.org>
4905
4906         mkancesdirs: Move AC_LIBOBJ invocations to module description.
4907         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
4908         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
4909
4910 2011-05-23  Bruno Haible  <bruno@clisp.org>
4911
4912         mgetgroups: Move AC_LIBOBJ invocations to module description.
4913         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
4914         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
4915
4916 2011-05-23  Bruno Haible  <bruno@clisp.org>
4917
4918         memxor: Move AC_LIBOBJ invocations to module description.
4919         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
4920         * modules/memxor (Makefile.am): Augment lib_SOURCES.
4921
4922 2011-05-23  Bruno Haible  <bruno@clisp.org>
4923
4924         memcoll: Move AC_LIBOBJ invocations to module description.
4925         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
4926         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
4927
4928 2011-05-23  Bruno Haible  <bruno@clisp.org>
4929
4930         memcasecmp: Move AC_LIBOBJ invocations to module description.
4931         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
4932         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
4933
4934 2011-05-23  Bruno Haible  <bruno@clisp.org>
4935
4936         crypto/md5: Move AC_LIBOBJ invocations to module description.
4937         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
4938         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
4939
4940 2011-05-23  Bruno Haible  <bruno@clisp.org>
4941
4942         crypto/md4: Move AC_LIBOBJ invocations to module description.
4943         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
4944         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
4945
4946 2011-05-23  Bruno Haible  <bruno@clisp.org>
4947
4948         crypto/md2: Move AC_LIBOBJ invocations to module description.
4949         * m4/md2.m4: Remove file.
4950         * modules/crypto/md2 (Files): Remove it.
4951         (configure.ac): Remove gl_MD2 call.
4952         (Makefile.am): Augment lib_SOURCES.
4953
4954 2011-05-23  Bruno Haible  <bruno@clisp.org>
4955
4956         long-options: Move AC_LIBOBJ invocations to module description.
4957         * m4/long-options.m4: Remove file.
4958         * modules/long-options (Files): Remove it.
4959         (configure.ac): Remove gl_LONG_OPTIONS call.
4960         (Makefile.am): Augment lib_SOURCES.
4961
4962 2011-05-23  Bruno Haible  <bruno@clisp.org>
4963
4964         i-ring: Move AC_LIBOBJ invocations to module description.
4965         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
4966         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
4967
4968 2011-05-23  Bruno Haible  <bruno@clisp.org>
4969
4970         idcache: Move AC_LIBOBJ invocations to module description.
4971         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
4972         * modules/idcache (Makefile.am): Augment lib_SOURCES.
4973
4974 2011-05-23  Bruno Haible  <bruno@clisp.org>
4975
4976         human: Move AC_LIBOBJ invocations to module description.
4977         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
4978         * modules/human (Makefile.am): Augment lib_SOURCES.
4979
4980 2011-05-23  Bruno Haible  <bruno@clisp.org>
4981
4982         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
4983         * m4/hmac-sha1.m4: Remove file.
4984         * modules/crypto/hmac-sha1 (Files): Remove it.
4985         (configure.ac): Remove gl_HMAC_SHA1 call.
4986         (Makefile.am): Augment lib_SOURCES.
4987
4988 2011-05-23  Bruno Haible  <bruno@clisp.org>
4989
4990         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
4991         * m4/hmac-md5.m4: Remove file.
4992         * modules/crypto/hmac-md5 (Files): Remove it.
4993         (configure.ac): Remove gl_HMAC_MD5 call.
4994         (Makefile.am): Augment lib_SOURCES.
4995
4996 2011-05-23  Bruno Haible  <bruno@clisp.org>
4997
4998         hash: Move AC_LIBOBJ invocations to module description.
4999         * m4/hash.m4: Remove file.
5000         * modules/hash (Files): Remove it.
5001         (configure.ac): Remove gl_HASH call.
5002         (Makefile.am): Augment lib_SOURCES.
5003
5004 2011-05-23  Bruno Haible  <bruno@clisp.org>
5005
5006         hard-locale: Move AC_LIBOBJ invocations to module description.
5007         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
5008         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
5009
5010 2011-05-23  Bruno Haible  <bruno@clisp.org>
5011
5012         getugroups: Move AC_LIBOBJ invocations to module description.
5013         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
5014         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
5015
5016 2011-05-23  Bruno Haible  <bruno@clisp.org>
5017
5018         gettime: Move AC_LIBOBJ invocations to module description.
5019         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
5020         * modules/gettime (Makefile.am): Augment lib_SOURCES.
5021
5022 2011-05-23  Bruno Haible  <bruno@clisp.org>
5023
5024         getndelim2: Move AC_LIBOBJ invocations to module description.
5025         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
5026         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
5027
5028 2011-05-23  Bruno Haible  <bruno@clisp.org>
5029
5030         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
5031         * m4/gc-pbkdf2-sha1.m4: Remove file.
5032         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
5033         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
5034         (Makefile.am): Augment lib_SOURCES.
5035
5036 2011-05-23  Bruno Haible  <bruno@clisp.org>
5037
5038         fts: Move AC_LIBOBJ invocations to module description.
5039         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
5040         * modules/fts (configure.ac): ... to here.
5041
5042 2011-05-23  Bruno Haible  <bruno@clisp.org>
5043
5044         file-type: Move AC_LIBOBJ invocations to module description.
5045         * m4/file-type.m4: Remove file.
5046         * modules/file-type (Files): Remove it.
5047         (configure.ac): Remove gl_FILE_TYPE call.
5048         (Makefile.am): Augment lib_SOURCES.
5049
5050 2011-05-23  Bruno Haible  <bruno@clisp.org>
5051
5052         filenamecat*: Respect rules for use of AC_LIBOBJ.
5053         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
5054         Remove AC_LIBOBJ invocation.
5055         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
5056         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
5057
5058 2011-05-23  Bruno Haible  <bruno@clisp.org>
5059
5060         filemode: Move AC_LIBOBJ invocations to module description.
5061         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
5062         * modules/filemode (Makefile.am): Augment lib_SOURCES.
5063
5064 2011-05-23  Bruno Haible  <bruno@clisp.org>
5065
5066         openat-safer: Move AC_LIBOBJ invocations to module description.
5067         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
5068         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
5069
5070 2011-05-23  Bruno Haible  <bruno@clisp.org>
5071
5072         fcntl-safer: Move AC_LIBOBJ invocations to module description.
5073         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
5074         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
5075
5076 2011-05-23  Bruno Haible  <bruno@clisp.org>
5077
5078         exclude: Move AC_LIBOBJ invocations to module description.
5079         * m4/exclude.m4: Remove file.
5080         * modules/exclude (Files): Remove it.
5081         (configure.ac): Remove gl_EXCLUDE call.
5082         (Makefile.am): Augment lib_SOURCES.
5083
5084 2011-05-23  Bruno Haible  <bruno@clisp.org>
5085
5086         dirname*: Respect rules for use of AC_LIBOBJ.
5087         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
5088         invocations.
5089         * modules/dirname (Makefile.am): Augment lib_SOURCES.
5090         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
5091
5092 2011-05-23  Bruno Haible  <bruno@clisp.org>
5093
5094         dirent-safer: Move AC_LIBOBJ invocations to module description.
5095         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
5096         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
5097
5098 2011-05-23  Bruno Haible  <bruno@clisp.org>
5099
5100         crypto/des: Move AC_LIBOBJ invocations to module description.
5101         * m4/des.m4: Remove file.
5102         * modules/crypto/des (Files): Remove it.
5103         (configure.ac): Remove gl_DES call.
5104         (Makefile.am): Augment lib_SOURCES.
5105
5106 2011-05-23  Bruno Haible  <bruno@clisp.org>
5107
5108         cycle-check: Move AC_LIBOBJ invocations to module description.
5109         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
5110         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
5111
5112 2011-05-23  Bruno Haible  <bruno@clisp.org>
5113
5114         c-strtold: Move AC_LIBOBJ invocations to module description.
5115         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
5116         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
5117
5118 2011-05-23  Bruno Haible  <bruno@clisp.org>
5119
5120         c-strtod: Move AC_LIBOBJ invocations to module description.
5121         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
5122         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
5123
5124 2011-05-23  Bruno Haible  <bruno@clisp.org>
5125
5126         crc: Move AC_LIBOBJ invocations to module description.
5127         * m4/crc.m4: Remove file.
5128         * modules/crc (Files): Remove it.
5129         (configure.ac): Remove gl_CRC call.
5130         (Makefile.am): Augment lib_SOURCES.
5131
5132 2011-05-23  Bruno Haible  <bruno@clisp.org>
5133
5134         close-stream: Move AC_LIBOBJ invocations to module description.
5135         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
5136         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
5137
5138 2011-05-23  Bruno Haible  <bruno@clisp.org>
5139
5140         closeout: Move AC_LIBOBJ invocations to module description.
5141         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
5142         * modules/closeout (Makefile.am): Augment lib_SOURCES.
5143
5144 2011-05-23  Bruno Haible  <bruno@clisp.org>
5145
5146         closein: Move AC_LIBOBJ invocations to module description.
5147         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
5148         * modules/closein (Makefile.am): Augment lib_SOURCES.
5149
5150 2011-05-23  Bruno Haible  <bruno@clisp.org>
5151
5152         cloexec: Move AC_LIBOBJ invocations to module description.
5153         * m4/cloexec.m4: Remove file.
5154         * modules/cloexec (Files): Remove it.
5155         (configure.ac): Remove gl_CLOEXEC call.
5156         (Makefile.am): Augment lib_SOURCES.
5157
5158 2011-05-23  Bruno Haible  <bruno@clisp.org>
5159
5160         check-version: Move AC_LIBOBJ invocations to module description.
5161         * m4/check-version.m4: Remove file.
5162         * modules/check-version (Files): Remove it.
5163         (configure.ac): Remove gl_CHECK_VERSION call.
5164         (Makefile.am): Augment lib_SOURCES.
5165
5166 2011-05-23  Bruno Haible  <bruno@clisp.org>
5167
5168         chdir-safer: Move AC_LIBOBJ invocations to module description.
5169         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
5170         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
5171
5172 2011-05-23  Bruno Haible  <bruno@clisp.org>
5173
5174         canonicalize: Move AC_LIBOBJ invocations to module description.
5175         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
5176         AC_LIBOBJ invocation.
5177         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
5178
5179 2011-05-23  Bruno Haible  <bruno@clisp.org>
5180
5181         canon-host: Move AC_LIBOBJ invocations to module description.
5182         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
5183         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
5184         instead of gl_CANON_HOST.
5185         (Makefile.am): Augment lib_SOURCES.
5186
5187 2011-05-23  Bruno Haible  <bruno@clisp.org>
5188
5189         backupfile: Move AC_LIBOBJ invocations to module description.
5190         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
5191         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
5192
5193 2011-05-23  Bruno Haible  <bruno@clisp.org>
5194
5195         argmatch: Move AC_LIBOBJ invocations to module description.
5196         * m4/argmatch.m4: Remove file.
5197         * modules/argmatch (Files): Remove it.
5198         (configure.ac): Remove gl_ARGMATCH call.
5199         (Makefile.am): Augment lib_SOURCES.
5200
5201 2011-05-23  Bruno Haible  <bruno@clisp.org>
5202
5203         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
5204         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
5205         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
5206
5207 2011-05-23  Bruno Haible  <bruno@clisp.org>
5208
5209         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
5210         * m4/arcfour.m4: Remove file.
5211         * modules/crypto/arcfour (Files): Remove it.
5212         (configure.ac): Remove gl_ARCFOUR call.
5213         (Makefile.am): Augment lib_SOURCES.
5214
5215 2011-05-22  Bruno Haible  <bruno@clisp.org>
5216
5217         write: Move AC_LIBOBJ invocations to module description.
5218         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
5219         * modules/write (configure.ac): ... to here.
5220
5221 2011-05-22  Bruno Haible  <bruno@clisp.org>
5222
5223         wmemset: Move AC_LIBOBJ invocations to module description.
5224         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
5225         here...
5226         * modules/wmemset (configure.ac): ... to here.
5227
5228 2011-05-22  Bruno Haible  <bruno@clisp.org>
5229
5230         wmemmove: Move AC_LIBOBJ invocations to module description.
5231         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
5232         here...
5233         * modules/wmemmove (configure.ac): ... to here.
5234
5235 2011-05-22  Bruno Haible  <bruno@clisp.org>
5236
5237         wmemcpy: Move AC_LIBOBJ invocations to module description.
5238         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
5239         here...
5240         * modules/wmemcpy (configure.ac): ... to here.
5241
5242 2011-05-22  Bruno Haible  <bruno@clisp.org>
5243
5244         wmemcmp: Move AC_LIBOBJ invocations to module description.
5245         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
5246         here...
5247         * modules/wmemcmp (configure.ac): ... to here.
5248
5249 2011-05-22  Bruno Haible  <bruno@clisp.org>
5250
5251         wmemchr: Move AC_LIBOBJ invocations to module description.
5252         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
5253         here...
5254         * modules/wmemchr (configure.ac): ... to here.
5255
5256 2011-05-22  Bruno Haible  <bruno@clisp.org>
5257
5258         wcswidth: Move AC_LIBOBJ invocations to module description.
5259         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
5260         here...
5261         * modules/wcswidth (configure.ac): ... to here.
5262
5263 2011-05-22  Bruno Haible  <bruno@clisp.org>
5264
5265         wcwidth: Respect rules for use of AC_LIBOBJ.
5266         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
5267         invocation from here...
5268         * modules/wcwidth (configure.ac): ... to here.
5269         (Depends-on): Update conditions.
5270
5271 2011-05-22  Bruno Haible  <bruno@clisp.org>
5272
5273         wctype: Move AC_LIBOBJ invocations to module description.
5274         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
5275         invocation from here...
5276         * modules/wctype (configure.ac): ... to here.
5277         (Depends-on): Update conditions.
5278
5279 2011-05-22  Bruno Haible  <bruno@clisp.org>
5280
5281         wctrans: Move AC_LIBOBJ invocations to module description.
5282         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
5283         invocation from here...
5284         * modules/wctrans (configure.ac): ... to here.
5285
5286 2011-05-22  Bruno Haible  <bruno@clisp.org>
5287
5288         wctomb: Move AC_LIBOBJ invocations to module description.
5289         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
5290         invocations from here...
5291         * modules/wctomb (configure.ac): ... to here.
5292
5293 2011-05-22  Bruno Haible  <bruno@clisp.org>
5294
5295         wctob: Move AC_LIBOBJ invocations to module description.
5296         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
5297         gl_PREREQ_WCTOB invocations from here...
5298         * modules/wctob (configure.ac): ... to here.
5299         (Depends-on): Update conditions.
5300
5301 2011-05-22  Bruno Haible  <bruno@clisp.org>
5302
5303         wcsxfrm: Move AC_LIBOBJ invocations to module description.
5304         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
5305         here...
5306         * modules/wcsxfrm (configure.ac): ... to here.
5307
5308 2011-05-22  Bruno Haible  <bruno@clisp.org>
5309
5310         wcstok: Move AC_LIBOBJ invocations to module description.
5311         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
5312         * modules/wcstok (configure.ac): ... to here.
5313
5314 2011-05-22  Bruno Haible  <bruno@clisp.org>
5315
5316         wcsstr: Move AC_LIBOBJ invocations to module description.
5317         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
5318         * modules/wcsstr (configure.ac): ... to here.
5319
5320 2011-05-22  Bruno Haible  <bruno@clisp.org>
5321
5322         wcsspn: Move AC_LIBOBJ invocations to module description.
5323         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
5324         * modules/wcsspn (configure.ac): ... to here.
5325
5326 2011-05-22  Bruno Haible  <bruno@clisp.org>
5327
5328         wcsrtombs: Move AC_LIBOBJ invocations to module description.
5329         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
5330         gl_PREREQ_WCSRTOMBS invocations from here...
5331         * modules/wcsrtombs (configure.ac): ... to here.
5332
5333 2011-05-22  Bruno Haible  <bruno@clisp.org>
5334
5335         wcsrchr: Move AC_LIBOBJ invocations to module description.
5336         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
5337         here...
5338         * modules/wcsrchr (configure.ac): ... to here.
5339
5340 2011-05-22  Bruno Haible  <bruno@clisp.org>
5341
5342         wcspbrk: Move AC_LIBOBJ invocations to module description.
5343         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
5344         here...
5345         * modules/wcspbrk (configure.ac): ... to here.
5346
5347 2011-05-22  Bruno Haible  <bruno@clisp.org>
5348
5349         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
5350         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
5351         gl_PREREQ_WCSNRTOMBS invocations from here...
5352         * modules/wcsnrtombs (configure.ac): ... to here.
5353
5354 2011-05-22  Bruno Haible  <bruno@clisp.org>
5355
5356         wcsnlen: Move AC_LIBOBJ invocations to module description.
5357         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
5358         here...
5359         * modules/wcsnlen (configure.ac): ... to here.
5360
5361 2011-05-22  Bruno Haible  <bruno@clisp.org>
5362
5363         wcsncpy: Move AC_LIBOBJ invocations to module description.
5364         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
5365         here...
5366         * modules/wcsncpy (configure.ac): ... to here.
5367
5368 2011-05-22  Bruno Haible  <bruno@clisp.org>
5369
5370         wcsncmp: Move AC_LIBOBJ invocations to module description.
5371         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
5372         here...
5373         * modules/wcsncmp (configure.ac): ... to here.
5374
5375 2011-05-22  Bruno Haible  <bruno@clisp.org>
5376
5377         wcsncat: Move AC_LIBOBJ invocations to module description.
5378         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
5379         here...
5380         * modules/wcsncat (configure.ac): ... to here.
5381
5382 2011-05-22  Bruno Haible  <bruno@clisp.org>
5383
5384         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
5385         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
5386         from here...
5387         * modules/wcsncasecmp (configure.ac): ... to here.
5388
5389 2011-05-22  Bruno Haible  <bruno@clisp.org>
5390
5391         wcslen: Move AC_LIBOBJ invocations to module description.
5392         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
5393         * modules/wcslen (configure.ac): ... to here.
5394
5395 2011-05-22  Bruno Haible  <bruno@clisp.org>
5396
5397         wcsdup: Move AC_LIBOBJ invocations to module description.
5398         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
5399         * modules/wcsdup (configure.ac): ... to here.
5400
5401 2011-05-22  Bruno Haible  <bruno@clisp.org>
5402
5403         wcscspn: Move AC_LIBOBJ invocations to module description.
5404         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
5405         here...
5406         * modules/wcscspn (configure.ac): ... to here.
5407
5408 2011-05-22  Bruno Haible  <bruno@clisp.org>
5409
5410         wcscpy: Move AC_LIBOBJ invocations to module description.
5411         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
5412         * modules/wcscpy (configure.ac): ... to here.
5413
5414 2011-05-22  Bruno Haible  <bruno@clisp.org>
5415
5416         wcscoll: Move AC_LIBOBJ invocations to module description.
5417         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
5418         here...
5419         * modules/wcscoll (configure.ac): ... to here.
5420
5421 2011-05-22  Bruno Haible  <bruno@clisp.org>
5422
5423         wcscmp: Move AC_LIBOBJ invocations to module description.
5424         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
5425         * modules/wcscmp (configure.ac): ... to here.
5426
5427 2011-05-22  Bruno Haible  <bruno@clisp.org>
5428
5429         wcschr: Move AC_LIBOBJ invocations to module description.
5430         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
5431         * modules/wcschr (configure.ac): ... to here.
5432
5433 2011-05-22  Bruno Haible  <bruno@clisp.org>
5434
5435         wcscat: Move AC_LIBOBJ invocations to module description.
5436         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
5437         * modules/wcscat (configure.ac): ... to here.
5438
5439 2011-05-22  Bruno Haible  <bruno@clisp.org>
5440
5441         wcscasecmp: Move AC_LIBOBJ invocations to module description.
5442         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
5443         here...
5444         * modules/wcscasecmp (configure.ac): ... to here.
5445
5446 2011-05-22  Bruno Haible  <bruno@clisp.org>
5447
5448         wcrtomb: Move AC_LIBOBJ invocations to module description.
5449         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
5450         invocations from here...
5451         * modules/wcrtomb (configure.ac): ... to here.
5452
5453 2011-05-22  Bruno Haible  <bruno@clisp.org>
5454
5455         wcpncpy: Move AC_LIBOBJ invocations to module description.
5456         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
5457         here...
5458         * modules/wcpncpy (configure.ac): ... to here.
5459
5460 2011-05-22  Bruno Haible  <bruno@clisp.org>
5461
5462         wcpcpy: Move AC_LIBOBJ invocations to module description.
5463         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
5464         * modules/wcpcpy (configure.ac): ... to here.
5465
5466 2011-05-22  Bruno Haible  <bruno@clisp.org>
5467
5468         waitpid: Move AC_LIBOBJ invocations to module description.
5469         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
5470         invocation from here...
5471         * modules/waitpid (configure.ac): ... to here.
5472
5473 2011-05-22  Bruno Haible  <bruno@clisp.org>
5474
5475         utimensat: Move AC_LIBOBJ invocations to module description.
5476         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
5477         here...
5478         * modules/utimensat (configure.ac): ... to here.
5479
5480 2011-05-22  Bruno Haible  <bruno@clisp.org>
5481
5482         usleep: Move AC_LIBOBJ invocations to module description.
5483         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
5484         here...
5485         * modules/usleep (configure.ac): ... to here.
5486
5487 2011-05-22  Bruno Haible  <bruno@clisp.org>
5488
5489         unlockpt: Move AC_LIBOBJ invocations to module description.
5490         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
5491         gl_PREREQ_UNLOCKPT invocations from here...
5492         * modules/unlockpt (configure.ac): ... to here.
5493
5494 2011-05-22  Bruno Haible  <bruno@clisp.org>
5495
5496         unlink: Respect rules for use of AC_LIBOBJ.
5497         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
5498         * modules/unlink (configure.ac): ... to here.
5499
5500 2011-05-22  Bruno Haible  <bruno@clisp.org>
5501
5502         uname: Move AC_LIBOBJ invocations to module description.
5503         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
5504         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
5505         here...
5506         * modules/uname (configure.ac): ... to here.
5507
5508 2011-05-22  Bruno Haible  <bruno@clisp.org>
5509
5510         ttyname_r: Move AC_LIBOBJ invocations to module description.
5511         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
5512         gl_PREREQ_TTYNAME_R invocations from here...
5513         * modules/ttyname_r (configure.ac): ... to here.
5514
5515 2011-05-22  Bruno Haible  <bruno@clisp.org>
5516
5517         tsearch: Move AC_LIBOBJ invocations to module description.
5518         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
5519         invocations from here...
5520         * modules/tsearch (configure.ac): ... to here.
5521
5522 2011-05-22  Bruno Haible  <bruno@clisp.org>
5523
5524         towctrans: Move AC_LIBOBJ invocations to module description.
5525         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
5526         AC_LIBOBJ invocation from here...
5527         * modules/towctrans (configure.ac): ... to here.
5528
5529 2011-05-22  Bruno Haible  <bruno@clisp.org>
5530
5531         tmpfile: Move AC_LIBOBJ invocations to module description.
5532         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
5533         invocations from here...
5534         * modules/tmpfile (configure.ac): ... to here.
5535
5536 2011-05-22  Bruno Haible  <bruno@clisp.org>
5537
5538         times: Move AC_LIBOBJ invocations to module description.
5539         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
5540         * modules/times (configure.ac): ... to here.
5541
5542 2011-05-22  Bruno Haible  <bruno@clisp.org>
5543
5544         time_r: Move AC_LIBOBJ invocations to module description.
5545         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
5546         invocations from here...
5547         * modules/time_r (configure.ac): ... to here.
5548
5549 2011-05-22  Bruno Haible  <bruno@clisp.org>
5550
5551         timegm: Move AC_LIBOBJ invocations to module description.
5552         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
5553         invocations from here...
5554         * modules/timegm (configure.ac): ... to here.
5555
5556 2011-05-22  Bruno Haible  <bruno@clisp.org>
5557
5558         tcgetsid: Move AC_LIBOBJ invocations to module description.
5559         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
5560         and gl_PREREQ_TCGETSID invocations from here...
5561         * modules/tcgetsid (configure.ac): ... to here.
5562         (Depends-on): Update conditions.
5563
5564 2011-05-22  Bruno Haible  <bruno@clisp.org>
5565
5566         symlinkat: Move AC_LIBOBJ invocations to module description.
5567         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
5568         here...
5569         * modules/symlinkat (configure.ac): ... to here.
5570
5571 2011-05-22  Bruno Haible  <bruno@clisp.org>
5572
5573         symlink: Move AC_LIBOBJ invocations to module description.
5574         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
5575         here...
5576         * modules/symlink (configure.ac): ... to here.
5577
5578 2011-05-22  Bruno Haible  <bruno@clisp.org>
5579
5580         strverscmp: Move AC_LIBOBJ invocations to module description.
5581         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
5582         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
5583         from here...
5584         * modules/strverscmp (configure.ac): ... to here.
5585
5586 2011-05-22  Bruno Haible  <bruno@clisp.org>
5587
5588         strtok_r: Move AC_LIBOBJ invocations to module description.
5589         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
5590         and gl_PREREQ_STRTOK_R invocations from here...
5591         * modules/strtok_r (configure.ac): ... to here.
5592         (Depends-on): Update conditions.
5593
5594 2011-05-22  Bruno Haible  <bruno@clisp.org>
5595
5596         strtoumax: Move AC_LIBOBJ invocations to module description.
5597         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
5598         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
5599         from here...
5600         * modules/strtoumax (configure.ac): ... to here.
5601
5602 2011-05-22  Bruno Haible  <bruno@clisp.org>
5603
5604         strtoimax: Move AC_LIBOBJ invocations to module description.
5605         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
5606         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
5607         from here...
5608         * modules/strtoimax (configure.ac): ... to here.
5609
5610 2011-05-22  Bruno Haible  <bruno@clisp.org>
5611
5612         strtoull: Move AC_LIBOBJ invocations to module description.
5613         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
5614         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
5615         from here...
5616         * modules/strtoull (configure.ac): ... to here.
5617
5618 2011-05-22  Bruno Haible  <bruno@clisp.org>
5619
5620         strtoll: Move AC_LIBOBJ invocations to module description.
5621         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
5622         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
5623         here...
5624         * modules/strtoll (configure.ac): ... to here.
5625
5626 2011-05-22  Bruno Haible  <bruno@clisp.org>
5627
5628         strtoul: Move AC_LIBOBJ invocations to module description.
5629         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
5630         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
5631         * modules/strtoul (configure.ac): ... to here.
5632
5633 2011-05-22  Bruno Haible  <bruno@clisp.org>
5634
5635         strtol: Move AC_LIBOBJ invocations to module description.
5636         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
5637         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
5638         * modules/strtol (configure.ac): ... to here.
5639
5640 2011-05-22  Bruno Haible  <bruno@clisp.org>
5641
5642         strtod: Move AC_LIBOBJ invocations to module description.
5643         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
5644         invocations from here...
5645         * modules/strtod (configure.ac): ... to here.
5646
5647 2011-05-22  Bruno Haible  <bruno@clisp.org>
5648
5649         strstr*: Move AC_LIBOBJ invocations to module description.
5650         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
5651         invocations from here...
5652         * modules/strstr-simple (configure.ac): ... to here.
5653         * modules/strstr (configure.ac): ... and here.
5654
5655 2011-05-22  Bruno Haible  <bruno@clisp.org>
5656
5657         strsignal: Move AC_LIBOBJ invocations to module description.
5658         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
5659         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
5660         * modules/strsignal (configure.ac): ... to here.
5661         (Depends-on): Update conditions.
5662
5663 2011-05-22  Bruno Haible  <bruno@clisp.org>
5664
5665         strsep: Move AC_LIBOBJ invocations to module description.
5666         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
5667         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
5668         here...
5669         * modules/strsep (configure.ac): ... to here.
5670
5671 2011-05-22  Bruno Haible  <bruno@clisp.org>
5672
5673         strptime: Move AC_LIBOBJ invocations to module description.
5674         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
5675         gl_PREREQ_STRPTIME invocations from here...
5676         * modules/strptime (configure.ac): ... to here.
5677
5678 2011-05-22  Bruno Haible  <bruno@clisp.org>
5679
5680         strpbrk: Move AC_LIBOBJ invocations to module description.
5681         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
5682         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
5683         here...
5684         * modules/strpbrk (configure.ac): ... to here.
5685
5686 2011-05-22  Bruno Haible  <bruno@clisp.org>
5687
5688         strnlen: Move AC_LIBOBJ invocations to module description.
5689         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
5690         invocations from here...
5691         * modules/strnlen (configure.ac): ... to here.
5692
5693 2011-05-22  Bruno Haible  <bruno@clisp.org>
5694
5695         strndup: Move AC_LIBOBJ invocations to module description.
5696         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
5697         invocations from here...
5698         * modules/strndup (configure.ac): ... to here.
5699         (Depends-on): Update conditions.
5700
5701 2011-05-22  Bruno Haible  <bruno@clisp.org>
5702
5703         strncat: Move AC_LIBOBJ invocations to module description.
5704         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
5705         invocations from here...
5706         * modules/strncat (configure.ac): ... to here.
5707
5708 2011-05-22  Bruno Haible  <bruno@clisp.org>
5709
5710         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
5711         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
5712         invocations from here...
5713         * modules/strdup (configure.ac): ... to here.
5714         * modules/strdup-posix (configure.ac): ... and here.
5715
5716 2011-05-22  Bruno Haible  <bruno@clisp.org>
5717
5718         strcspn: Move AC_LIBOBJ invocations to module description.
5719         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
5720         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
5721         here...
5722         * modules/strcspn (configure.ac): ... to here.
5723
5724 2011-05-22  Bruno Haible  <bruno@clisp.org>
5725
5726         strchrnul: Move AC_LIBOBJ invocations to module description.
5727         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
5728         gl_PREREQ_STRCHRNUL invocations from here...
5729         * modules/strchrnul (configure.ac): ... to here.
5730
5731 2011-05-22  Bruno Haible  <bruno@clisp.org>
5732
5733         strcasestr*: Move AC_LIBOBJ invocations to module description.
5734         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
5735         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
5736         * modules/strcasestr-simple (configure.ac): ... to here.
5737         * modules/strcasestr (configure.ac): ... and here.
5738
5739 2011-05-22  Bruno Haible  <bruno@clisp.org>
5740
5741         strcase: Move AC_LIBOBJ invocations to module description.
5742         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
5743         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
5744         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
5745         gl_PREREQ_STRNCASECMP invocations from here...
5746         * modules/strcase (configure.ac): ... to here.
5747
5748 2011-05-22  Bruno Haible  <bruno@clisp.org>
5749
5750         stpncpy: Move AC_LIBOBJ invocations to module description.
5751         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
5752         here...
5753         * modules/stpncpy (configure.ac): ... to here.
5754
5755 2011-05-22  Bruno Haible  <bruno@clisp.org>
5756
5757         stpcpy: Move AC_LIBOBJ invocations to module description.
5758         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
5759         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
5760         here...
5761         * modules/stpcpy (configure.ac): ... to here.
5762
5763 2011-05-21  Bruno Haible  <bruno@clisp.org>
5764
5765         stat: Move AC_LIBOBJ invocations to module description.
5766         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
5767         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
5768         here...
5769         * modules/stat (configure.ac): ... to here.
5770
5771 2011-05-21  Bruno Haible  <bruno@clisp.org>
5772
5773         sleep: Move AC_LIBOBJ invocations to module description.
5774         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
5775         * modules/sleep (configure.ac): ... to here.
5776
5777 2011-05-21  Bruno Haible  <bruno@clisp.org>
5778
5779         signbit: Move AC_LIBOBJ invocations to module description.
5780         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
5781         * modules/signbit (configure.ac): ... to here.
5782
5783 2011-05-21  Bruno Haible  <bruno@clisp.org>
5784
5785         sigprocmask: Move AC_LIBOBJ invocations to module description.
5786         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
5787         gl_PREREQ_SIGPROMASK invocations from here...
5788         * modules/sigprocmask (configure.ac): ... to here.
5789
5790 2011-05-21  Bruno Haible  <bruno@clisp.org>
5791
5792         sigaction: Move AC_LIBOBJ invocations to module description.
5793         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
5794         gl_PREREQ_SIGACTION invocations from here...
5795         * modules/sigaction (configure.ac): ... to here.
5796
5797 2011-05-21  Bruno Haible  <bruno@clisp.org>
5798
5799         sig2str: Move AC_LIBOBJ invocations to module description.
5800         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
5801         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
5802         here...
5803         * modules/sig2str (configure.ac): ... to here.
5804
5805 2011-05-21  Bruno Haible  <bruno@clisp.org>
5806
5807         setlocale: Move AC_LIBOBJ invocations to module description.
5808         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
5809         gl_PREREQ_SETLOCALE invocations from here...
5810         * modules/setlocale (configure.ac): ... to here.
5811
5812 2011-05-21  Bruno Haible  <bruno@clisp.org>
5813
5814         unsetenv: Move AC_LIBOBJ invocations to module description.
5815         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
5816         and gl_PREREQ_UNSETENV invocations from here...
5817         * modules/unsetenv (configure.ac): ... to here.
5818         (Depends-on): Update.
5819
5820 2011-05-21  Bruno Haible  <bruno@clisp.org>
5821
5822         setenv: Move AC_LIBOBJ invocations to module description.
5823         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
5824         here...
5825         * modules/setenv (configure.ac): ... to here.
5826
5827 2011-05-21  Bruno Haible  <bruno@clisp.org>
5828
5829         selinux-h: Move AC_LIBOBJ invocations to module description.
5830         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
5831         AC_LIBOBJ invocation from here...
5832         * modules/selinux-h (configure.ac): ... to here.
5833
5834 2011-05-21  Bruno Haible  <bruno@clisp.org>
5835
5836         select: Respect rules for use of AC_LIBOBJ.
5837         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
5838         here...
5839         * modules/select (configure.ac): ... to here.
5840
5841 2011-05-21  Bruno Haible  <bruno@clisp.org>
5842
5843         scandir: Move AC_LIBOBJ invocations to module description.
5844         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
5845         invocations from here...
5846         * modules/scandir (configure.ac): ... to here.
5847
5848 2011-05-21  Bruno Haible  <bruno@clisp.org>
5849
5850         rpmatch: Move AC_LIBOBJ invocations to module description.
5851         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
5852         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
5853         here...
5854         * modules/rpmatch (configure.ac): ... to here.
5855
5856 2011-05-21  Bruno Haible  <bruno@clisp.org>
5857
5858         rmdir: Respect rules for use of AC_LIBOBJ.
5859         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
5860         * modules/rmdir (configure.ac): ... to here.
5861
5862 2011-05-21  Bruno Haible  <bruno@clisp.org>
5863
5864         renameat: Move AC_LIBOBJ invocations to module description.
5865         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
5866         here...
5867         * modules/renameat (configure.ac): ... to here.
5868
5869 2011-05-21  Bruno Haible  <bruno@clisp.org>
5870
5871         rename: Respect rules for use of AC_LIBOBJ.
5872         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
5873         here...
5874         * modules/rename (configure.ac): ... to here.
5875
5876 2011-05-21  Bruno Haible  <bruno@clisp.org>
5877
5878         remove: Move AC_LIBOBJ invocations to module description.
5879         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
5880         here...
5881         * modules/remove (configure.ac): ... to here.
5882
5883 2011-05-21  Bruno Haible  <bruno@clisp.org>
5884
5885         relocatable-lib: Move AC_LIBOBJ invocations to module description.
5886         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
5887         macro.
5888         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
5889         * modules/relocatable-lib (configure.ac): ... to here.
5890         * modules/relocatable-prog-wrapper (configure.ac): Invoke
5891         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
5892
5893 2011-05-21  Bruno Haible  <bruno@clisp.org>
5894
5895         relocatable-prog: Move AC_LIBOBJ invocations to module description.
5896         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
5897         here...
5898         * modules/relocatable-prog (configure.ac): ... to here.
5899
5900 2011-05-21  Bruno Haible  <bruno@clisp.org>
5901
5902         regex: Move AC_LIBOBJ invocations to module description.
5903         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
5904         invocations from here...
5905         * modules/regex (configure.ac): ... to here.
5906
5907 2011-05-21  Bruno Haible  <bruno@clisp.org>
5908
5909         realloc-*: Move AC_LIBOBJ invocations to module description.
5910         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
5911         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
5912         AC_LIBOBJ invocations from here...
5913         * modules/realloc-gnu (configure.ac): ... to here.
5914         * modules/realloc-posix (configure.ac): ... and here.
5915
5916 2011-05-21  Bruno Haible  <bruno@clisp.org>
5917
5918         readutmp: Move AC_LIBOBJ invocations to module description.
5919         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
5920         * modules/readutmp (configure.ac): ... to here.
5921
5922 2011-05-21  Bruno Haible  <bruno@clisp.org>
5923
5924         readlinkat: Move AC_LIBOBJ invocations to module description.
5925         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
5926         here...
5927         * modules/readlinkat (configure.ac): ... to here.
5928
5929 2011-05-21  Bruno Haible  <bruno@clisp.org>
5930
5931         readlink: Move AC_LIBOBJ invocations to module description.
5932         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
5933         gl_PREREQ_READLINK invocations from here...
5934         * modules/readlink (configure.ac): ... to here.
5935
5936 2011-05-21  Bruno Haible  <bruno@clisp.org>
5937
5938         readline: Move AC_LIBOBJ invocations to module description.
5939         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
5940         gl_PREREQ_READLINE invocations from here...
5941         * modules/readline (configure.ac): ... to here.
5942
5943 2011-05-21  Bruno Haible  <bruno@clisp.org>
5944
5945         read: Move AC_LIBOBJ invocations to module description.
5946         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
5947         * modules/read (configure.ac): ... to here.
5948
5949 2011-05-21  Bruno Haible  <bruno@clisp.org>
5950
5951         rawmemchr: Move AC_LIBOBJ invocations to module description.
5952         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
5953         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
5954         from here...
5955         * modules/rawmemchr (configure.ac): ... to here.
5956
5957 2011-05-21  Bruno Haible  <bruno@clisp.org>
5958
5959         random_r: Move AC_LIBOBJ invocations to module description.
5960         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
5961         gl_PREREQ_RANDOM_R invocations from here...
5962         * modules/random_r (configure.ac): ... to here.
5963
5964 2011-05-21  Bruno Haible  <bruno@clisp.org>
5965
5966         pwrite: Move AC_LIBOBJ invocations to module description.
5967         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
5968         * modules/pwrite (configure.ac): ... to here.
5969
5970 2011-05-21  Bruno Haible  <bruno@clisp.org>
5971
5972         putenv: Move AC_LIBOBJ invocations to module description.
5973         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
5974         * modules/putenv (configure.ac): ... to here.
5975
5976 2011-05-21  Bruno Haible  <bruno@clisp.org>
5977
5978         login_tty: Move AC_LIBOBJ invocations to module description.
5979         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
5980         * modules/login_tty (configure.ac): ... to here.
5981
5982 2011-05-21  Bruno Haible  <bruno@clisp.org>
5983
5984         openpty: Move AC_LIBOBJ invocations to module description.
5985         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
5986         * modules/openpty (configure.ac): ... to here.
5987
5988 2011-05-21  Bruno Haible  <bruno@clisp.org>
5989
5990         forkpty: Move AC_LIBOBJ invocations to module description.
5991         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
5992         * modules/forkpty (configure.ac): ... to here.
5993
5994 2011-05-21  Bruno Haible  <bruno@clisp.org>
5995
5996         ptsname: Move AC_LIBOBJ invocations to module description.
5997         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
5998         invocations from here...
5999         * modules/ptsname (configure.ac): ... to here.
6000
6001 2011-05-21  Bruno Haible  <bruno@clisp.org>
6002
6003         pread: Move AC_LIBOBJ invocations to module description.
6004         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
6005         * modules/pread (configure.ac): ... to here.
6006
6007 2011-05-21  Bruno Haible  <bruno@clisp.org>
6008
6009         posix_spawn*: Move AC_LIBOBJ invocations to module description.
6010         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
6011         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
6012         * modules/posix_spawn (configure.ac): ... to here.
6013         * modules/posix_spawnp (configure.ac): ... and here.
6014
6015 2011-05-21  Bruno Haible  <bruno@clisp.org>
6016
6017         popen: Move AC_LIBOBJ invocations to module description.
6018         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
6019         invocations from here...
6020         * modules/popen (configure.ac): ... to here.
6021
6022 2011-05-21  Bruno Haible  <bruno@clisp.org>
6023
6024         poll: Move AC_LIBOBJ invocations to module description.
6025         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
6026         invocations from here...
6027         * modules/poll (configure.ac): ... to here.
6028
6029 2011-05-21  Bruno Haible  <bruno@clisp.org>
6030
6031         pipe-posix: Move AC_LIBOBJ invocations to module description.
6032         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
6033         * modules/pipe-posix (configure.ac): ... to here.
6034
6035 2011-05-21  Bruno Haible  <bruno@clisp.org>
6036
6037         openat: Respect rules for use of AC_LIBOBJ.
6038         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
6039         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
6040         * modules/openat (configure.ac): ... to here.
6041
6042 2011-05-21  Bruno Haible  <bruno@clisp.org>
6043
6044         obstack-printf*: Move AC_LIBOBJ invocations to module description.
6045         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
6046         invocation from here...
6047         * modules/obstack-printf (configure.ac): ... to here.
6048         * modules/obstack-printf-posix (configure.ac): ... and here.
6049
6050 2011-05-21  Bruno Haible  <bruno@clisp.org>
6051
6052         nl_langinfo: Move AC_LIBOBJ invocations to module description.
6053         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
6054         from here...
6055         * modules/nl_langinfo (configure.ac): ... to here.
6056
6057 2011-05-21  Bruno Haible  <bruno@clisp.org>
6058
6059         nanosleep: Move AC_LIBOBJ invocations to module description.
6060         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
6061         gl_PREREQ_NANOSLEEP invocations from here...
6062         * modules/nanosleep (configure.ac): ... to here.
6063
6064 2011-05-21  Bruno Haible  <bruno@clisp.org>
6065
6066         mountlist: Move AC_LIBOBJ invocations to module description.
6067         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
6068         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
6069         * modules/mountlist (configure.ac): ... to here.
6070
6071 2011-05-21  Bruno Haible  <bruno@clisp.org>
6072
6073         mktime: Respect rules for use of AC_LIBOBJ.
6074         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
6075         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
6076         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
6077         (gl_FUNC_MKTIME_INTERNAL): ... and here...
6078         * modules/mktime (configure.ac): ... to here.
6079         * modules/mktime-internal (configure.ac): ... and here.
6080         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
6081
6082 2011-05-21  Bruno Haible  <bruno@clisp.org>
6083
6084         mkstemps: Move AC_LIBOBJ invocations to module description.
6085         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
6086         here...
6087         * modules/mkstemps (configure.ac): ... to here.
6088
6089 2011-05-21  Bruno Haible  <bruno@clisp.org>
6090
6091         mkstemp: Move AC_LIBOBJ invocations to module description.
6092         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
6093         gl_PREREQ_MKSTEMP invocations from here...
6094         * modules/mkstemp (configure.ac): ... to here.
6095
6096 2011-05-21  Bruno Haible  <bruno@clisp.org>
6097
6098         mkostemps: Move AC_LIBOBJ invocations to module description.
6099         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
6100         here...
6101         * modules/mkostemps (configure.ac): ... to here.
6102
6103 2011-05-21  Bruno Haible  <bruno@clisp.org>
6104
6105         mkostemp: Move AC_LIBOBJ invocations to module description.
6106         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
6107         gl_PREREQ_MKOSTEMP invocations from here...
6108         * modules/mkostemp (configure.ac): ... to here.
6109
6110 2011-05-21  Bruno Haible  <bruno@clisp.org>
6111
6112         mknod: Move AC_LIBOBJ invocations to module description.
6113         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
6114         * modules/mknod (configure.ac): ... to here.
6115
6116 2011-05-21  Bruno Haible  <bruno@clisp.org>
6117
6118         mkfifoat: Move AC_LIBOBJ invocations to module description.
6119         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
6120         here...
6121         * modules/mkfifoat (configure.ac): ... to here.
6122
6123 2011-05-21  Bruno Haible  <bruno@clisp.org>
6124
6125         mkfifo: Respect rules for use of AC_LIBOBJ.
6126         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
6127         here...
6128         * modules/mkfifo (configure.ac): ... to here.
6129
6130 2011-05-21  Bruno Haible  <bruno@clisp.org>
6131
6132         mkdtemp: Move AC_LIBOBJ invocations to module description.
6133         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
6134         invocations from here...
6135         * modules/mkdtemp (configure.ac): ... to here.
6136
6137 2011-05-21  Bruno Haible  <bruno@clisp.org>
6138
6139         mkdir: Move AC_LIBOBJ invocations to module description.
6140         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
6141         * modules/mkdir (configure.ac): ... to here.
6142
6143 2011-05-21  Bruno Haible  <bruno@clisp.org>
6144
6145         memset: Move AC_LIBOBJ invocations to module description.
6146         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
6147         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
6148         here...
6149         * modules/memset (configure.ac): ... to here.
6150
6151 2011-05-21  Bruno Haible  <bruno@clisp.org>
6152
6153         memrchr: Move AC_LIBOBJ invocations to module description.
6154         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
6155         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
6156         here...
6157         * modules/memrchr (configure.ac): ... to here.
6158
6159 2011-05-21  Bruno Haible  <bruno@clisp.org>
6160
6161         mempcpy: Move AC_LIBOBJ invocations to module description.
6162         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
6163         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
6164         here...
6165         * modules/mempcpy (configure.ac): ... to here.
6166
6167 2011-05-21  Bruno Haible  <bruno@clisp.org>
6168
6169         memmove: Move AC_LIBOBJ invocations to module description.
6170         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
6171         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
6172         here...
6173         * modules/memmove (configure.ac): ... to here.
6174
6175 2011-05-21  Bruno Haible  <bruno@clisp.org>
6176
6177         memmem*: Move AC_LIBOBJ invocations to module description.
6178         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
6179         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
6180         here...
6181         (gl_FUNC_MEMMEM): ... and here...
6182         * modules/memmem-simple (configure.ac): ... to here.
6183         * modules/memmem (configure.ac): ... and here.
6184
6185 2011-05-21  Bruno Haible  <bruno@clisp.org>
6186
6187         memcpy: Move AC_LIBOBJ invocations to module description.
6188         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
6189         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
6190         here...
6191         * modules/memcpy (configure.ac): ... to here.
6192
6193 2011-05-21  Bruno Haible  <bruno@clisp.org>
6194
6195         memcmp: Simplify autoconf macro.
6196         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
6197         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
6198         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
6199
6200 2011-05-21  Bruno Haible  <bruno@clisp.org>
6201
6202         memcmp: Move AC_LIBOBJ invocations to module description.
6203         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
6204         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
6205         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
6206         * modules/memcmp (configure.ac): ... to here.
6207         (Depends-on): Update conditions.
6208
6209 2011-05-21  Bruno Haible  <bruno@clisp.org>
6210
6211         memchr: Respect rules for use of AC_LIBOBJ.
6212         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
6213         invocations from here...
6214         * modules/memchr (configure.ac): ... to here.
6215
6216 2011-05-21  Bruno Haible  <bruno@clisp.org>
6217
6218         mbtowc: Move AC_LIBOBJ invocations to module description.
6219         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
6220         invocations from here...
6221         * modules/mbtowc (configure.ac): ... to here.
6222
6223 2011-05-21  Bruno Haible  <bruno@clisp.org>
6224
6225         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
6226         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
6227         gl_PREREQ_MBSRTOWCS invocations from here...
6228         * modules/mbsrtowcs (configure.ac): ... to here.
6229
6230 2011-05-21  Bruno Haible  <bruno@clisp.org>
6231
6232         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
6233         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
6234         gl_PREREQ_MBSNRTOWCS invocations from here...
6235         * modules/mbsnrtowcs (configure.ac): ... to here.
6236
6237 2011-05-21  Bruno Haible  <bruno@clisp.org>
6238
6239         mbsinit: Move AC_LIBOBJ invocations to module description.
6240         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
6241         invocations from here...
6242         * modules/mbsinit (configure.ac): ... to here.
6243
6244 2011-05-21  Bruno Haible  <bruno@clisp.org>
6245
6246         mbrlen: Move AC_LIBOBJ invocations to module description.
6247         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
6248         invocations from here...
6249         * modules/mbrlen (configure.ac): ... to here.
6250
6251 2011-05-21  Bruno Haible  <bruno@clisp.org>
6252
6253         mbrtowc: Respect rules for use of AC_LIBOBJ.
6254         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
6255         invocations from here...
6256         * modules/mbrtowc (configure.ac): ... to here.
6257
6258 2011-05-21  Bruno Haible  <bruno@clisp.org>
6259
6260         malloc-*: Move AC_LIBOBJ invocations to module description.
6261         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
6262         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
6263         AC_LIBOBJ invocations from here...
6264         * modules/malloc-gnu (configure.ac): ... to here.
6265         * modules/malloc-posix (configure.ac): ... and here.
6266
6267 2011-05-21  Bruno Haible  <bruno@clisp.org>
6268
6269         lstat, openat: Respect rules for use of AC_LIBOBJ.
6270         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
6271         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
6272         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
6273         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
6274         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
6275         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
6276         here.
6277         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
6278
6279 2011-05-21  Bruno Haible  <bruno@clisp.org>
6280
6281         lseek: Move AC_LIBOBJ invocations to module description.
6282         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
6283         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
6284         * modules/lseek (configure.ac): ... to here.
6285
6286 2011-05-21  Bruno Haible  <bruno@clisp.org>
6287
6288         linkat: Move AC_LIBOBJ invocations to module description.
6289         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
6290         here...
6291         * modules/linkat (configure.ac): ... to here.
6292
6293 2011-05-21  Bruno Haible  <bruno@clisp.org>
6294
6295         link: Respect rules for use of AC_LIBOBJ.
6296         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
6297         * modules/link (configure.ac): ... to here.
6298
6299 2011-05-21  Bruno Haible  <bruno@clisp.org>
6300
6301         lchown: Move AC_LIBOBJ invocations to module description.
6302         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
6303         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
6304         * modules/lchown (configure.ac): ... to here.
6305
6306 2011-05-21  Bruno Haible  <bruno@clisp.org>
6307
6308         iswctype: Move AC_LIBOBJ invocations to module description.
6309         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
6310         here...
6311         * modules/iswctype (configure.ac): ... to here.
6312
6313 2011-05-21  Bruno Haible  <bruno@clisp.org>
6314
6315         iswblank: Move AC_LIBOBJ invocations to module description.
6316         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
6317         here...
6318         * modules/iswblank (configure.ac): ... to here.
6319
6320 2011-05-21  Bruno Haible  <bruno@clisp.org>
6321
6322         atanl: Move AC_LIBOBJ invocations to module description.
6323         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
6324         * modules/atanl (configure.ac): ... to here.
6325
6326 2011-05-21  Bruno Haible  <bruno@clisp.org>
6327
6328         acosl: Move AC_LIBOBJ invocations to module description.
6329         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
6330         * modules/acosl (configure.ac): ... to here.
6331
6332 2011-05-21  Bruno Haible  <bruno@clisp.org>
6333
6334         asinl: Respect rules for use of AC_LIBOBJ.
6335         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
6336         * modules/asinl (configure.ac): ... to here.
6337
6338 2011-05-21  Bruno Haible  <bruno@clisp.org>
6339
6340         tanl: Move AC_LIBOBJ invocations to module description.
6341         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
6342         * modules/tanl (configure.ac): ... to here.
6343
6344 2011-05-21  Bruno Haible  <bruno@clisp.org>
6345
6346         cosl: Move AC_LIBOBJ invocations to module description.
6347         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
6348         * modules/cosl (configure.ac): ... to here.
6349
6350 2011-05-21  Bruno Haible  <bruno@clisp.org>
6351
6352         sinl: Move AC_LIBOBJ invocations to module description.
6353         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
6354         * modules/sinl (configure.ac): ... to here.
6355
6356 2011-05-21  Bruno Haible  <bruno@clisp.org>
6357
6358         logl: Move AC_LIBOBJ invocations to module description.
6359         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
6360         * modules/logl (configure.ac): ... to here.
6361
6362 2011-05-21  Bruno Haible  <bruno@clisp.org>
6363
6364         expl: Move AC_LIBOBJ invocations to module description.
6365         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
6366         * modules/expl (configure.ac): ... to here.
6367
6368 2011-05-21  Bruno Haible  <bruno@clisp.org>
6369
6370         roundl: Move AC_LIBOBJ invocations to module description.
6371         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
6372         * modules/roundl (configure.ac): ... to here.
6373
6374 2011-05-21  Bruno Haible  <bruno@clisp.org>
6375
6376         round: Move AC_LIBOBJ invocations to module description.
6377         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
6378         * modules/round (configure.ac): ... to here.
6379
6380 2011-05-21  Bruno Haible  <bruno@clisp.org>
6381
6382         roundf: Move AC_LIBOBJ invocations to module description.
6383         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
6384         * modules/roundf (configure.ac): ... to here.
6385
6386 2011-05-21  Bruno Haible  <bruno@clisp.org>
6387
6388         truncl: Move AC_LIBOBJ invocations to module description.
6389         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
6390         * modules/truncl (configure.ac): ... to here.
6391
6392 2011-05-21  Bruno Haible  <bruno@clisp.org>
6393
6394         trunc: Move AC_LIBOBJ invocations to module description.
6395         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
6396         * modules/trunc (configure.ac): ... to here.
6397
6398 2011-05-21  Bruno Haible  <bruno@clisp.org>
6399
6400         truncf: Move AC_LIBOBJ invocations to module description.
6401         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
6402         * modules/truncf (configure.ac): ... to here.
6403
6404 2011-05-21  Bruno Haible  <bruno@clisp.org>
6405
6406         ceill: Move AC_LIBOBJ invocations to module description.
6407         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
6408         * modules/ceill (configure.ac): ... to here.
6409
6410 2011-05-21  Bruno Haible  <bruno@clisp.org>
6411
6412         ceil: Move AC_LIBOBJ invocations to module description.
6413         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
6414         * modules/ceil (configure.ac): ... to here.
6415
6416 2011-05-21  Bruno Haible  <bruno@clisp.org>
6417
6418         ceilf: Move AC_LIBOBJ invocations to module description.
6419         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
6420         * modules/ceilf (configure.ac): ... to here.
6421
6422 2011-05-21  Bruno Haible  <bruno@clisp.org>
6423
6424         floorl: Respect rules for use of AC_LIBOBJ.
6425         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
6426         * modules/floorl (configure.ac): ... to here.
6427
6428 2011-05-21  Bruno Haible  <bruno@clisp.org>
6429
6430         floor: Respect rules for use of AC_LIBOBJ.
6431         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
6432         * modules/floor (configure.ac): ... to here.
6433
6434 2011-05-21  Bruno Haible  <bruno@clisp.org>
6435
6436         floorf: Move AC_LIBOBJ invocations to module description.
6437         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
6438         * modules/floorf (configure.ac): ... to here.
6439
6440 2011-05-20  Bruno Haible  <bruno@clisp.org>
6441
6442         sqrtl: Respect rules for use of AC_LIBOBJ.
6443         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
6444         * modules/sqrtl (configure.ac): ... to here.
6445
6446 2011-05-20  Bruno Haible  <bruno@clisp.org>
6447
6448         ldexpl: Respect rules for use of AC_LIBOBJ.
6449         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
6450         * modules/ldexpl (configure.ac): ... to here.
6451
6452 2011-05-20  Bruno Haible  <bruno@clisp.org>
6453
6454         frexpl*: Respect rules for use of AC_LIBOBJ.
6455         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
6456         invocation from here...
6457         * modules/frexpl (configure.ac): ... to here.
6458         * modules/frexpl-nolibm (configure.ac): ... and here.
6459
6460 2011-05-20  Bruno Haible  <bruno@clisp.org>
6461
6462         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
6463         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
6464         invocation from here...
6465         * modules/frexp (configure.ac): ... to here.
6466         * modules/frexp-nolibm (configure.ac): ... and here.
6467
6468 2011-05-20  Bruno Haible  <bruno@clisp.org>
6469
6470         isnan: Respect rules for use of AC_LIBOBJ.
6471         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
6472         invocations here.
6473         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
6474         REPLACE_ISNAN.
6475         * modules/isnand (configure.ac): Likewise.
6476         * modules/isnanl (configure.ac): Likewise.
6477
6478 2011-05-20  Bruno Haible  <bruno@clisp.org>
6479
6480         isnanl*: Respect rules for use of AC_LIBOBJ.
6481         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
6482         invocation from here...
6483         * modules/isnanl (configure.ac): ... to here.
6484         * modules/isnanl-nolibm (configure.ac): ... and here.
6485
6486 2011-05-20  Bruno Haible  <bruno@clisp.org>
6487
6488         isnand*: Move AC_LIBOBJ invocations to module description.
6489         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
6490         invocation from here...
6491         * modules/isnand (configure.ac): ... to here.
6492         * modules/isnand-nolibm (configure.ac): ... and here.
6493
6494 2011-05-20  Bruno Haible  <bruno@clisp.org>
6495
6496         isnanf*: Move AC_LIBOBJ invocations to module description.
6497         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
6498         invocation from here...
6499         * modules/isnanf (configure.ac): ... to here.
6500         * modules/isnanf-nolibm (configure.ac): ... and here.
6501
6502 2011-05-20  Bruno Haible  <bruno@clisp.org>
6503
6504         isnan*: Separate the AC_LIBOBJ invocations.
6505         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
6506         AC_LIBOBJ invocation.
6507         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
6508         here.
6509         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
6510         AC_LIBOBJ invocation.
6511         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
6512         here.
6513         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
6514         AC_LIBOBJ invocation.
6515         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
6516         here.
6517         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
6518
6519 2011-05-08  Bruno Haible  <bruno@clisp.org>
6520
6521         isinf: Move AC_LIBOBJ invocations to module description.
6522         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
6523         * modules/isinf (configure.ac): ... to here.
6524
6525 2011-05-08  Bruno Haible  <bruno@clisp.org>
6526
6527         isfinite: Move AC_LIBOBJ invocations to module description.
6528         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
6529         * modules/isfinite (configure.ac): ... to here.
6530
6531 2011-05-08  Bruno Haible  <bruno@clisp.org>
6532
6533         isblank: Move AC_LIBOBJ invocations to module description.
6534         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
6535         here...
6536         * modules/isblank (configure.ac): ... to here.
6537
6538 2011-05-08  Bruno Haible  <bruno@clisp.org>
6539
6540         isapipe: Move AC_LIBOBJ invocations to module description.
6541         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
6542         gl_PREREQ_ISAPIPE invocations from here...
6543         * modules/isapipe (configure.ac): ... to here.
6544         (Depends-on): Update condition.
6545
6546 2011-05-08  Bruno Haible  <bruno@clisp.org>
6547
6548         ioctl: Move AC_LIBOBJ invocations to module description.
6549         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
6550         invocations from here...
6551         * modules/ioctl (configure.ac): ... to here.
6552         (Depends-on): Update condition.
6553
6554 2011-05-08  Bruno Haible  <bruno@clisp.org>
6555
6556         imaxdiv: Move AC_LIBOBJ invocations to module description.
6557         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
6558         invocations from here...
6559         * modules/imaxdiv (configure.ac): ... to here.
6560
6561 2011-05-08  Bruno Haible  <bruno@clisp.org>
6562
6563         imaxabs: Move AC_LIBOBJ invocations to module description.
6564         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
6565         invocations from here...
6566         * modules/imaxabs (configure.ac): ... to here.
6567
6568 2011-05-08  Bruno Haible  <bruno@clisp.org>
6569
6570         getaddrinfo: Move AC_LIBOBJ invocations to module description.
6571         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
6572         AC_LIBOBJ invocations from here...
6573         * modules/getaddrinfo (configure.ac): ... to here.
6574         (Depends-on): Add conditions.
6575
6576 2011-05-08  Bruno Haible  <bruno@clisp.org>
6577
6578         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
6579         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
6580         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
6581         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
6582         (gl_PREREQ_INET_PTON): ... from here.
6583         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
6584         gl_PREREQ_INET_PTON here.
6585         (Depends-on): Update condition.
6586
6587 2011-05-08  Bruno Haible  <bruno@clisp.org>
6588
6589         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
6590         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
6591         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
6592         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
6593         (gl_PREREQ_INET_NTOP): ... from here.
6594         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
6595         gl_PREREQ_INET_NTOP here.
6596         (Depends-on): Update condition.
6597
6598 2011-05-08  Bruno Haible  <bruno@clisp.org>
6599
6600         iconv_open: Move AC_LIBOBJ invocations to module description.
6601         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
6602         AC_LIBOBJ invocations from here...
6603         * modules/iconv_open (configure.ac): ... to here.
6604
6605 2011-05-08  Bruno Haible  <bruno@clisp.org>
6606
6607         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
6608         If module 'iconv_open' is among the main modules and module
6609         'iconv_open-utf' is among the tests dependencies, then
6610         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
6611         return the special iconv_t values. Therefore iconv() and iconv_close()
6612         must support these special iconv_t values, already in lib, not only in
6613         tests.
6614         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
6615         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
6616         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
6617         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
6618         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
6619         (Depends-on): Add the dependencies of iconv_open-utf.
6620         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
6621         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
6622         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
6623
6624 2011-05-08  Bruno Haible  <bruno@clisp.org>
6625
6626         group-member: Move AC_LIBOBJ invocations to module description.
6627         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
6628         gl_PREREQ_GROUP_MEMBER invocations from here...
6629         * modules/group-member (configure.ac): ... to here.
6630
6631 2011-05-08  Bruno Haible  <bruno@clisp.org>
6632
6633         grantpt: Move AC_LIBOBJ invocations to module description.
6634         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
6635         invocations from here...
6636         * modules/grantpt (configure.ac): ... to here.
6637
6638 2011-05-08  Bruno Haible  <bruno@clisp.org>
6639
6640         glob: Move AC_LIBOBJ invocations to module description.
6641         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
6642         from here...
6643         * modules/glob (configure.ac): ... to here.
6644
6645 2011-05-08  Bruno Haible  <bruno@clisp.org>
6646
6647         getusershell: Move AC_LIBOBJ invocations to module description.
6648         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
6649         Move AC_LIBOBJ invocation from here...
6650         * modules/getusershell (configure.ac): ... to here.
6651         (Depends-on): Update condition.
6652
6653 2011-05-08  Bruno Haible  <bruno@clisp.org>
6654
6655         gettimeofday: Move AC_LIBOBJ invocations to module description.
6656         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
6657         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
6658         gl_PREREQ_GETTIMEOFDAY invocations from here...
6659         * modules/gettimeofday (configure.ac): ... to here.
6660
6661 2011-05-08  Bruno Haible  <bruno@clisp.org>
6662
6663         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
6664         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
6665         just gl_FUNC_TZSET.
6666         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
6667         (gl_FUNC_TZSET_CLOBBER): Remove actions.
6668         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
6669         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
6670
6671 2011-05-08  Bruno Haible  <bruno@clisp.org>
6672
6673         getsubopt: Move AC_LIBOBJ invocations to module description.
6674         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
6675         gl_PREREQ_GETSUBOPT invocations from here...
6676         * modules/getsubopt (configure.ac): ... to here.
6677
6678 2011-05-08  Bruno Haible  <bruno@clisp.org>
6679
6680         getpass-gnu: Move AC_LIBOBJ invocations to module description.
6681         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
6682         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
6683         * modules/getpass-gnu (configure.ac): ... to here.
6684
6685 2011-05-08  Bruno Haible  <bruno@clisp.org>
6686
6687         getpass: Move AC_LIBOBJ invocations to module description.
6688         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
6689         gl_PREREQ_GETPASS invocations from here...
6690         * modules/getpass (configure.ac): ... to here.
6691
6692 2011-05-08  Bruno Haible  <bruno@clisp.org>
6693
6694         getpagesize: Move AC_LIBOBJ invocations to module description.
6695         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
6696         from here...
6697         * modules/getpagesize (configure.ac): ... to here.
6698
6699 2011-05-08  Bruno Haible  <bruno@clisp.org>
6700
6701         getopt: Move AC_LIBOBJ invocations to module description.
6702         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
6703         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
6704         invocations from here...
6705         * modules/getopt-gnu (configure.ac): ... to here.
6706         * modules/getopt-posix (configure.ac): ... and here.
6707         (Depends-on): Update condition.
6708
6709 2011-05-08  Bruno Haible  <bruno@clisp.org>
6710
6711         getopt, argp: Respect rules for use of AC_LIBOBJ.
6712         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
6713         (gl_REPLACE_GETOPT_ALWAYS): New macro.
6714         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
6715         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
6716
6717 2011-05-08  Bruno Haible  <bruno@clisp.org>
6718
6719         getlogin_r: Move AC_LIBOBJ invocations to module description.
6720         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
6721         gl_PREREQ_GETLOGIN_R invocations from here...
6722         * modules/getlogin_r (configure.ac): ... to here.
6723
6724 2011-05-08  Bruno Haible  <bruno@clisp.org>
6725
6726         getlogin: Move AC_LIBOBJ invocations to module description.
6727         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
6728         here...
6729         * modules/getlogin (configure.ac): ... to here.
6730
6731 2011-05-08  Bruno Haible  <bruno@clisp.org>
6732
6733         getloadavg: Move AC_LIBOBJ invocations to module description.
6734         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
6735         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
6736         * modules/getloadavg (configure.ac): ... to here.
6737
6738 2011-05-08  Bruno Haible  <bruno@clisp.org>
6739
6740         gethrxtime: Move AC_LIBOBJ invocations to module description.
6741         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
6742         LIB_GETHRXTIME from here...
6743         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
6744         invocations from here...
6745         * modules/gethrxtime (configure.ac): ... to here.
6746
6747 2011-05-08  Bruno Haible  <bruno@clisp.org>
6748
6749         gethostname: Move AC_LIBOBJ invocations to module description.
6750         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
6751         gl_PREREQ_GETHOSTNAME invocations from here...
6752         * modules/gethostname (configure.ac): ... to here.
6753
6754 2011-05-08  Bruno Haible  <bruno@clisp.org>
6755
6756         getgroups: Move AC_LIBOBJ invocations to module description.
6757         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
6758         here...
6759         * modules/getgroups (configure.ac): ... to here.
6760
6761 2011-05-08  Bruno Haible  <bruno@clisp.org>
6762
6763         getdtablesize: Move AC_LIBOBJ invocations to module description.
6764         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
6765         invocation from here...
6766         * modules/getdtablesize (configure.ac): ... to here.
6767
6768 2011-05-08  Bruno Haible  <bruno@clisp.org>
6769
6770         getdomainname: Move AC_LIBOBJ invocations to module description.
6771         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
6772         gl_PREREQ_GETDOMAINNAME invocations from here...
6773         * modules/getdomainname (configure.ac): ... to here.
6774
6775 2011-05-08  Bruno Haible  <bruno@clisp.org>
6776
6777         getline: Move AC_LIBOBJ invocations to module description.
6778         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
6779         invocations from here...
6780         * modules/getline (configure.ac): ... to here.
6781
6782 2011-05-08  Bruno Haible  <bruno@clisp.org>
6783
6784         getline: Simplify.
6785         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
6786         It's already handled through the module dependency.
6787
6788 2011-05-08  Bruno Haible  <bruno@clisp.org>
6789
6790         getdelim: Move AC_LIBOBJ invocations to module description.
6791         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
6792         and gl_PREREQ_GETDELIM invocations from here...
6793         * modules/getdelim (configure.ac): ... to here.
6794         (Depends-on): Fix condition.
6795
6796 2011-05-08  Bruno Haible  <bruno@clisp.org>
6797
6798         getcwd: Move AC_LIBOBJ invocations to module description.
6799         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
6800         invocations from here...
6801         * modules/getcwd (configure.ac): ... to here.
6802
6803 2011-05-08  Bruno Haible  <bruno@clisp.org>
6804
6805         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
6806         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
6807         here...
6808         * modules/getcwd-lgpl (configure.ac): ... to here.
6809
6810 2011-05-07  Bruno Haible  <bruno@clisp.org>
6811
6812         crypto/gc: Move AC_LIBOBJ invocations to module description.
6813         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
6814         * modules/crypto/gc (configure.ac): ... to here.
6815
6816 2011-05-07  Bruno Haible  <bruno@clisp.org>
6817
6818         fwriting: Move AC_LIBOBJ invocations to module description.
6819         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
6820         here...
6821         * modules/fwriting (configure.ac): ... to here.
6822
6823 2011-05-07  Bruno Haible  <bruno@clisp.org>
6824
6825         fwritable: Move AC_LIBOBJ invocations to module description.
6826         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
6827         here...
6828         * modules/fwritable (configure.ac): ... to here.
6829
6830 2011-05-07  Bruno Haible  <bruno@clisp.org>
6831
6832         futimens: Move AC_LIBOBJ invocations to module description.
6833         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
6834         here...
6835         * modules/futimens (configure.ac): ... to here.
6836
6837 2011-05-07  Bruno Haible  <bruno@clisp.org>
6838
6839         ftruncate: Move AC_LIBOBJ invocations to module description.
6840         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
6841         gl_PREREQ_FTRUNCATE invocations from here...
6842         * modules/ftruncate (configure.ac): ... to here.
6843
6844 2011-05-07  Bruno Haible  <bruno@clisp.org>
6845
6846         fsync: Move AC_LIBOBJ invocations to module description.
6847         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
6848         invocations from here...
6849         * modules/fsync (configure.ac): ... to here.
6850
6851 2011-05-07  Bruno Haible  <bruno@clisp.org>
6852
6853         fsusage: Move AC_LIBOBJ invocations to module description.
6854         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
6855         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
6856         * modules/fsusage (configure.ac): ... to here.
6857
6858 2011-05-07  Bruno Haible  <bruno@clisp.org>
6859
6860         freopen: Move AC_LIBOBJ invocations to module description.
6861         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
6862         invocations from here...
6863         * modules/freopen (configure.ac): ... to here.
6864
6865 2011-05-07  Bruno Haible  <bruno@clisp.org>
6866
6867         free: Move AC_LIBOBJ invocations to module description.
6868         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
6869         invocations from here...
6870         * modules/free (configure.ac): ... to here.
6871
6872 2011-05-07  Bruno Haible  <bruno@clisp.org>
6873
6874         freadable: Move AC_LIBOBJ invocations to module description.
6875         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
6876         here...
6877         * modules/freadable (configure.ac): ... to here.
6878
6879 2011-05-07  Bruno Haible  <bruno@clisp.org>
6880
6881         fpurge: Move AC_LIBOBJ invocations to module description.
6882         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
6883         invocations from here...
6884         * modules/fpurge (configure.ac): ... to here.
6885
6886 2011-05-07  Bruno Haible  <bruno@clisp.org>
6887
6888         fpending: Move AC_LIBOBJ invocations to module description.
6889         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
6890         gl_FUNC_FPENDING.
6891         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
6892         invocations from here...
6893         * modules/fpending (configure.ac): ... to here.
6894
6895 2011-05-07  Bruno Haible  <bruno@clisp.org>
6896
6897         fopen: Move AC_LIBOBJ invocations to module description.
6898         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
6899         invocations from here...
6900         * modules/fopen (configure.ac): ... to here.
6901
6902 2011-05-07  Bruno Haible  <bruno@clisp.org>
6903
6904         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
6905         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
6906         gl_FUNC_FNMATCH_POSIX.
6907         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
6908         invocations from here...
6909         * modules/fnmatch (configure.ac): ... to here.
6910         * modules/fnmatch-gnu (configure.ac): ... and here.
6911
6912 2011-05-07  Bruno Haible  <bruno@clisp.org>
6913
6914         flock: Move AC_LIBOBJ invocations to module description.
6915         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
6916         invocations from here...
6917         * modules/flock (configure.ac): ... to here.
6918
6919 2011-05-07  Bruno Haible  <bruno@clisp.org>
6920
6921         fileblocks: Move AC_LIBOBJ invocations to module description.
6922         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
6923         gl_PREREQ_FILEBLOCKS invocations from here...
6924         * modules/fileblocks (configure.ac): ... to here.
6925
6926 2011-05-06  Bruno Haible  <bruno@clisp.org>
6927
6928         fflush: Move AC_LIBOBJ invocations to module description.
6929         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
6930         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
6931         invocations from here...
6932         * modules/fflush (configure.ac): ... to here.
6933
6934 2011-05-06  Bruno Haible  <bruno@clisp.org>
6935
6936         fdopendir: Move AC_LIBOBJ invocations to module description.
6937         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
6938         here...
6939         * modules/fdopendir (configure.ac): ... to here.
6940         (Depends-on): Improve conditions.
6941
6942 2011-05-06  Bruno Haible  <bruno@clisp.org>
6943
6944         _Exit: Move AC_LIBOBJ invocations to module description.
6945         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
6946         invocations from here...
6947         * modules/_Exit (configure.ac): ... to here.
6948
6949 2011-05-21  Bruno Haible  <bruno@clisp.org>
6950
6951         euidaccess: Respect rules for use of AC_LIBOBJ.
6952         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
6953         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
6954         from here...
6955         * modules/euidaccess (configure.ac): ... to here.
6956
6957 2011-05-06  Bruno Haible  <bruno@clisp.org>
6958
6959         error: Move AC_LIBOBJ invocations to module description.
6960         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
6961         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
6962         invocations from here...
6963         * modules/error (configure.ac): ... to here.
6964
6965 2011-05-06  Bruno Haible  <bruno@clisp.org>
6966
6967         duplocale: Move AC_LIBOBJ invocations to module description.
6968         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
6969         gl_PREREQ_DUPLOCALE invocations from here...
6970         * modules/duplocale (configure.ac): ... to here.
6971
6972 2011-05-05  Bruno Haible  <bruno@clisp.org>
6973
6974         dirfd: Move AC_LIBOBJ invocations to module description.
6975         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
6976         gl_FUNC_DIRFD.
6977         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
6978         here...
6979         * modules/dirfd (configure.ac): ... to here.
6980         (Depends-on): Fix condition.
6981
6982 2011-05-05  Bruno Haible  <bruno@clisp.org>
6983
6984         chown: Respect rules for use of AC_LIBOBJ.
6985         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
6986         * modules/chown (configure.ac): ... to here.
6987
6988 2011-05-05  Bruno Haible  <bruno@clisp.org>
6989
6990         chdir-long: Move AC_LIBOBJ invocations to module description.
6991         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
6992         gl_PREREQ_CHDIR_LONG invocations from here...
6993         * modules/chdir-long (configure.ac): ... to here.
6994
6995 2011-05-05  Bruno Haible  <bruno@clisp.org>
6996
6997         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
6998         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
6999         from here...
7000         * modules/canonicalize-lgpl (configure.ac): ... to here.
7001
7002 2011-05-05  Bruno Haible  <bruno@clisp.org>
7003
7004         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
7005         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
7006         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
7007         REPLACE_CALLOC.
7008         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
7009         * modules/calloc-gnu (configure.ac): Likewise.
7010
7011 2011-05-05  Bruno Haible  <bruno@clisp.org>
7012
7013         btowc: Move AC_LIBOBJ invocations to module description.
7014         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
7015         invocations from here...
7016         * modules/btowc (configure.ac): ... to here.
7017
7018 2011-05-21  Bruno Haible  <bruno@clisp.org>
7019
7020         atexit: Move AC_LIBOBJ invocations to module description.
7021         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
7022         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
7023         here...
7024         * modules/atexit (configure.ac): ... to here.
7025
7026 2011-05-05  Bruno Haible  <bruno@clisp.org>
7027
7028         atoll: Move AC_LIBOBJ invocations to module description.
7029         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
7030         invocations from here...
7031         * modules/atoll (configure.ac): ... to here.
7032
7033 2011-05-05  Bruno Haible  <bruno@clisp.org>
7034
7035         argz: Move AC_LIBOBJ invocations to module description.
7036         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
7037         * modules/argz (configure.ac): ... to here.
7038
7039 2011-05-05  Bruno Haible  <bruno@clisp.org>
7040
7041         alphasort: Move AC_LIBOBJ invocations to module description.
7042         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
7043         gl_PREREQ_ALPHASORT invocations from here...
7044         * modules/alphasort (configure.ac): ... to here.
7045
7046 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
7047
7048         verify: new macro verify_expr; verify_true deprecated
7049         * NEWS: Mention this.
7050         * doc/verify.texi (Compile-time Assertions): Document this.
7051         * lib/verify.h (verify_true): Deprecate.
7052         (verify_expr): New macro.
7053         * tests/test-verify.c (function): Test verify_expr.
7054
7055 2011-06-14  Jim Meyering  <meyering@redhat.com>
7056
7057         init.sh: give more portable redirection-related advice in a comment
7058         * tests/init.sh (stderr_fileno_): Update the advice in comments.
7059         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
7060         for lots of discussion.  Stefano Lattarini suggested the solution
7061         of putting "9>&2" after the command.  Reported by Bruno Haible.
7062
7063 2011-06-13  Bruno Haible  <bruno@clisp.org>
7064
7065         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
7066         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
7067         'none'.
7068
7069 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
7070
7071         ftoastr: use strtof only if HAVE_STRTOF
7072         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
7073         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
7074         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
7075         * modules/ftoastr (configure.ac): Check for strtof.
7076
7077 2011-06-13  Bruno Haible  <bruno@clisp.org>
7078
7079         gnulib-tool: Addendum to 2011-06-08 commit.
7080         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
7081         and --witness-c-macro have been given, augment AM_CPPFLAGS.
7082
7083 2011-06-13  Bruno Haible  <bruno@clisp.org>
7084
7085         fseeko: Provide a non-inline replacement of fseek().
7086         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
7087         * modules/fseeko (Depends-on): Add fseek.
7088         * modules/fseek (License): Change to LGPLv2+.
7089
7090 2011-06-13  Bruno Haible  <bruno@clisp.org>
7091
7092         ftello: Provide a non-inline replacement of ftell().
7093         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
7094         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
7095         not have ftello() (such as on mingw).
7096         * modules/ftello (Depends-on): Add ftell.
7097         * modules/ftell (License): Change to LGPLv2+.
7098
7099 2011-05-07  Bruno Haible  <bruno@clisp.org>
7100
7101         ftell: Move AC_LIBOBJ invocations to module description.
7102         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
7103         * modules/ftell (configure.ac): ... to here.
7104
7105 2011-05-07  Bruno Haible  <bruno@clisp.org>
7106
7107         ftello: Respect rules for use of AC_LIBOBJ.
7108         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
7109         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
7110         here...
7111         * modules/ftello (configure.ac): ... to here.
7112
7113 2011-05-07  Bruno Haible  <bruno@clisp.org>
7114
7115         fseeko: Simplify.
7116         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
7117         (gl_FUNC_FSEEKO): Inline it here.
7118
7119 2011-05-07  Bruno Haible  <bruno@clisp.org>
7120
7121         fseek: Move AC_LIBOBJ invocations to module description.
7122         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
7123         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
7124         * modules/fseek (configure.ac): ... to here.
7125
7126 2011-05-07  Bruno Haible  <bruno@clisp.org>
7127
7128         fseek: Respect rules for use of AC_LIBOBJ.
7129         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
7130         here...
7131         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
7132
7133 2011-05-07  Bruno Haible  <bruno@clisp.org>
7134
7135         fseeko: Respect rules for use of AC_LIBOBJ.
7136         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
7137         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
7138         here...
7139         * modules/fseeko (configure.ac): ... to here.
7140
7141 2011-06-13  Bruno Haible  <bruno@clisp.org>
7142
7143         gnulib-tool: Allow comments in the 'Depends-on' section.
7144         * doc/gnulib.texi (Module description): Mention comment syntax in the
7145         Depends-on section.
7146         * gnulib-tool (func_get_dependencies): Filter out comment lines.
7147
7148 2011-06-13  Bruno Haible  <bruno@clisp.org>
7149
7150         file-set.h: guard __attibute__ use, now that it's not always defined
7151         * lib/file-set.h (record_file): Use __attribute__ only with compiler
7152         versions that support it.  This fixes a coreutils build failure with
7153         the vendor cc on HP-UX 11.31.
7154
7155 2011-06-12  Bruno Haible  <bruno@clisp.org>
7156
7157         acl: Add support for HP-UX >= 11.11 JFS ACLs.
7158         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
7159         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
7160         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
7161         (acl, aclsort): New declarations.
7162         (aclv_nontrivial): New declaration.
7163         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
7164         (file_has_acl): Read also the second kind of HP-UX ACLs.
7165         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
7166         kind of HP-UX ACLs if the first kind fails.
7167         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
7168         second kind of HP-UX ACLs.
7169         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
7170         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
7171         agree.
7172         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
7173         hpuxjfs.
7174         Handle hpuxjfs.
7175         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
7176         hpuxjfs.
7177         Handle hpuxjfs.
7178         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
7179         (func_test_same_acls): Use both lsacl and getacl.
7180         Handle hpuxjfs.
7181         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
7182         (func_test_same_acls): Use both lsacl and getacl.
7183         Handle hpuxjfs.
7184
7185 2011-06-12  Bruno Haible  <bruno@clisp.org>
7186
7187         acl: Complete the 2010-08-10 fix.
7188         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
7189         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
7190         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
7191         explicitly.
7192         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
7193         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
7194
7195 2011-06-12  Bruno Haible  <bruno@clisp.org>
7196
7197         spawn-pipe tests: Comments.
7198         * tests/test-spawn-pipe-child.c (main): Update comment.
7199         Reported by James Youngman <jay@gnu.org>.
7200
7201 2011-06-11  James Youngman  <jay@gnu.org>
7202
7203         New module 'stat-size'.
7204         * modules/stat-size: New module.  Provides macros for accessing
7205         file size information in instances of struct stat.  Depends on the
7206         fileblocks module because it calls st_blocks.
7207         * lib/stat-size.h: New file, adapted from coreutils' system.h.
7208         * doc/gnulib.texi: Include stat-size.texi.
7209         * doc/stat-size.texi: Documentation for this module.
7210         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
7211         * m4/fileblocks.m4: Mention that stat-size depends on the call to
7212         AC_STRUCT_ST_BLOCKS.
7213
7214 2011-06-09  Bruno Haible  <bruno@clisp.org>
7215
7216         thread: Support pthreads-win32.
7217         * lib/glthread/thread.h (gl_thread_self): Define differently on
7218         pthreads-win32.
7219         (gl_null_thread): New declaration.
7220         (gl_thread_self_pointer): New macro.
7221         * lib/glthread/thread.c (gl_null_thread): New constant.
7222         * tests/test-lock.c: Use gl_thread_self_pointer instead of
7223         gl_thread_self.
7224         * tests/test-tls.c: Likewise.
7225         Suggested by Paul Eggert. Reported by Eric Blake.
7226
7227 2011-06-09  Bruno Haible  <bruno@clisp.org>
7228
7229         thread: Fix confusion between NULL and 0.
7230         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
7231         Reported by Paul Eggert.
7232
7233 2011-06-09  Bruno Haible  <bruno@clisp.org>
7234
7235         spawn-pipe tests: Avoid test failure on HP-UX 11.
7236         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
7237         is closed.
7238
7239 2011-06-09  Bruno Haible  <bruno@clisp.org>
7240
7241         acl tests: Fix compilation error on HP-UX 11.
7242         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
7243
7244 2011-06-09  Bruno Haible  <bruno@clisp.org>
7245
7246         rmdir: Avoid test failure on HP-UX 10.20.
7247         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
7248         EEXIST.
7249
7250 2011-06-08  Eric Blake  <eblake@redhat.com>
7251
7252         perror: fix test on mingw
7253         * modules/perror-tests (Depends-on): Add dup2.
7254
7255         strerror_r-posix: fix on MacOS
7256         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
7257         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
7258         logic bug.
7259         * lib/strerror_r.c (strerror_r): Fix the bug.
7260         * lib/strerror.c (strerror): Likewise.
7261         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
7262         problem.
7263         * doc/posix-functions/strerror.texi (strerror): Likewise.
7264         * doc/posix-functions/perror.texi (perror): Likewise.
7265         * tests/test-strerror.c (main): Enhance test.
7266         * tests/test-strerror_r.c (main): Likewise.
7267
7268 2011-06-08  Bruno Haible  <bruno@clisp.org>
7269
7270         gnulib-tool: Better isolation between different gnulib-tool invocations.
7271         * gnulib-tool: New option --witness-c-macro.
7272         (witness_c_macro): New variable.
7273         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
7274         AM_CPPFLAGS define it as a C macro.
7275         (func_emit_tests_Makefile_am): Likewise.
7276         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
7277         read it from there.
7278         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
7279         m4_define, not AC_DEFUN.
7280         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
7281         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
7282         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
7283         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
7284         s|...|...|, to substitute the values of the GNULIB_* module indicator
7285         variables.
7286         * modules/dirent (Makefile.am): Likewise.
7287         * modules/fcntl-h (Makefile.am): Likewise.
7288         * modules/iconv-h (Makefile.am): Likewise.
7289         * modules/langinfo (Makefile.am): Likewise.
7290         * modules/locale (Makefile.am): Likewise.
7291         * modules/math (Makefile.am): Likewise.
7292         * modules/netdb (Makefile.am): Likewise.
7293         * modules/poll-h (Makefile.am): Likewise.
7294         * modules/pty (Makefile.am): Likewise.
7295         * modules/search (Makefile.am): Likewise.
7296         * modules/signal (Makefile.am): Likewise.
7297         * modules/spawn (Makefile.am): Likewise.
7298         * modules/stdio (Makefile.am): Likewise.
7299         * modules/stdlib (Makefile.am): Likewise.
7300         * modules/string (Makefile.am): Likewise.
7301         * modules/sys_ioctl (Makefile.am): Likewise.
7302         * modules/sys_select (Makefile.am): Likewise.
7303         * modules/sys_socket (Makefile.am): Likewise.
7304         * modules/sys_stat (Makefile.am): Likewise.
7305         * modules/sys_times (Makefile.am): Likewise.
7306         * modules/sys_utsname (Makefile.am): Likewise.
7307         * modules/sys_wait (Makefile.am): Likewise.
7308         * modules/termios (Makefile.am): Likewise.
7309         * modules/time (Makefile.am): Likewise.
7310         * modules/unistd (Makefile.am): Likewise.
7311         * modules/wchar (Makefile.am): Likewise.
7312
7313 2011-06-08  Eric Blake  <eblake@redhat.com>
7314
7315         strerror: simplify replacement
7316         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
7317         * modules/strerror (configure.ac): No prereqs needed here...
7318         * modules/strerror-override (configure.ac): ...but this needs it.
7319         (Files): Add file for needed prereq macro.
7320
7321 2011-06-08  Bruno Haible  <bruno@clisp.org>
7322
7323         strerror_r-posix: Tweaks.
7324         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
7325         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
7326         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
7327         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
7328         (gl_FUNC_STRERROR_R): ... to here.
7329         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
7330
7331 2011-06-07  Eric Blake  <eblake@redhat.com>
7332
7333         perror: document fixed bugs
7334         * doc/posix-functions/perror.texi (perror): Document recent
7335         patches.
7336
7337 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
7338
7339         stat-time: get_stat_birthtime failure is better-defined
7340         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
7341         return a timestamp whose tv_sec and tv_nsec values are both -1.
7342         Previously, the spec said only that the tv_nsec value was negative.
7343         This upward-compatible change simplifies GNU tar a bit.
7344
7345 2011-06-07  Eric Blake  <eblake@redhat.com>
7346
7347         strerror_r-posix: work around cygwin 1.7.9
7348         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
7349         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
7350         bug without replacing strerror_r.
7351         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
7352         strerror_r is buggy, but without requiring strerror_r compilation.
7353         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
7354
7355         test-perror: relax test to ignore cygwin bug
7356         * tests/test-perror2.c (main): Relax test on requiring detection
7357         of stream errors, and use unbuffered stream.
7358         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
7359         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
7360         * doc/posix-functions/fputc.texi (fputc): Likewise.
7361         * doc/posix-functions/fputs.texi (fputs): Likewise.
7362         * doc/posix-functions/fputws.texi (fputws): Likewise.
7363         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
7364         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
7365         * doc/posix-functions/getopt.texi (getopt): Likewise.
7366         * doc/posix-functions/perror.texi (perror): Likewise.
7367         * doc/posix-functions/printf.texi (printf): Likewise.
7368         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
7369         * doc/posix-functions/psignal.texi (psignal): Likewise.
7370         * doc/posix-functions/putc.texi (putc): Likewise.
7371         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
7372         Likewise.
7373         * doc/posix-functions/putchar.texi (putchar): Likewise.
7374         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
7375         Likewise.
7376         * doc/posix-functions/puts.texi (puts): Likewise.
7377         * doc/posix-functions/putwc.texi (putwc): Likewise.
7378         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
7379         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
7380         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
7381         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
7382         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
7383         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
7384         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
7385         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
7386
7387 2011-05-22  Bruno Haible  <bruno@clisp.org>
7388
7389         strerror: Move AC_LIBOBJ invocations to module description.
7390         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
7391         gl_PREREQ_STRERROR invocations from here...
7392         * modules/strerror (configure.ac): ... to here.
7393
7394 2011-05-21  Bruno Haible  <bruno@clisp.org>
7395
7396         perror: Use common idiom.
7397         * modules/perror (configure.ac): Reorder statements.
7398
7399 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
7400
7401         tests: fix usage message in 'mktempd_'
7402         * tests/init.sh (mktempd_): In the usage message, use literal
7403         'mktempd_', not '$ME' (which is even undefined), as the name of
7404         the subroutine.
7405
7406 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
7407
7408         tests init: new function 'fatal_', for hard errors
7409         Before this patch, the only way offered by tests/init.sh to
7410         properly signal a hard error was the `framework_failure_'
7411         function.  But the error message issued by that function,
7412         as its name would suggest, refers to a set-up failure in the
7413         testsuite, while hard errors can obviously also be due to
7414         other reasons.  The best way to fix this inconsistency is to
7415         introduce a new function with a more general error message.
7416         * tests/init.sh (fatal_): New function.
7417
7418 2011-06-06  Eric Blake  <eblake@redhat.com>
7419
7420         canonicalize-lgpl: use common idiom
7421         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
7422         over newer POSIX -Rf.
7423         Reported by Bruno Haible.
7424
7425         canonicalize-lgpl: work around AIX realpath bug
7426         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
7427         * doc/posix-functions/realpath.texi (realpath): Document it.
7428         Reported by Bruno Haible.
7429
7430         strerror: work around FreeBSD bug
7431         * lib/strerror.c (strerror): Special case 0.
7432         Reported by Bruno Haible.
7433
7434         strerror-override: avoid bloating errno module
7435         * modules/errno (Files, configure.ac): Move replacement strings...
7436         * modules/strerror-override: ...to new module.
7437         * modules/strerror (Depends-on): Add strerror-override.
7438         * modules/strerror_r-posix (Depends-on): Likewise.
7439         * MODULES.html.sh: Document new module.
7440         Reported by Bruno Haible.
7441
7442 2011-06-06  Bruno Haible  <bruno@clisp.org>
7443
7444         spawn-pipe tests: Rename program.
7445         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
7446         * tests/test-spawn-pipe-child.c: Update comment.
7447         * tests/test-spawn-pipe.sh: Update.
7448         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
7449
7450         spawn-pipe tests: Link the child program only against libc.
7451         * tests/test-spawn-pipe-child.c: New file, extracted from
7452         tests/test-spawn-pipe.c.
7453         (main): Expect only one argument.
7454         (is_open): New function, copied from tests/test-pipe.c.
7455         * tests/test-spawn-pipe.c: Don't include <errno.h>.
7456         (child_main): Remove function.
7457         (test_pipe): Pass only one argument to the child program.
7458         (main): Remove child process code. Expect the child program's name as
7459         first argument.
7460         * tests/test-spawn-pipe.sh: Pass the child program's name as first
7461         argument.
7462         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
7463         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
7464         test-spawn-pipe-child against no libraries.
7465
7466 2011-06-06  Bruno Haible  <bruno@clisp.org>
7467
7468         careadlinkat: Avoid mismatch between ssize_t and int.
7469         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
7470         * lib/careadlinkat.c (careadlinkatcwd): Define always.
7471
7472 2011-06-06  Jim Meyering  <meyering@redhat.com>
7473
7474         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
7475         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
7476         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
7477
7478 2011-06-05  Bruno Haible  <bruno@clisp.org>
7479
7480         ansi-c++-opt: Interoperability with libtool.
7481         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
7482         set the variable to "no", not to ":".
7483         * NEWS: Mention the change.
7484
7485 2011-06-05  Bruno Haible  <bruno@clisp.org>
7486
7487         acl: Fix test failure on AIX 7.
7488         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
7489         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
7490
7491 2011-06-05  Bruno Haible  <bruno@clisp.org>
7492
7493         pipe-filter-ii: Fix test failure on AIX and IRIX.
7494         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
7495         with EAGAIN, retry with a smaller buffer size.
7496
7497 2011-06-05  Bruno Haible  <bruno@clisp.org>
7498
7499         localename: Fix link dependencies.
7500         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
7501         * modules/localename-tests (Makefile.am): Link test-localename with
7502         $(LIBTHREAD).
7503
7504 2011-06-05  Bruno Haible  <bruno@clisp.org>
7505
7506         error: Avoid gcc warning.
7507         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
7508
7509 2011-06-05  Bruno Haible  <bruno@clisp.org>
7510
7511         unsetenv: Avoid gcc warning.
7512         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
7513
7514 2011-06-05  Bruno Haible  <bruno@clisp.org>
7515
7516         setenv: Avoid gcc warning.
7517         * lib/setenv.c (setenv): Provide declaration if system lacks it.
7518
7519 2011-06-05  Bruno Haible  <bruno@clisp.org>
7520
7521         sys_select: Ensure memset is declared also on AIX 7.
7522         * lib/sys_select.in.h: Include <string.h> also on AIX.
7523         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
7524         self-contained also on AIX 7.1.
7525
7526 2011-06-04  Jim Meyering  <meyering@redhat.com>
7527
7528         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
7529         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
7530         function name, "error".
7531         (_gl_translatable_diag_func_re): New configurable variable.
7532
7533 2011-06-04  Bruno Haible  <bruno@clisp.org>
7534
7535         getopt: Avoid gcc warning.
7536         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
7537
7538 2011-06-04  Bruno Haible  <bruno@clisp.org>
7539
7540         strerror_r: Fix comments.
7541         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
7542         commit.
7543
7544 2011-06-04  Bruno Haible  <bruno@clisp.org>
7545
7546         perror: Fix compilation error.
7547         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
7548         Undefine fprintf, not sprintf.
7549         * modules/perror (Depends-on): Remove intprops, verify.
7550
7551 2011-06-04  Bruno Haible  <bruno@clisp.org>
7552
7553         setlocale: Enable replacement on Cygwin 1.5.
7554         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
7555         Cygwin 1.5.x.
7556         * doc/posix-functions/setlocale.texi: Mention that the problem with the
7557         LC_CTYPE category also exists on Cygwin 1.5.x.
7558
7559 2011-06-04  Bruno Haible  <bruno@clisp.org>
7560
7561         strerror-override: Don't disable symbol renamings.
7562         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
7563         * lib/strerror-override.c: Include config.h.
7564         (strerror_override): Don't undefine.
7565
7566 2011-06-03  Bruno Haible  <bruno@clisp.org>
7567
7568         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
7569         * lib/localename.h: Update copyright header.
7570         * lib/localename.c: Likewise.
7571         * lib/relocatable.h: Likewise.
7572         * lib/relocatable.c: Likewise.
7573
7574 2011-06-02  Bruno Haible  <bruno@clisp.org>
7575
7576         doc: Fix a module name.
7577         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
7578
7579 2011-06-02  Bruno Haible  <bruno@clisp.org>
7580
7581         pipe2: Remove dependency on 'nonblocking' module.
7582         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
7583         O_NONBLOCK is defined by gnulib.
7584         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
7585         is zero.
7586         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
7587         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
7588         defined by gnulib.
7589         (get_nonblocking_flag): New function.
7590         (main): Test O_NONBLOCK flag only if it is nonzero.
7591         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
7592
7593 2011-06-03  Jim Meyering  <meyering@redhat.com>
7594
7595         maint: three new prohibit-header-without-use rules
7596         Prohibit use of cloexec.h, posixver.h, same.h without use.
7597         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
7598         (sc_prohibit_posixver_without_use): Likewise.
7599         (sc_prohibit_same_without_use): Likewise.
7600
7601 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
7602
7603         allocator: 'die' routine is now given requested size
7604         * lib/allocator.h (struct allocator.die): New size arg.
7605         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
7606         If the actual problem is an ssize_t limitation, not a size_t or
7607         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
7608
7609 2011-06-01  Eric Blake  <eblake@redhat.com>
7610
7611         strerror: drop strerror_r dependency
7612         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
7613         * lib/strerror-override.c (strerror_override): ...to new file.
7614         * lib/strerror-override.h: Add prototype.
7615         * lib/strerror-impl.h: Delete.
7616         * lib/strerror.c (strerror): New implementation.
7617         * modules/errno (Files): Add new files.
7618         (configure.ac): Compile new file as appropriate.
7619         * modules/strerror (Files): Drop unused file.
7620         (Depends-on): Drop strerror_r-posix.
7621         * MODULES.html.sh: Document strerror_r-posix.
7622         Requested by Sam Steingold.
7623
7624         perror: call strerror_r directly
7625         * modules/perror (Files): Drop strerror-impl.h.
7626         * lib/perror.c (perror): Use our own stack buffer, rather than
7627         calling a wrapper that uses static storage.
7628         * doc/posix-functions/perror.texi (perror): Document a limitation
7629         of our replacement.
7630
7631         strerror_r: fix includes for FreeBSD
7632         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
7633         since we use abort on some platforms.
7634         Reported by Matthias Bolte.
7635
7636 2011-05-31  Bruno Haible  <bruno@clisp.org>
7637
7638         Fix link errors in tests: openat-die uses gettext-h.
7639         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
7640         against $(LIBINTL).
7641         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
7642         against $(LIBINTL).
7643         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
7644         $(LIBINTL).
7645         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
7646         against $(LIBINTL).
7647         * modules/linkat-tests (Makefile.am): Link test-linkat against
7648         $(LIBINTL).
7649         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
7650         $(LIBINTL).
7651         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
7652         against $(LIBINTL).
7653         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
7654         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
7655         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
7656         $(LIBINTL).
7657         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
7658         $(LIBINTL).
7659         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
7660         $(LIBINTL).
7661         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7662
7663 2011-05-31  Bruno Haible  <bruno@clisp.org>
7664
7665         Fix link errors in tests: wait-process uses gettext-h.
7666         * modules/nonblocking-pipe-tests (Makefile.am): Set
7667         test_nonblocking_pipe_main_LDADD.
7668         * modules/nonblocking-socket-tests (Makefile.am): Link
7669         test-nonblocking-socket-main against $(LIBINTL).
7670         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7671
7672 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
7673
7674         assert-h: work around 'verify' incompatibility
7675         * lib/verify.h: Use @...@ directives, not ifdef.
7676         * modules/assert-h (assert.h): Implement the directives.
7677         (assert.h): Substitute the symbol-prefix more consistently.
7678
7679 2011-05-29  Jim Meyering  <meyering@redhat.com>
7680
7681         trim: remove three superfluous assignments
7682         * lib/trim.c (trim2): Remove three superfluous assignments
7683         and correct brace positioning.
7684
7685 2011-05-29  Bruno Haible  <bruno@clisp.org>
7686
7687         wctype-h: Avoid namespace pollution on Solaris 2.6.
7688         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
7689         identifiers.
7690         * doc/posix-headers/wctype.texi: Mention the problem.
7691         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7692
7693 2011-05-28  Jim Meyering  <meyering@redhat.com>
7694
7695         parse-datetime.y: accommodate -Wstrict-overflow
7696         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
7697         placate -Wstrict-overflow.
7698
7699         trim: avoid a warning from -O2 -Wstrict-overflow
7700         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
7701
7702 2011-05-29  Bruno Haible  <bruno@clisp.org>
7703
7704         gnulib-tool: Fix bug in yesterday's commit.
7705         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
7706         twice.
7707
7708 2011-05-29  Bruno Haible  <bruno@clisp.org>
7709
7710         Allow multiple gnulib generated include files to be combined.
7711         * gnulib-tool (func_compute_include_guard_prefix): New function.
7712         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
7713         ${gl_include_guard_prefix} references.
7714         (func_import, func_create_testdir): Invoke
7715         func_compute_include_guard_prefix.
7716         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
7717         * lib/ctype.in.h: Likewise.
7718         * lib/dirent.in.h: Likewise.
7719         * lib/errno.in.h: Likewise.
7720         * lib/fcntl.in.h: Likewise.
7721         * lib/float.in.h: Likewise.
7722         * lib/getopt.in.h: Likewise.
7723         * lib/iconv.in.h: Likewise.
7724         * lib/langinfo.in.h: Likewise.
7725         * lib/locale.in.h: Likewise.
7726         * lib/math.in.h: Likewise.
7727         * lib/netdb.in.h: Likewise.
7728         * lib/netinet_in.in.h: Likewise.
7729         * lib/poll.in.h: Likewise.
7730         * lib/pthread.in.h: Likewise.
7731         * lib/pty.in.h: Likewise.
7732         * lib/sched.in.h: Likewise.
7733         * lib/se-selinux.in.h: Likewise.
7734         * lib/search.in.h: Likewise.
7735         * lib/signal.in.h: Likewise.
7736         * lib/spawn.in.h: Likewise.
7737         * lib/stdarg.in.h: Likewise.
7738         * lib/stddef.in.h: Likewise.
7739         * lib/stdint.in.h: Likewise.
7740         * lib/stdio.in.h: Likewise.
7741         * lib/stdlib.in.h: Likewise.
7742         * lib/string.in.h: Likewise.
7743         * lib/strings.in.h: Likewise.
7744         * lib/sys_file.in.h: Likewise.
7745         * lib/sys_ioctl.in.h: Likewise.
7746         * lib/sys_select.in.h: Likewise.
7747         * lib/sys_socket.in.h: Likewise.
7748         * lib/sys_stat.in.h: Likewise.
7749         * lib/sys_time.in.h: Likewise.
7750         * lib/sys_times.in.h: Likewise.
7751         * lib/sys_uio.in.h: Likewise.
7752         * lib/sys_utsname.in.h: Likewise.
7753         * lib/sys_wait.in.h: Likewise.
7754         * lib/sysexits.in.h: Likewise.
7755         * lib/termios.in.h: Likewise.
7756         * lib/time.in.h: Likewise.
7757         * lib/unistd.in.h: Likewise.
7758         * lib/wchar.in.h: Likewise.
7759         * lib/wctype.in.h: Likewise.
7760         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
7761         * modules/ctype (Makefile.am): Likewise.
7762         * modules/dirent (Makefile.am): Likewise.
7763         * modules/errno (Makefile.am): Likewise.
7764         * modules/fcntl-h (Makefile.am): Likewise.
7765         * modules/float (Makefile.am): Likewise.
7766         * modules/getopt-posix (Makefile.am): Likewise.
7767         * modules/iconv-h (Makefile.am): Likewise.
7768         * modules/langinfo (Makefile.am): Likewise.
7769         * modules/locale (Makefile.am): Likewise.
7770         * modules/math (Makefile.am): Likewise.
7771         * modules/netdb (Makefile.am): Likewise.
7772         * modules/netinet_in (Makefile.am): Likewise.
7773         * modules/poll-h (Makefile.am): Likewise.
7774         * modules/pthread (Makefile.am): Likewise.
7775         * modules/pty (Makefile.am): Likewise.
7776         * modules/sched (Makefile.am): Likewise.
7777         * modules/search (Makefile.am): Likewise.
7778         * modules/selinux-h (Makefile.am): Likewise.
7779         * modules/signal (Makefile.am): Likewise.
7780         * modules/spawn (Makefile.am): Likewise.
7781         * modules/stdarg (Makefile.am): Likewise.
7782         * modules/stddef (Makefile.am): Likewise.
7783         * modules/stdint (Makefile.am): Likewise.
7784         * modules/stdio (Makefile.am): Likewise.
7785         * modules/stdlib (Makefile.am): Likewise.
7786         * modules/string (Makefile.am): Likewise.
7787         * modules/strings (Makefile.am): Likewise.
7788         * modules/sys_file (Makefile.am): Likewise.
7789         * modules/sys_ioctl (Makefile.am): Likewise.
7790         * modules/sys_select (Makefile.am): Likewise.
7791         * modules/sys_socket (Makefile.am): Likewise.
7792         * modules/sys_stat (Makefile.am): Likewise.
7793         * modules/sys_time (Makefile.am): Likewise.
7794         * modules/sys_times (Makefile.am): Likewise.
7795         * modules/sys_uio (Makefile.am): Likewise.
7796         * modules/sys_utsname (Makefile.am): Likewise.
7797         * modules/sys_wait (Makefile.am): Likewise.
7798         * modules/sysexits (Makefile.am): Likewise.
7799         * modules/termios (Makefile.am): Likewise.
7800         * modules/time (Makefile.am): Likewise.
7801         * modules/unistd (Makefile.am): Likewise.
7802         * modules/wchar (Makefile.am): Likewise.
7803         * modules/wctype-h (Makefile.am): Likewise.
7804         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
7805
7806 2011-05-29  Bruno Haible  <bruno@clisp.org>
7807
7808         assert-h: Allow multiple gnulib generated replacements to coexist.
7809         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
7810
7811 2011-05-29  Bruno Haible  <bruno@clisp.org>
7812
7813         argp: Allow coexistence with strerror_r-posix module.
7814         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
7815         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
7816         by gnulib's <string.h> replacement), assume it has the POSIX signature,
7817         not the glibc signature.
7818
7819 2011-05-28  Bruno Haible  <bruno@clisp.org>
7820
7821         gnulib-tool: Alternative structure of testdirs, similar to --import.
7822         * gnulib-tool: New option --single-configure.
7823         (func_usage): Document it.
7824         (single_configure): New variable.
7825         (func_modules_transitive_closure_separately,
7826         func_modules_transitive_closure_separately,
7827         func_determine_use_libtests, func_modules_add_dummy_separately,
7828         func_modules_to_filelist_separately): New functions, extracted from
7829         func_import.
7830         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
7831         (func_import): Use the new functions.
7832         (func_create_testdir): Set final_modules. Handle $single_configure =
7833         true case.
7834
7835 2011-05-28  Bruno Haible  <bruno@clisp.org>
7836
7837         getloadavg: Remove an unreliable safety check.
7838         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
7839         getloadavg.c is in place.
7840         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
7841         Reported by Sam Steingold <sds@gnu.org>.
7842
7843 2011-05-28  Bruno Haible  <bruno@clisp.org>
7844
7845         doc: Cleanup yet another file produced by texinfo.tex.
7846         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
7847
7848 2011-05-28  Bruno Haible  <bruno@clisp.org>
7849
7850         Finish the conditional dependencies mechanism.
7851         * gnulib-tool: New option --no-conditional-dependencies.
7852         (func_usage): Document it. Don't mark --conditional-dependencies as
7853         experimental.
7854         (cond_dependencies): The possible values can now be true, false, empty.
7855         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
7856         (func_import): Store setting in gnulib-cache.m4 and read it from there.
7857         * doc/gnulib-tool.texi (Conditional dependencies): New section.
7858
7859 2011-05-28  Bruno Haible  <bruno@clisp.org>
7860
7861         doc: Use a recent texinfo.tex.
7862         * doc/Makefile (tex_opts): New variable.
7863         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
7864
7865 2011-05-28  Jim Meyering  <meyering@redhat.com>
7866
7867         intprops.h: adjust comment to match code change
7868         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
7869         only once, it *may* have side effects.  Also fix an unrelated typo.
7870         (_GL_INT_SIGNED): Likewise.
7871
7872 2011-05-26  Simon Josefsson  <simon@josefsson.org>
7873
7874         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
7875
7876 2011-05-26  Bruno Haible  <bruno@clisp.org>
7877
7878         mbsrchr: Avoid collision with system function on Interix.
7879         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
7880         Reported by Markus Duft <mduft@gentoo.org>.
7881
7882 2011-05-15  James Youngman  <jay@gnu.org>
7883
7884         getopt: for ambiguous options, enumerate the possibilities.
7885         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
7886         the ambiguous options when an ambiguous prefix is given. This was
7887         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
7888         glibc change was
7889         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
7890
7891 2011-05-25  Eric Blake  <eblake@redhat.com>
7892
7893         getcwd: work around mingw bug
7894         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
7895         * doc/posix-functions/getcwd.texi (getcwd): Document it.
7896         Reported by Matthias Bolte.
7897
7898 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
7899
7900         test-intprops: disable -Wtype-limits diagnostics
7901         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
7902         diagnostics.  Otherwise, the integer overflow macros generate many
7903         diagnostics.  Reported by Jim Meyering in
7904         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
7905
7906         intprops: shorten, to pacify gcc -Woverlength-strings
7907         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
7908         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
7909         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
7910         likely to run afoul of C compiler limits for string constant lengths.
7911         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
7912
7913 2011-05-24  Eric Blake  <eblake@redhat.com>
7914
7915         docs: document recently fixed glibc printf bug
7916         * doc/posix-functions/fprintf.texi (fprintf): Document it.
7917         * doc/posix-functions/printf.texi (printf): Likewise.
7918         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
7919         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
7920
7921         closein-tests: convert to init.sh
7922         * modules/closein-tests (Files): Add init.sh
7923         * tests/test-closein.sh Use it.
7924
7925         yesno-tests: convert to init.sh
7926         * modules/yesno-tests (Files): Add init.sh.
7927         * tests/test-yesno.sh: Use it.
7928
7929         atexit-tests: ensure reliable exit status
7930         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
7931         Reported by Bruno Haible.
7932
7933 2011-05-24  Bruno Haible  <bruno@clisp.org>
7934
7935         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
7936         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
7937         gl_PREREQ_STRERROR_R invocations from here...
7938         * modules/strerror_r-posix (configure.ac): ... to here.
7939
7940 2011-05-24  Eric Blake  <eblake@redhat.com>
7941
7942         strerror_r: fix missing header
7943         * lib/strerror_r.c: Avoid compiler warning about snprintf.
7944
7945         strerror_r: fix AIX test failures
7946         * lib/strerror_r.c (strerror_r): Convert silent truncation to
7947         ERANGE failure.
7948
7949         strerror_r: fix Solaris test failures
7950         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
7951         failures.
7952         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
7953
7954         strerror_r: enforce POSIX recommendations
7955         * lib/strerror_r.c (safe_copy): New helper method.
7956         (strerror_r): Guarantee a non-empty string.
7957         * tests/test-strerror_r.c (main): Enhance tests to incorporate
7958         recent POSIX rulings and to match our strerror guarantees.
7959         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
7960
7961 2011-05-24  Jim Meyering  <meyering@redhat.com>
7962
7963         test-perror2.c: avoid warning about unused variable
7964         * tests/test-perror2.c (main): Remove declaration of unused "fp".
7965
7966 2011-05-24  Eric Blake  <eblake@redhat.com>
7967
7968         perror: avoid spurious test failure on HP-UX
7969         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
7970
7971         tests: fix logic bug in init.sh
7972         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
7973         shell.
7974
7975 2011-05-24  Jim Meyering  <meyering@redhat.com>
7976
7977         utimensat: do not reference an out-of-scope buffer
7978         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
7979         declared in an inner scope, yet "times" would be dereferenced outside
7980         the scope in which "ts" was valid.
7981         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
7982         of ts[2] "out/up", so that the use of aliased "times" (via
7983         "times = ts;") does not end up referencing an out-of-scope "ts"
7984
7985         opendir-safer.c: don't clobber errno; don't close negative FD
7986         * lib/opendir-safer.c (opendir_safer):
7987         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
7988         file descriptor, and more importantly, don't clobber the
7989         offending errno value with EINVAL.  Before, upon failure
7990         of dup_safer, we would pass the negative file descriptor to
7991         fdopendir, which would clobber errno.
7992
7993 2011-05-23  Bruno Haible  <bruno@clisp.org>
7994
7995         idcache: Fix module description.
7996         * modules/idcache (Include): Set to "idcache.h".
7997
7998 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
7999
8000         gnulib-tool: fix portability problem with MacOS sed
8001         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
8002         before the "}".  Problem reported by Leo in
8003         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
8004         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
8005         sed_extract_condition1, sed_extract_condition2.
8006
8007 2011-05-23  Bruno Haible  <bruno@clisp.org>
8008
8009         hash: Simplify autoconf macro.
8010         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
8011
8012 2011-05-23  Bruno Haible  <bruno@clisp.org>
8013
8014         getugroups: Fix module description.
8015         * modules/getugroups (Include): Set to "getugroups.h".
8016
8017 2011-05-23  Bruno Haible  <bruno@clisp.org>
8018
8019         linkat: Simplify autoconf macro.
8020         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
8021
8022 2011-05-23  Bruno Haible  <bruno@clisp.org>
8023             Eric Blake  <eblake@redhat.com>
8024
8025         linkat, renameat: Update dependencies.
8026         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
8027         * modules/linkat (Depends-on): Likewise. Remove also readlink,
8028         symlinkat.
8029
8030 2011-05-23  Jim Meyering  <meyering@redhat.com>
8031
8032         maint.mk: more tight_scope improvements
8033         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
8034         (_gl_TS_headers): Define only in if-0'd block.
8035         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
8036         sometimes we must *not* use it.  Adjust uses accordingly.
8037         (sc_tight_scope): Use much simpler grep-based test to determine
8038         whether we skip this rule.
8039
8040         maint.mk: generalize/improve the tight-scope rule
8041         * top/maint.mk: Emit a warning when the test is skipped.
8042         (_gl_TS_dir): Add $(srcdir)/ prefix.
8043         (_gl_TS_function_match): Simplify, rather than trying
8044         to enumerate common types.  Otherwise, it would fail to match an
8045         "extern unsigned char const *" declaration in idutils.
8046         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
8047         a way to support use of that type of macro.
8048         (_gl_TS_var_match): Simplify regexp.
8049         (_gl_TS_obj_files): New configurable variable.
8050         (_gl_TS_headers): Likewise.
8051
8052 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
8053
8054         verify: fix bug when gnulib <assert.h> is also included
8055         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
8056         is defined, not if _GL_STATIC_ASSERT_H is not defined.
8057         Perhaps there's a better way, but this fixes the immediate problem.
8058         Problem reported by Bruno Haible in
8059         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
8060
8061 2011-05-22  Bruno Haible  <bruno@clisp.org>
8062
8063         xgetcwd: Simplify autoconf macro.
8064         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
8065
8066 2011-05-22  Bruno Haible  <bruno@clisp.org>
8067
8068         New module 'mktime-internal'.
8069         * modules/mktime-internal: New file.
8070         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
8071         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
8072         mktime_internal as a C macro if libc has __mktime_internal.
8073         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
8074         conditions.
8075         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
8076
8077 2011-05-22  Bruno Haible  <bruno@clisp.org>
8078
8079         timegm: Correct mktime replacement statements.
8080         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
8081         defining mktime as a C macro. This completes a 2009-07-28 commit.
8082
8083 2011-05-22  Bruno Haible  <bruno@clisp.org>
8084
8085         timegm: Simplify autoconf macro.
8086         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
8087
8088 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
8089
8090         clock-time: change to LGPLv2+.
8091         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
8092         BSD-like but we have no mark for that; this is good enough for now.
8093
8094 2011-05-21  Bruno Haible  <bruno@clisp.org>
8095
8096         strerror_r: Fix comments.
8097         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
8098
8099 2011-05-21  Bruno Haible  <bruno@clisp.org>
8100
8101         relocatable-prog-wrapper: Fix possible link error.
8102         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
8103         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
8104         (gl_FUNC_SETENV): ... to here.
8105         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
8106         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
8107
8108 2011-05-21  Bruno Haible  <bruno@clisp.org>
8109
8110         relocatable-prog-wrapper: Assume strerror() exists.
8111         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
8112         m4/strerror.m4.
8113         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
8114         * lib/relocwrapper.c: Remove mention of strerror module.
8115         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
8116         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
8117         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
8118         C macro.
8119
8120 2011-05-21  Bruno Haible  <bruno@clisp.org>
8121
8122         select: Simplify replacement idiom.
8123         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
8124         Win32 platforms.
8125         * lib/sys_select.in.h (select): Simplify accordingly.
8126         * modules/select (Depends-on): Likewise.
8127
8128 2011-05-21  Bruno Haible  <bruno@clisp.org>
8129
8130         mkdir-p: Simplify autoconf macro.
8131         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
8132         gl_FUNC_LCHOWN.
8133
8134 2011-05-21  Eric Blake  <eblake@redhat.com>
8135
8136         strerror_r: avoid clobbering strerror on cygwin
8137         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
8138         fall back instead to sys_errlist.
8139         * modules/strerror (configure.ac): Add witness.
8140         * tests/test-strerror_r.c (main): Enhance test.
8141         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
8142         * tests/test-perror2.c (main): Free memory before exit.
8143
8144 2011-05-21  Bruno Haible  <bruno@clisp.org>
8145
8146         mkdtemp: Use gnulib naming conventions.
8147         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
8148         * modules/mkdtemp (configure.ac): Update.
8149
8150 2011-05-20  Eric Blake  <eblake@redhat.com>
8151
8152         strerror_r: avoid corrupting errno on Solaris
8153         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
8154         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
8155
8156         strerror_r: avoid compiler warning
8157         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
8158
8159         strerror_r: simplify AIX code
8160         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
8161
8162         test-perror: avoid spurious failure on FreeBSD
8163         * modules/perror-tests (Depends-on): Add strerror, now that
8164         strerror_r no longer pulls it in.
8165
8166 2011-05-20  Bruno Haible  <bruno@clisp.org>
8167
8168         strerror_r-posix: Remove unused dependencies.
8169         * modules/strerror_r-posix (Depends-on): Remove strerror.
8170         Reported by Eric Blake.
8171
8172 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
8173
8174         intprops: remove assumption about A|B representation
8175         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
8176         is a valid integer if both A and B are.  Although this is true for
8177         all known practical hosts, the C standard doesn't guarantee it,
8178         and the code need not assume it.  Also, this change may work around
8179         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
8180         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
8181
8182 2011-05-20  Eric Blake  <eblake@redhat.com>
8183
8184         perror: work around FreeBSD bug
8185         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
8186         is broken.  Move AC_LIBOBJ...
8187         * modules/perror (configure.ac): Here.
8188         * doc/posix-functions/perror.texi (perror): Document this.
8189         * tests/test-perror2.c (main): Enhance test.
8190
8191         test-perror: check for strerror interactions
8192         * tests/macros.h (STREQ): Add macro.
8193         * modules/perror-tests (Files): Add second test.
8194         * tests/test-perror2.c (main): New file.
8195         * doc/posix-functions/perror.texi (perror): Document glibc bug.
8196
8197         test-perror: rewrite to use init script
8198         * modules/perror-tests (Files): Add init.sh.
8199         * tests/test-perror.sh: Use temporary directory.
8200
8201 2011-05-20  Jim Meyering  <meyering@redhat.com>
8202
8203         maint: replace misused "a" with "an"
8204         * doc/intprops.texi: "a integer"
8205         * doc/regex.texi: "a explanation"
8206         * lib/alignof.h: "a object"
8207         * lib/argmatch.h: "a explanation"
8208         * lib/argp-help.c: "a option" and "a OPTION_DOC"
8209         * lib/stdint.in.h: "a integer"
8210         * lib/userspec.c: "a owner"
8211         * doc/gnulib.texi: Fix "a idea", and reword.
8212
8213 2011-05-19  Jim Meyering  <meyering@redhat.com>
8214
8215         maint: correct misuse of "a" and "an"
8216         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
8217         * lib/argp-help.c: "an docum...": s/an/a/
8218         * lib/argp-parse.c: "An vector": s/An/A/
8219         * lib/execute.c: "an native": s/an/a/
8220         * lib/spawn-pipe.c: Likewise.
8221         * lib/gc.h: "an Gc_rc": s/an/a/
8222         * lib/unigbrk.in.h: "an grapheme": s/an/a/
8223         * lib/fts.c: "an stat.st_dev": s/an/a/
8224
8225 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
8226
8227         intprops-tests: work around HP-UX 11.23 cc bug with constants
8228         * tests/test-intprops.c (VERIFY): New macro.
8229         (main): Use it, instead of verify, to work around the compiler bug; see
8230         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
8231
8232         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
8233         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
8234         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
8235         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
8236         (_GL_REMAINDER_OVERFLOW): Use it.
8237
8238         intprops-tests: revert unsigned part of previous change
8239         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
8240         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
8241         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
8242         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
8243
8244 2011-05-19  Bruno Haible  <bruno@clisp.org>
8245
8246         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
8247         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
8248         strerror_r() returned without filling the buffer.
8249         Reported by Eric Blake.
8250
8251 2011-05-19  Eric Blake  <eblake@redhat.com>
8252
8253         strerror_r: guarantee unchanged errno
8254         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
8255         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
8256         failure.
8257         * tests/test-strerror_r.c (main): Enhance test.
8258
8259 2011-05-19  Bruno Haible  <bruno@clisp.org>
8260
8261         strerror_r: Reorder #if blocks.
8262         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
8263         for consistency with the previous commit.
8264
8265 2011-05-19  Bruno Haible  <bruno@clisp.org>
8266
8267         perror: Avoid clobbering the strerror buffer when possible.
8268         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
8269         * lib/strerror.c: Include it.
8270         * modules/strerror (Files): Add lib/strerror-impl.h.
8271         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
8272         (my_strerror): New function, defined through lib/strerror-impl.h.
8273         (perror): Use it instead of strerror.
8274         * modules/perror (Files): Add lib/strerror-impl.h.
8275         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
8276
8277 2011-05-19  Eric Blake  <eblake@redhat.com>
8278
8279         strerror_r: fix on newer cygwin
8280         * lib/strerror_r.c (strerror_r): Cygwin now has
8281         __xpg_strerror_r, use it.
8282
8283 2011-05-19  Bruno Haible  <bruno@clisp.org>
8284
8285         strerror_r: Avoid clobbering the strerror buffer when possible.
8286         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
8287         (sys_nerr, sys_errlist): New declarations.
8288         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
8289         HP-UX, native Win32, IRIX, and 32-bit Solaris.
8290         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
8291
8292 2011-05-19  Bruno Haible  <bruno@clisp.org>
8293
8294         strerror_r: Fix test failure on mingw.
8295         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
8296         EXTEND_STRERROR_R.
8297         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
8298         macros from errno.in.h instead.
8299
8300 2011-05-19  Eric Blake  <eblake@redhat.com>
8301
8302         strerror: relax test for Solaris
8303         * tests/test-strerror.c (main): Permit Solaris behavior.
8304         * tests/test-strerror_r.c (main): Likewise.
8305
8306         strerror: enforce POSIX ruling on strerror(0)
8307         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
8308         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
8309         * lib/strerror_r.c (rpl_strerror_r): Work around it.
8310         * doc/posix-functions/strerror.texi (strerror): Document it.
8311         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
8312         * tests/test-strerror.c (main): Strengthen test.
8313         * tests/test-strerror_r.c (main): Likewise.
8314
8315 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
8316
8317         intprop-tests: port to older and more-pedantic compilers
8318         * modules/intprops-tests (Files): Add tests/macros.h.
8319         * tests/test-intprops.c: Include macros.h.
8320         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
8321         it's no longer documented to expand to an integer constant expression.
8322         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
8323         argument is floating point, as it's no longer documented to expand
8324         to an integer constant expression in that case.
8325         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
8326         compiler bugs reported by Bruno Haible.  See
8327         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
8328         (U0, U1): New constants, to work around the same bugs.  Also,
8329         in tests, use e.g., "(unsigned int) 39" rather than "39u".
8330
8331         intprops: work around C compiler bugs
8332         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
8333         bug in Sun C 5.11 2010/08/13 and other compilers; see
8334         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
8335
8336         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
8337         * doc/intprops.texi (Integer Type Determination): Fix
8338         documentation for TYPE_IS_INTEGER: it returns an constant
8339         expression, not an integer constant expression.  Fix doc for
8340         TYPE_SIGNED: it returns an integer constant expression only if its
8341         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
8342         hardly worth documented that way....)
8343
8344 2011-05-18  Bruno Haible  <bruno@clisp.org>
8345
8346         strerror_r: Avoid clobbering the strerror buffer when possible.
8347         * lib/strerror_r.c (strerror_r): Merge the three implementations.
8348         Handle gnulib defined errno values here. When strerror() returns NULL
8349         or an empty string, return EINVAL.
8350         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
8351         gnulib defined errno values here.
8352         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
8353
8354 2011-05-18  Eric Blake  <eblake@redhat.com>
8355
8356         fnmatch: avoid compiler warning
8357         * lib/fnmatch_loop.c (FCT): Use correct type.
8358         Reported by Matthias Bolte.
8359
8360 2011-05-13  Jim Meyering  <meyering@redhat.com>
8361
8362         maint.mk: three new prohibit_<HDR>_without_use rules
8363         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
8364         (sc_prohibit_stdio-safer_without_use): Likewise.
8365         (sc_prohibit_xfreopen_without_use): Likewise.
8366
8367 2011-05-17  Jim Meyering  <meyering@redhat.com>
8368
8369         announce-gen: fail if the NEWS delta is empty
8370         If there's nothing noteworthy in NEWS, then either you forgot
8371         or you shouldn't be releasing.
8372         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
8373
8374 2011-05-17  Pádraig Brady <P@draigBrady.com>
8375
8376         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
8377         reserved symbols starting with double underscore from the check.
8378
8379 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
8380
8381         intprops: add doc
8382         * doc/intprops.texi: New file, documenting intprops.
8383         * doc/gnulib.texi (Particular Modules): Include it.
8384
8385         verify: add doc to gnulib manual and fix example
8386         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
8387         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
8388         (Compile-time Assertions): Fix example so it can't overflow.
8389
8390 2011-05-17  Jim Meyering  <meyering@redhat.com>
8391
8392         warnings.m4: don't usurp save_CPPFLAGS variable name
8393         * m4/warnings.m4: Prefix local temporary variable name with gl_.
8394
8395         doc: fix typo
8396         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
8397
8398 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
8399             Bruno Haible  <bruno@clisp.org>
8400
8401         doc: Tweak recent change.
8402         * README (Portability guidelines): Tweak new text.
8403         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
8404         Interix 6.1.
8405
8406 2011-05-16  Eric Blake  <eblake@redhat.com>
8407
8408         inttypes: avoid autoconf warning
8409         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
8410         * m4/stdint.m4 (gl_STDINT_H): Likewise.
8411
8412 2011-05-16  Sam Steingold <sds@gnu.org>
8413         and Eric Blake  <eblake@redhat.com>
8414
8415         vc-list-files: accept multiple directory operands
8416         * build-aux/vc-list-files: Iterate over all remaining operands.
8417
8418 2011-05-16  Bruno Haible  <bruno@clisp.org>
8419
8420         Fix confusion regarding deprecated modules.
8421         * modules/calloc (Status, Notice): Mark module as deprecated, not
8422         obsolete.
8423         * modules/fnmatch-posix (Status, Notice): Likewise.
8424         * modules/getdate (Status, Notice): Likewise.
8425         * modules/getopt (Status, Notice): Likewise.
8426         * modules/malloc (Status, Notice): Likewise.
8427         * modules/pipe (Status, Notice): Likewise.
8428         * modules/realloc (Status, Notice): Likewise.
8429         * modules/rename-dest-slash (Status, Notice): Likewise.
8430         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
8431         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
8432         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
8433         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
8434         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
8435
8436 2011-05-16  Bruno Haible  <bruno@clisp.org>
8437
8438         doc: List the target platforms.
8439         * doc/gnulib-intro.texi (Target Platforms): New section.
8440         * doc/gnulib.texi (Introduction): Update menu.
8441         * README (Portability guidelines): Refer to the new section. Update
8442         statement about oldest supported environment. Remove rationale why
8443         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
8444         unportable C89 function.
8445         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
8446         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
8447
8448 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
8449
8450         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
8451
8452 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
8453
8454         intprops-tests: new module
8455         * modules/intprops-tests, tests/test-intprops.c: New files.
8456
8457         intprops: add safe, portable integer overflow checking
8458         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
8459         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
8460         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
8461         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
8462         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
8463         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
8464         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
8465         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
8466         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
8467         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
8468         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
8469
8470 2011-05-12  James Youngman  <jay@gnu.org>
8471
8472         Add a test for glibc's Bugzilla bug #12378.
8473         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
8474         doesn't allow the literal matching of a lone "[" (which is
8475         required by POSIX).
8476         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
8477
8478 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
8479
8480         Sync glibc change fixing Bugzilla bug #12378.
8481         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
8482         beginning and fall back to matching as normal character if the
8483         string ends before the matching ']' is found.  This is what POSIX
8484         requires.
8485
8486 2011-05-13  Eric Blake  <eblake@redhat.com>
8487
8488         getcwd-lgpl: relax test for FreeBSD
8489         * doc/posix-functions/getcwd.texi (getcwd): Document portability
8490         issue.
8491         * tests/test-getcwd-lgpl.c (main): Relax test.
8492         Reported by Matthias Bolte.
8493
8494 2011-05-11  Eric Blake  <eblake@redhat.com>
8495
8496         test-fflush: silence compiler warning
8497         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
8498
8499 2011-05-11  Bruno Haible  <bruno@clisp.org>
8500
8501         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
8502         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
8503         * modules/canonicalize (Depends-on): Add 'nocrash'.
8504         * modules/canonicalize-lgpl (Depends-on): Likewise.
8505         * doc/posix-functions/realpath.texi: Update platforms list.
8506         Reported by Ryan Schmidt <ryandesign@macports.org>.
8507
8508 2011-05-11  Bruno Haible  <bruno@clisp.org>
8509
8510         group-member: Declare function in <unistd.h>.
8511         * lib/unistd.in.h (group_member): New declaration.
8512         * lib/group-member.h: Remove file.
8513         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
8514         * tests/test-unistd-c++.cc: Check signature of group_member.
8515         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
8516         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
8517         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
8518         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
8519         HAVE_GROUP_MEMBER.
8520         * modules/group-member (Files): Remove lib/group-member.h.
8521         (Depends-on): Add unistd. Specify conditions.
8522         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
8523         (Include): Change to <unistd.h>.
8524         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
8525         HAVE_GROUP_MEMBER.
8526         * NEWS: Mention the change.
8527         * lib/euidaccess.c: Don't include group-member.h.
8528
8529 2011-05-11  Bruno Haible  <bruno@clisp.org>
8530
8531         group-member: Document module.
8532         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
8533         module.
8534
8535 2011-05-11  Bruno Haible  <bruno@clisp.org>
8536
8537         fclose: Fix mistake earlier today.
8538         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
8539
8540 2011-05-11  Eric Blake  <eblake@redhat.com>
8541
8542         fclose: preserve fflush errors
8543         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
8544         Reported by Jim Meyering.
8545
8546         bootstrap: support a prereq of 'rpcgen -' on RHEL5
8547         * build-aux/bootstrap (check_versions): When no specific version
8548         is required, merely check that the app produces an exit status
8549         that indicates its existence.
8550
8551         maint.mk: drop redundant check
8552         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
8553         the same but better.
8554
8555 2011-05-11  Bruno Haible  <bruno@clisp.org>
8556
8557         fclose: Fix possible link error.
8558         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
8559         unregister_shadow_fd. Improve comments.
8560         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
8561         Eric Blake.
8562
8563 2011-05-11  Jim Meyering  <meyering@redhat.com>
8564
8565         maint.mk: improve "can not" detection and generalize rule name
8566         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
8567         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
8568         Use the same technique as in sc_prohibit_doubled_word, so that
8569         we recognize "can not" also when the words are separated by a newline.
8570         Suggested by Eric Blake.
8571         (perl_filename_lineno_text_): Define.  Factored out of...
8572         (prohibit_doubled_word_): ...here.  Use the new definition.
8573         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
8574         (prohibit_undesirable_word_seq_RE_): New overridable variable.
8575         (ignore_undesirable_word_sequence_RE_): New overridable variable.
8576
8577 2011-05-10  Eric Blake  <eblake@redhat.com>
8578
8579         fclose: avoid double close race when possible
8580         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
8581         all but WINDOWS_SOCKETS.
8582
8583 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
8584
8585         openat: correct new comment
8586         * lib/openat-proc.c (openat_proc_name): Correct the comment.
8587
8588 2011-05-10  Jim Meyering  <meyering@redhat.com>
8589
8590         openat: add comments
8591         * lib/openat-proc.c (openat_proc_name): Add comments,
8592         mostly from Eric Blake.
8593
8594 2011-05-09  Eric Blake  <eblake@redhat.com>
8595
8596         openat: reduce syscalls in first probe of /proc
8597         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
8598         be a directory.  Simplify the probe for .. bugs.
8599         * modules/openat (Depends-on): Drop same-inode.
8600         Reported by Bastien ROUCARIES.
8601
8602 2011-05-09  Jim Meyering  <meyering@redhat.com>
8603
8604         maint.mk: change semantics/name of tight_scope variables
8605         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
8606         Rename variables to align with semantics that make them more useful.
8607
8608         maint.mk: tweak new rule's name not to impinge
8609         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
8610         (sc_tight_scope): Use new rule name rather than $@-0.
8611
8612         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
8613         * top/maint.mk (sc_tight_scope): New rule.
8614         (sc_tight_scope-0): New rule, ifdef'd out.
8615         (_gl_TS_dir): Default.
8616         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
8617         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
8618
8619 2011-05-09  Simon Josefsson  <simon@josefsson.org>
8620
8621         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
8622         Haible <bruno@clisp.org>.
8623
8624 2011-05-08  Bruno Haible  <bruno@clisp.org>
8625
8626         Comments.
8627         * m4/isnanf.m4: Add comment.
8628         * m4/isnanl.m4: Likewise.
8629
8630 2011-05-08  Bruno Haible  <bruno@clisp.org>
8631
8632         glob: Remove obsolete macro.
8633         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
8634
8635 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
8636
8637         intprops: Sun C 5.11 supports __typeof__
8638         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
8639         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
8640         which is new.
8641         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
8642
8643         intprops: switch to usual gnulib indenting and naming
8644         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
8645         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
8646
8647         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
8648
8649 2011-05-08  Jim Meyering  <meyering@redhat.com>
8650
8651         maint.mk: suppress "Entering/Leaving directory" diag in announcement
8652         * top/maint.mk (release-prep): Use make's --no-print-directory
8653         option when generating the announcement.  This eliminates the
8654         pesky "make[2]: Entering/Leaving directory" diagnostics in the
8655         generated announcement template.
8656
8657 2011-05-08  Bruno Haible  <bruno@clisp.org>
8658
8659         tzset: Fix gettimeofday wrapper on Solaris 2.6.
8660         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
8661         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
8662
8663 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
8664
8665         ignore-value, verify: Omit include files from lib_SOURCES.
8666         * modules/ignore-value, modules/verify (Makefile.am):
8667         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
8668         that leads Automake to duplicate use of am__objects_... variables
8669         in Makefile.in.  See
8670         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
8671
8672 2011-05-07  Bruno Haible  <bruno@clisp.org>
8673
8674         fclose: Simplify autoconf macro.
8675         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
8676         defined.
8677
8678 2011-05-07  Bruno Haible  <bruno@clisp.org>
8679
8680         canonicalize-lgpl: Fix autoconf macro ordering bug.
8681         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
8682         gl_STDLIB_H_DEFAULTS.
8683
8684 2011-05-06  Eric Blake  <eblake@redhat.com>
8685
8686         maintainer-makefile: make sc_po_check easier to tune
8687         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
8688         to probe for strings, such as an alternate location for gnulib.
8689
8690         fclose: guarantee behavior on seekable stdin
8691         * modules/fclose (Depends-on): Add fflush.
8692         * doc/posix-functions/fclose.texi (fclose): Document this.
8693         * tests/test-fclose.c (main): Make test for this unconditional.
8694
8695 2011-05-06  Bruno Haible  <bruno@clisp.org>
8696
8697         fflush, fpurge: Relicense under LGPLv2+.
8698         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
8699         * modules/fpurge (License): Likewise.
8700         With permission from Eric Blake and Jim Meyering.
8701         Suggested by Eric Blake.
8702
8703 2011-05-06  Karl Berry  <karl@gnu.org>
8704
8705         * MODULES.html.sh (func_all_modules): remove exit.
8706
8707 2011-05-06  Jim Meyering  <meyering@redhat.com>
8708
8709         maint.mk: use info-gnu@ as the default only for a stable release
8710         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
8711         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
8712         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
8713         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
8714
8715 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
8716
8717         assert-h: new module, which supports C1X-style static_assert
8718         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
8719         * lib/verify.h: Revamp so that this can be copied into assert.h,
8720         while retaining the ability to use it standalone as before.
8721         Rename private identifiers so as not to encroach on the
8722         standard C namespace, since this is now used by assert.h.
8723         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
8724         the old verify_true.
8725         (_GL_VERIFY_TRUE): New macro, with much of the contents of
8726         the old verify_true.  Use _GL_VERIFY_TYPE.
8727         (_GL_VERIFY): New macro, with much of the contents of the old verify.
8728         (static_assert): New macro, if _GL_STATIC_ASSERT_H
8729         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
8730         defined when this file is copied into the replacement assert.h.
8731         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
8732         and _Static_assert is not built in.
8733         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
8734         defined, and use the new macros mentioned above.
8735         * doc/posix-headers/assert.texi: Document this.
8736
8737 2011-05-05  Bruno Haible  <bruno@clisp.org>
8738
8739         fclose, fflush: Respect rules for use of AC_LIBOBJ.
8740         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
8741         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
8742         gl_REPLACE_FCLOSE here.
8743         * modules/fflush (Depends-on): Remove fclose.
8744         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
8745         combination with module 'fclose'.
8746
8747 2011-05-05  Bruno Haible  <bruno@clisp.org>
8748
8749         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
8750         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
8751         gl_FUNC_FFLUSH.
8752         (gl_FUNC_FFLUSH): Use it.
8753         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
8754         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
8755         gl_REPLACE_FSEEKO here.
8756
8757 2011-05-05  Bruno Haible  <bruno@clisp.org>
8758
8759         tzset: Relicense under LGPL.
8760         * modules/tzset (License): Change to LGPL.
8761         No agreement needed; it's a no-op.
8762
8763         strtoimax, strtoumax: Relicense under LGPL.
8764         * modules/strtoimax (License): Change to LGPL.
8765         * modules/strtoumax (License): Likewise.
8766         With permission from Jim Meyering, Paul Eggert:
8767         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
8768         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
8769
8770         getgroups: Relicense under LGPL.
8771         * modules/getgroups (License): Change to LGPL.
8772         With permission from Jim Meyering, Paul Eggert, Eric Blake:
8773         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
8774         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
8775         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
8776
8777         nanosleep: Relicense under LGPL.
8778         * modules/nanosleep (License): Change to LGPL.
8779         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
8780         Haible:
8781         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
8782         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
8783         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
8784         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
8785
8786         futimens: Relicense under LGPL.
8787         * modules/futimens (License): Change to LGPL.
8788         With permission from Eric Blake:
8789         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
8790
8791         fflush: Relicense under LGPL.
8792         * modules/fflush (License): Change to LGPL.
8793         With permission from Eric Blake, Bruno Haible, Jim Meyering:
8794         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
8795         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
8796         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
8797
8798         tmpfile: Relicense under LGPL.
8799         * modules/tmpfile (License): Change to LGPL.
8800         With permission from Ben Pfaff:
8801         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
8802
8803         isfinite: Relicense under LGPL.
8804         * modules/isfinite (License): Change to LGPL.
8805         With permission from Ben Pfaff, Bruno Haible:
8806         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
8807         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
8808
8809         acosl..tanl: Relicense under LGPL.
8810         * modules/acosl (License): Change to LGPL.
8811         * modules/asinl (License): Likewise.
8812         * modules/atanl (License): Likewise.
8813         * modules/cosl (License): Likewise.
8814         * modules/expl (License): Likewise.
8815         * modules/logl (License): Likewise.
8816         * modules/sinl (License): Likewise.
8817         * modules/sqrtl (License): Likewise.
8818         * modules/tanl (License): Likewise.
8819         Source code originally from glibc and Paolo Bonzini. Agreements:
8820         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
8821         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
8822
8823 2011-05-05  Bruno Haible  <bruno@clisp.org>
8824
8825         signal: Define sighandler_t.
8826         * lib/signal.in.h (sighandler_t): New type.
8827         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
8828         whether sighandler_t is defined.
8829         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
8830         * modules/signal (Depends-on): Add extensions.
8831         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
8832         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
8833         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
8834
8835 2011-05-05  Eric Blake  <eblake@redhat.com>
8836
8837         maint: remove useless REPLACE_*_H macros
8838         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
8839         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
8840         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
8841         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
8842         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
8843         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
8844         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
8845         * m4/btowc.m4: Update callers.
8846         * m4/dirfd.m4: Likewise.
8847         * m4/duplocale.m4: Likewise.
8848         * m4/fchdir.m4: Likewise.
8849         * m4/fdopendir.m4: Likewise.
8850         * m4/inet_ntop.m4: Likewise.
8851         * m4/inet_pton.m4: Likewise.
8852         * m4/ioctl.m4: Likewise.
8853         * m4/mbrlen.m4: Likewise.
8854         * m4/mbrtowc.m4: Likewise.
8855         * m4/mbsinit.m4: Likewise.
8856         * m4/mbsnrtowcs.m4: Likewise.
8857         * m4/mbsrtowcs.m4: Likewise.
8858         * m4/poll.m4: Likewise.
8859         * m4/setlocale.m4: Likewise.
8860         * m4/wcrtomb.m4: Likewise.
8861         * m4/wcsnrtombs.m4: Likewise.
8862         * m4/wcsrtombs.m4: Likewise.
8863         * m4/wctob.m4: Likewise.
8864         * m4/wcwidth.m4: Likewise.
8865         * modules/posix_spawn: Likewise.
8866         * modules/posix_spawn_file_actions_addclose: Likewise.
8867         * modules/posix_spawn_file_actions_adddup2: Likewise.
8868         * modules/posix_spawn_file_actions_addopen: Likewise.
8869         * modules/posix_spawn_file_actions_destroy: Likewise.
8870         * modules/posix_spawn_file_actions_init: Likewise.
8871         * modules/posix_spawnattr_destroy: Likewise.
8872         * modules/posix_spawnattr_getflags: Likewise.
8873         * modules/posix_spawnattr_getpgroup: Likewise.
8874         * modules/posix_spawnattr_getschedparam: Likewise.
8875         * modules/posix_spawnattr_getschedpolicy: Likewise.
8876         * modules/posix_spawnattr_getsigdefault: Likewise.
8877         * modules/posix_spawnattr_getsigmask: Likewise.
8878         * modules/posix_spawnattr_init: Likewise.
8879         * modules/posix_spawnattr_setflags: Likewise.
8880         * modules/posix_spawnattr_setpgroup: Likewise.
8881         * modules/posix_spawnattr_setschedparam: Likewise.
8882         * modules/posix_spawnattr_setschedpolicy: Likewise.
8883         * modules/posix_spawnattr_setsigdefault: Likewise.
8884         * modules/posix_spawnattr_setsigmask: Likewise.
8885         * modules/posix_spawnp: Likewise.
8886
8887 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
8888
8889         Add option to do-release-commit-and-tag to specify branch.
8890         * build-aux/do-release-commit-and-tag: Add --branch.
8891
8892 2011-05-03  Bruno Haible  <bruno@clisp.org>
8893
8894         Avoid unnecessary compilation units, through conditional dependencies.
8895         * modules/accept (Depends-on): Add conditions to the dependencies.
8896         * modules/acosl (Depends-on): Likewise.
8897         * modules/argz (Depends-on): Likewise.
8898         * modules/asinl (Depends-on): Likewise.
8899         * modules/atanl (Depends-on): Likewise.
8900         * modules/atoll (Depends-on): Likewise.
8901         * modules/bind (Depends-on): Likewise.
8902         * modules/btowc (Depends-on): Likewise.
8903         * modules/canonicalize-lgpl (Depends-on): Likewise.
8904         * modules/ceil (Depends-on): Likewise.
8905         * modules/ceilf (Depends-on): Likewise.
8906         * modules/ceill (Depends-on): Likewise.
8907         * modules/chdir-long (Depends-on): Likewise.
8908         * modules/chown (Depends-on): Likewise.
8909         * modules/close (Depends-on): Likewise.
8910         * modules/connect (Depends-on): Likewise.
8911         * modules/cosl (Depends-on): Likewise.
8912         * modules/dirfd (Depends-on): Likewise.
8913         * modules/dprintf (Depends-on): Likewise.
8914         * modules/dprintf-posix (Depends-on): Likewise.
8915         * modules/error (Depends-on): Likewise.
8916         * modules/euidaccess (Depends-on): Likewise.
8917         * modules/expl (Depends-on): Likewise.
8918         * modules/faccessat (Depends-on): Likewise.
8919         * modules/fchdir (Depends-on): Likewise.
8920         * modules/fclose (Depends-on): Likewise.
8921         * modules/fcntl (Depends-on): Likewise.
8922         * modules/fdopendir (Depends-on): Likewise.
8923         * modules/fflush (Depends-on): Likewise.
8924         * modules/floor (Depends-on): Likewise.
8925         * modules/floorf (Depends-on): Likewise.
8926         * modules/floorl (Depends-on): Likewise.
8927         * modules/fnmatch (Depends-on): Likewise.
8928         * modules/fopen (Depends-on): Likewise.
8929         * modules/fprintf-posix (Depends-on): Likewise.
8930         * modules/frexp (Depends-on): Likewise.
8931         * modules/frexp-nolibm (Depends-on): Likewise.
8932         * modules/frexpl (Depends-on): Likewise.
8933         * modules/frexpl-nolibm (Depends-on): Likewise.
8934         * modules/fseek (Depends-on): Likewise.
8935         * modules/fsusage (Depends-on): Likewise.
8936         * modules/ftell (Depends-on): Likewise.
8937         * modules/ftello (Depends-on): Likewise.
8938         * modules/futimens (Depends-on): Likewise.
8939         * modules/getcwd (Depends-on): Likewise.
8940         * modules/getcwd-lgpl (Depends-on): Likewise.
8941         * modules/getdelim (Depends-on): Likewise.
8942         * modules/getdomainname (Depends-on): Likewise.
8943         * modules/getgroups (Depends-on): Likewise.
8944         * modules/gethostname (Depends-on): Likewise.
8945         * modules/getline (Depends-on): Likewise.
8946         * modules/getlogin_r (Depends-on): Likewise.
8947         * modules/getopt-posix (Depends-on): Likewise.
8948         * modules/getpeername (Depends-on): Likewise.
8949         * modules/getsockname (Depends-on): Likewise.
8950         * modules/getsockopt (Depends-on): Likewise.
8951         * modules/getsubopt (Depends-on): Likewise.
8952         * modules/getusershell (Depends-on): Likewise.
8953         * modules/glob (Depends-on): Likewise.
8954         * modules/grantpt (Depends-on): Likewise.
8955         * modules/iconv_open (Depends-on): Likewise.
8956         * modules/iconv_open-utf (Depends-on): Likewise.
8957         * modules/inet_ntop (Depends-on): Likewise.
8958         * modules/inet_pton (Depends-on): Likewise.
8959         * modules/ioctl (Depends-on): Likewise.
8960         * modules/isapipe (Depends-on): Likewise.
8961         * modules/isfinite (Depends-on): Likewise.
8962         * modules/isinf (Depends-on): Likewise.
8963         * modules/lchown (Depends-on): Likewise.
8964         * modules/ldexpl (Depends-on): Likewise.
8965         * modules/link (Depends-on): Likewise.
8966         * modules/linkat (Depends-on): Likewise.
8967         * modules/listen (Depends-on): Likewise.
8968         * modules/logl (Depends-on): Likewise.
8969         * modules/lstat (Depends-on): Likewise.
8970         * modules/mbrlen (Depends-on): Likewise.
8971         * modules/mbrtowc (Depends-on): Likewise.
8972         * modules/mbsinit (Depends-on): Likewise.
8973         * modules/mbsnrtowcs (Depends-on): Likewise.
8974         * modules/mbsrtowcs (Depends-on): Likewise.
8975         * modules/mbtowc (Depends-on): Likewise.
8976         * modules/memcmp (Depends-on): Likewise.
8977         * modules/mkdir (Depends-on): Likewise.
8978         * modules/mkdtemp (Depends-on): Likewise.
8979         * modules/mkfifo (Depends-on): Likewise.
8980         * modules/mkfifoat (Depends-on): Likewise.
8981         * modules/mknod (Depends-on): Likewise.
8982         * modules/mkostemp (Depends-on): Likewise.
8983         * modules/mkostemps (Depends-on): Likewise.
8984         * modules/mkstemp (Depends-on): Likewise.
8985         * modules/mkstemps (Depends-on): Likewise.
8986         * modules/mktime (Depends-on): Likewise.
8987         * modules/nanosleep (Depends-on): Likewise.
8988         * modules/open (Depends-on): Likewise.
8989         * modules/openat (Depends-on): Likewise.
8990         * modules/perror (Depends-on): Likewise.
8991         * modules/poll (Depends-on): Likewise.
8992         * modules/popen (Depends-on): Likewise.
8993         * modules/posix_spawn (Depends-on): Likewise.
8994         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
8995         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
8996         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
8997         * modules/posix_spawnp (Depends-on): Likewise.
8998         * modules/pread (Depends-on): Likewise.
8999         * modules/printf-posix (Depends-on): Likewise.
9000         * modules/ptsname (Depends-on): Likewise.
9001         * modules/putenv (Depends-on): Likewise.
9002         * modules/pwrite (Depends-on): Likewise.
9003         * modules/readline (Depends-on): Likewise.
9004         * modules/readlink (Depends-on): Likewise.
9005         * modules/readlinkat (Depends-on): Likewise.
9006         * modules/recv (Depends-on): Likewise.
9007         * modules/recvfrom (Depends-on): Likewise.
9008         * modules/regex (Depends-on): Likewise.
9009         * modules/remove (Depends-on): Likewise.
9010         * modules/rename (Depends-on): Likewise.
9011         * modules/renameat (Depends-on): Likewise.
9012         * modules/rmdir (Depends-on): Likewise.
9013         * modules/round (Depends-on): Likewise.
9014         * modules/roundf (Depends-on): Likewise.
9015         * modules/roundl (Depends-on): Likewise.
9016         * modules/rpmatch (Depends-on): Likewise.
9017         * modules/select (Depends-on): Likewise.
9018         * modules/send (Depends-on): Likewise.
9019         * modules/sendto (Depends-on): Likewise.
9020         * modules/setenv (Depends-on): Likewise.
9021         * modules/setlocale (Depends-on): Likewise.
9022         * modules/setsockopt (Depends-on): Likewise.
9023         * modules/shutdown (Depends-on): Likewise.
9024         * modules/sigaction (Depends-on): Likewise.
9025         * modules/signbit (Depends-on): Likewise.
9026         * modules/sigprocmask (Depends-on): Likewise.
9027         * modules/sinl (Depends-on): Likewise.
9028         * modules/sleep (Depends-on): Likewise.
9029         * modules/snprintf (Depends-on): Likewise.
9030         * modules/snprintf-posix (Depends-on): Likewise.
9031         * modules/socket (Depends-on): Likewise.
9032         * modules/sprintf-posix (Depends-on): Likewise.
9033         * modules/sqrtl (Depends-on): Likewise.
9034         * modules/stat (Depends-on): Likewise.
9035         * modules/strchrnul (Depends-on): Likewise.
9036         * modules/strdup-posix (Depends-on): Likewise.
9037         * modules/strerror (Depends-on): Likewise.
9038         * modules/strerror_r-posix (Depends-on): Likewise.
9039         * modules/strndup (Depends-on): Likewise.
9040         * modules/strnlen (Depends-on): Likewise.
9041         * modules/strptime (Depends-on): Likewise.
9042         * modules/strsep (Depends-on): Likewise.
9043         * modules/strsignal (Depends-on): Likewise.
9044         * modules/strstr-simple (Depends-on): Likewise.
9045         * modules/strtod (Depends-on): Likewise.
9046         * modules/strtoimax (Depends-on): Likewise.
9047         * modules/strtok_r (Depends-on): Likewise.
9048         * modules/strtoumax (Depends-on): Likewise.
9049         * modules/symlink (Depends-on): Likewise.
9050         * modules/symlinkat (Depends-on): Likewise.
9051         * modules/tanl (Depends-on): Likewise.
9052         * modules/tcgetsid (Depends-on): Likewise.
9053         * modules/tmpfile (Depends-on): Likewise.
9054         * modules/trunc (Depends-on): Likewise.
9055         * modules/truncf (Depends-on): Likewise.
9056         * modules/truncl (Depends-on): Likewise.
9057         * modules/uname (Depends-on): Likewise.
9058         * modules/unlink (Depends-on): Likewise.
9059         * modules/unlockpt (Depends-on): Likewise.
9060         * modules/unsetenv (Depends-on): Likewise.
9061         * modules/usleep (Depends-on): Likewise.
9062         * modules/utimensat (Depends-on): Likewise.
9063         * modules/vasprintf (Depends-on): Likewise.
9064         * modules/vdprintf (Depends-on): Likewise.
9065         * modules/vdprintf-posix (Depends-on): Likewise.
9066         * modules/vfprintf-posix (Depends-on): Likewise.
9067         * modules/vprintf-posix (Depends-on): Likewise.
9068         * modules/vsnprintf (Depends-on): Likewise.
9069         * modules/vsnprintf-posix (Depends-on): Likewise.
9070         * modules/vsprintf-posix (Depends-on): Likewise.
9071         * modules/wcrtomb (Depends-on): Likewise.
9072         * modules/wcscasecmp (Depends-on): Likewise.
9073         * modules/wcscspn (Depends-on): Likewise.
9074         * modules/wcsdup (Depends-on): Likewise.
9075         * modules/wcsncasecmp (Depends-on): Likewise.
9076         * modules/wcsnrtombs (Depends-on): Likewise.
9077         * modules/wcspbrk (Depends-on): Likewise.
9078         * modules/wcsrtombs (Depends-on): Likewise.
9079         * modules/wcsspn (Depends-on): Likewise.
9080         * modules/wcsstr (Depends-on): Likewise.
9081         * modules/wcstok (Depends-on): Likewise.
9082         * modules/wcswidth (Depends-on): Likewise.
9083         * modules/wctob (Depends-on): Likewise.
9084         * modules/wctomb (Depends-on): Likewise.
9085         * modules/wctype (Depends-on): Likewise.
9086         * modules/wcwidth (Depends-on): Likewise.
9087         * modules/write (Depends-on): Likewise.
9088
9089 2011-05-03  Bruno Haible  <bruno@clisp.org>
9090
9091         Support for conditional dependencies.
9092         * doc/gnulib.texi (Module description): Document the syntax of
9093         conditional dependencies.
9094         * gnulib-tool: New option --conditional-dependencies.
9095         (func_usage): Document it.
9096         (cond_dependencies): New variable.
9097         (func_get_automake_snippet_conditional,
9098         func_get_automake_snippet_unconditional): New functions, extracted from
9099         func_get_automake_snippet.
9100         (func_get_automake_snippet): Use them.
9101         (sed_first_32_chars): New variable.
9102         (func_module_shellfunc_name): New function.
9103         (func_module_shellvar_name): New function.
9104         (func_module_conditional_name): New function.
9105         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
9106         func_cond_module_condition): New functions.
9107         (func_modules_transitive_closure): Add support for conditional
9108         dependencies.
9109         (func_emit_lib_Makefile_am): For a conditional module, enclose the
9110         conditional automake snippet in an automake conditional.
9111         (func_emit_autoconf_snippets): Emit shell functions that contain the
9112         code for conditional modules.
9113         (func_import, func_create_testdir): Update specification.
9114
9115 2011-05-03  Eric Blake  <eblake@redhat.com>
9116
9117         test-getaddrinfo: report error information
9118         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
9119
9120 2011-05-03  Jim Meyering  <meyering@redhat.com>
9121
9122         bootstrap: avoid build failure when $GZIP is set
9123         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
9124         program name.  If defined at all, it is supposed to list gzip options.
9125         Reported by Alan Curry in http://debbugs.gnu.org/8609
9126
9127 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
9128
9129         readme-release: new module with release instructions
9130         * modules/readme-release: New module.
9131         * top/README-release: New file, from coreutils, grep, diffutils.
9132         * MODULES.html.sh (Support for maintaining and releasing): Add it.
9133
9134 2011-05-02  Eric Blake  <eblake@redhat.com>
9135
9136         fflush: also replace fclose when fixing fflush
9137         * modules/fflush (Depends-on): Add fclose.
9138         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
9139         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
9140         memstreams with no backing fd.
9141         * doc/posix-functions/fclose.texi (fclose): Document the use of
9142         fflush module to fix the bug.
9143         * tests/test-fclose.c (main): Relax test when fclose is used in
9144         isolation.
9145
9146         fclose: add some tests
9147         * modules/fclose-tests: New test module.
9148         * tests/test-fclose.c: New file.
9149         * doc/posix-functions/fclose.texi (fclose): Document the bug.
9150
9151         fclose: reduced dependencies
9152         * modules/fclose (Depends-on): Switch from fflush/fseeko to
9153         simpler lseek.
9154         * lib/fclose.c (rpl_fclose): Likewise.
9155         Reported by Simon Josefsson.
9156
9157         exit: drop remaining clients
9158         * modules/argmatch (Depends-on): Replace exit with stdlib.
9159         * modules/copy-file (Depends-on): Likewise.
9160         * modules/execute (Depends-on): Likewise.
9161         * modules/exitfail (Depends-on): Likewise.
9162         * modules/obstack (Depends-on): Likewise.
9163         * modules/pagealign_alloc (Depends-on): Likewise.
9164         * modules/pipe-filter-gi (Depends-on): Likewise.
9165         * modules/pipe-filter-ii (Depends-on): Likewise.
9166         * modules/savewd (Depends-on): Likewise.
9167         * modules/spawn-pipe (Depends-on): Likewise.
9168         * modules/wait-process (Depends-on): Likewise.
9169         * modules/xsetenv (Depends-on): Likewise.
9170         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
9171         * modules/git-merge-changelog (Depends-on): Likewise.
9172         * modules/long-options (Depends-on): Likewise.
9173         * modules/pt_chown (Depends-on): Likewise.
9174         * modules/sysexits (Depends-on): Likewise.
9175
9176         freading: relax license from LGPLv3+ to LGPLv2+
9177         * modules/freading (License): Relax LGPL version.
9178
9179 2011-05-02  Bruno Haible  <bruno@clisp.org>
9180
9181         fchdir: Remove unused dependencies.
9182         * modules/fchdir (Depends-on): Remove include_next.
9183
9184 2011-05-02  Bruno Haible  <bruno@clisp.org>
9185
9186         gnulib-tool: Refactor.
9187         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
9188         from func_emit_autoconf_snippets.
9189         (func_emit_autoconf_snippets): Use it.
9190
9191 2011-05-02  Simon Josefsson  <simon@josefsson.org>
9192
9193         * NEWS: Document removal of 'exit'.
9194         * modules/exit: Remove file.
9195
9196 2011-05-01  Bruno Haible  <bruno@clisp.org>
9197
9198         Update DEPENDENCIES.
9199         * DEPENDENCIES (gettext): Recommend the newest release.
9200         Reported by Simon Josefsson.
9201
9202 2011-05-01  Bruno Haible  <bruno@clisp.org>
9203
9204         gnulib-tool: Reduce code duplication.
9205         * gnulib-tool (func_emit_autoconf_snippets): New function.
9206         (func_import, func_create_testdir): Use it.
9207
9208 2011-04-30  Eric Blake  <eblake@redhat.com>
9209
9210         fclose: don't fail on non-seekable input stream
9211         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
9212         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
9213         since fflush is allowed to fail in that case.
9214
9215 2011-04-30  Bruno Haible  <bruno@clisp.org>
9216
9217         dup3: cleanup
9218         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
9219
9220 2011-04-30  Bruno Haible  <bruno@clisp.org>
9221
9222         netdb: Make it work in C++ mode.
9223         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
9224         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
9225         module.
9226         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
9227         gl_MODULE_INDICATOR_FOR_TESTS.
9228         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
9229         * modules/netdb-c++-tests: New file.
9230         * tests/test-netdb-c++.cc: New file.
9231
9232 2011-04-30  Bruno Haible  <bruno@clisp.org>
9233
9234         New modules 'vfscanf', 'vscanf'.
9235         * modules/vfscanf: New file.
9236         * modules/vscanf: New file.
9237         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
9238         here.
9239         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
9240         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
9241
9242 2011-04-30  Bruno Haible  <bruno@clisp.org>
9243
9244         passfd: Add comments.
9245         * lib/passfd.c: Add comments about platforms.
9246
9247 2011-04-30  Bruno Haible  <bruno@clisp.org>
9248
9249         sys_uio: Make <sys/uio.h> self-contained.
9250         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
9251         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
9252
9253 2011-04-30  Bruno Haible  <bruno@clisp.org>
9254
9255         sys_socket: Ensure 'struct iovec' definition.
9256         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
9257         <sys/socket.h>.
9258         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
9259
9260 2011-04-30  Bruno Haible  <bruno@clisp.org>
9261
9262         sys_uio: Protect definition of 'struct iovec'.
9263         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
9264         it as a C struct.
9265
9266 2011-04-30  Bruno Haible  <bruno@clisp.org>
9267
9268         manywarnings: fix indentation
9269         * m4/manywarnings.m4: Indent by 2 spaces consistently.
9270
9271 2011-04-30  Pádraig Brady <P@draigBrady.com>
9272
9273         manywarnings: add -Wno-missing-field-initializers if needed.
9274         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
9275         option if it's needed to allow initialization with { 0, }
9276
9277 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
9278
9279         announce-gen: cosmetic improvement
9280         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
9281
9282 2011-04-29  Jim Meyering  <meyering@redhat.com>
9283
9284         vc-list-files: indent with spaces, not TABs
9285         * build-aux/vc-list-files: Convert leading TABs to spaces,
9286         to match the style of most other files in gnulib.
9287
9288         announce-gen: indent with spaces, not TABs
9289         * build-aux/announce-gen: Convert all TABs to spaces, to match
9290         the style of most other files in gnulib.
9291
9292 2011-04-29  Eric Blake  <eblake@redhat.com>
9293
9294         quotearg: avoid uninitialized variable use
9295         * lib/quotearg.c (quoting_options_from_style): Initialize
9296         remaining fields, and ensure that custom styles are only used via
9297         quoting_options rather than quoting_style.
9298
9299 2011-04-29  Jim Meyering  <meyering@redhat.com>
9300
9301         maint.mk: remove unused VC-tag variable
9302         * top/maint.mk (VC-tag): Remove unused variable.
9303
9304 2011-04-29  Bruno Haible  <bruno@clisp.org>
9305
9306         netdb: fix gai_strerror replacements
9307         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
9308         * modules/netdb: Substitute it.
9309
9310 2011-04-29  Jim Meyering  <meyering@redhat.com>
9311
9312         test-getcwd.c: avoid new set-but-not-used warning
9313         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
9314         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
9315         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
9316         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
9317
9318         test-hash.c: avoid a new shadowing warning
9319         * tests/test-hash.c (main): Don't shadow "dup".
9320
9321 2011-04-28  Eric Blake  <eblake@redhat.com>
9322
9323         getaddrinfo: fix gai_strerror signature
9324         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
9325         and work around mingw with UNICODE defined.
9326         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
9327         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
9328         * modules/netdb (Makefile.am): Substitute it.
9329         * lib/netdb.in.h (gai_strerror): Declare replacement.
9330         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
9331         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
9332         the fix.
9333
9334         getsockopt: avoid compiler warning
9335         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
9336         Reported by Matthias Bolte.
9337
9338         tests: drop unused link dependency
9339         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
9340         * modules/dirent-safer-tests (Makefile.am): Likewise.
9341         * modules/fdopendir-tests (Makefile.am): Likewise.
9342         * modules/mkfifoat-tests (Makefile.am): Likewise.
9343         * modules/openat-safer-tests (Makefile.am): Likewise.
9344         * modules/openat-tests (Makefile.am): Likewise.
9345         * modules/readlinkat-tests (Makefile.am): Likewise.
9346         * modules/symlinkat-tests (Makefile.am): Likewise.
9347         * modules/linkat-tests (Makefile.am): Likewise.
9348         (Depends-on): Switch to filenamecat-lgpl.
9349         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
9350         LIBINTL.
9351         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
9352         * tests/test-linkat.c (main): Don't require xalloc.
9353
9354         hash, mgetgroups: drop xalloc dependency
9355         * lib/hash.c (includes): Adjust includes.
9356         * lib/mgetgroups.c (includes): Likewise.
9357         (xgetgroups): Move...
9358         * lib/xgetgroups.c: ...to new file.
9359         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
9360         * modules/xgetgroups: New file, split from...
9361         * modules/mgetgroups: ...here.
9362         (Depends-on): Add xalloc-oversized.
9363         * modules/hash (Depends-on): Likewise.
9364         * modules/hash-tests (Depends-on): Drop xalloc.
9365         (test_hash_LDADD): Drop unused library.
9366         * tests/test-hash.c (main): Break xalloc dependency.
9367         (includes): Drop unused include.
9368
9369         xalloc-oversized: new module
9370         * modules/xalloc-oversized: New module.
9371         * modules/xalloc (Depends-on): Add it.
9372         * lib/xalloc.h (xalloc_oversized): Move...
9373         * lib/xalloc-oversized.h: ...into new file.
9374
9375         utimecmp: drop dependency on xmalloc
9376         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
9377         due to memory pressure.
9378         * modules/utimecmp (Depends-on): Drop xalloc.
9379
9380 2011-04-27  Eric Blake  <eblake@redhat.com>
9381
9382         getcwd: fix mingw bugs
9383         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
9384         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
9385         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
9386
9387 2011-04-27  Bruno Haible  <bruno@clisp.org>
9388
9389         mkstemps: Ensure declaration on MacOS X 10.5.
9390         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
9391         * doc/glibc-functions/mkstemps.texi: Document header file problem on
9392         MacOS X.
9393
9394 2011-04-27  Bruno Haible  <bruno@clisp.org>
9395
9396         mkstemp: More documentation.
9397         * doc/posix-functions/mkstemp.texi: Document header file problem on
9398         MacOS X.
9399
9400 2011-04-27  Bruno Haible  <bruno@clisp.org>
9401
9402         mkstemp: Tweak configure message when cross-compiling.
9403         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
9404         result as a guess.
9405
9406 2011-04-27  Bruno Haible  <bruno@clisp.org>
9407
9408         clean-temp: Clarify what it does.
9409         * lib/clean-temp.h: Add more comments.
9410         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
9411         module.
9412         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
9413         * doc/glibc-functions/mkstemps.texi: Likewise.
9414         * doc/glibc-functions/mkostemps.texi: Likewise.
9415
9416 2011-04-27  Eric Blake  <eblake@redhat.com>
9417
9418         fchdir: avoid extra chdir and fix test
9419         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
9420         getcwd-lgpl.
9421         * lib/fchdir.c (get_name): Any absolute name will do; it does not
9422         have to be canonical.
9423         (canonicalize_file_name): Drop unused macro.
9424         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
9425
9426         filenamecat-lgpl: fix licence
9427         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
9428         when it was first created.
9429
9430         linkat, renameat: add missing dependency
9431         * modules/linkat (Depends-on): Require getcwd-lgpl.
9432         * modules/renameat (Depends-on): Likewise.
9433
9434         tests: reduce dependencies
9435         * tests/test-linkat.c (main): Use lighter-weight getcwd.
9436         * tests/test-renameat.c (main): Likewise.
9437         * modules/linkat-tests (Depends-on): Relax dependency.
9438         * modules/renameat-tests (Depends-on): Likewise.
9439         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
9440         dependency explicit.
9441
9442         save-cwd: reduce default dependency
9443         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
9444         * lib/save-cwd.c: Update comments.
9445         * NEWS: Document the semantic change.
9446
9447         getcwd: enhance tests
9448         * tests/test-getcwd-lgpl.c: New file, taken from...
9449         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
9450         repeat long path stress tests from m4 probe.
9451         * modules/getcwd-lgpl-tests: New module.
9452         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
9453         * m4/getcwd-abort-bug.m4: Update comment.
9454         * m4/getcwd-path-max.m4: Likewise.
9455
9456         getcwd-lgpl: new module
9457         * modules/getcwd-lgpl: New module.
9458         * lib/getcwd-lgpl.c: New file.
9459         * doc/posix-functions/getcwd.texi (getcwd): Document it.
9460         * MODULES.html.sh (lacking POSIX:2008): Likewise.
9461         * modules/getcwd (configure.ac): Set C witness.
9462         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
9463
9464         getcwd: tweak comments
9465         * m4/getcwd-abort-bug.m4: Fix comments.
9466         * m4/getcwd-path-max.m4: Likewise.
9467         * m4/getcwd.m4: Likewise.
9468
9469 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
9470         and Eric Blake  <eblake@redhat.com>
9471
9472         mkstemp: replace if system version uses wrong permissions
9473         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
9474         read/write mode bits set in file created by mkstemp.
9475         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
9476
9477 2011-04-27  Eric Blake  <eblake@redhat.com>
9478
9479         passfd: avoid compiler warning
9480         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
9481         Reported by Laine Stump.
9482
9483 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
9484
9485         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
9486         required by the NetBSD (and perhaps other 4.4BSD derived) join.
9487
9488 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
9489         and Eric Blake  <eblake@redhat.com>
9490
9491         mkstemp: mention clean-temp module
9492         * lib/mkstemp.c: Add comment.
9493         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
9494
9495 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
9496
9497         inttypes: also provide default values for 32-bit tests
9498         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
9499         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
9500
9501 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
9502
9503         strtoumax: remove dependency on strtoimax
9504         This is like the strtoull change of yesterday.
9505         * modules/strtoumax (Files): Add lib/strtoimax.c.
9506         (Depends-on): Remove strtoimax and add verify.
9507
9508         inttypes-incomplete: new module
9509         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
9510         all but the PRI* and SCN* parts of gl_INTTYPES_H.
9511         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
9512         of gl_INTTYPES_H.
9513         (gl_INTTYPES_H): Rewrite in terms of these new macros.
9514         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
9515         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
9516         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
9517         * modules/strtoumax, modules/xstrtol (Depends-on):
9518         Depend on inttypes-incomplete, not inttypes.
9519         * modules/inttypes-incomplete: New module, containing the contents
9520         of the old modules/inttypes module, except that the Files: section
9521         omits m4/inttypes-pri.m4, and the configure.ac section invokes
9522         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
9523         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
9524         (Depends-on): Depend only on inttypes-incomplete.
9525         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
9526
9527         inttypes: omit now-redundant strtoimax and strtoumax work
9528         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
9529         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
9530
9531         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
9532         This supports apps that need pointers to strtoimax and strtoumax,
9533         and ports to HP-UX 11.00 64.bit, which has macros that expand to
9534         nonexistent functions.  See
9535         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
9536         et seq.
9537         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
9538         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
9539         a macro.
9540         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
9541
9542 2011-04-25  Simon Josefsson  <simon@josefsson.org>
9543
9544         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
9545
9546 2011-04-25  Bruno Haible  <bruno@clisp.org>
9547
9548         strtol, strtoul: Mark modules as obsolete.
9549         * modules/strtol (Status, Notice): New sections.
9550         * modules/strtoul (Status, Notice): New sections.
9551
9552 2011-04-25  Bruno Haible  <bruno@clisp.org>
9553
9554         strtod: Remove check for strtod, unless supporting old platforms.
9555         * modules/strtod-obsolete: New file.
9556         * m4/strtod-obsolete.m4: New file.
9557         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
9558         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
9559         * modules/strtod (Depends-on): Add strtod-obsolete.
9560         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
9561
9562 2011-04-25  Bruno Haible  <bruno@clisp.org>
9563
9564         strcase: Make module obsolete.
9565         * modules/strcase (Status, Notice): New sections.
9566
9567 2011-04-25  Bruno Haible  <bruno@clisp.org>
9568
9569         dup2: Remove check for dup2, unless supporting old obsolete platforms.
9570         * modules/dup2-obsolete: New file.
9571         * m4/dup2-obsolete.m4: New file.
9572         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
9573         gl_FUNC_DUP2_OBSOLETE is not also defined.
9574         * modules/dup2 (Depends-on): Add dup2-obsolete.
9575         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
9576
9577 2011-04-25  Bruno Haible  <bruno@clisp.org>
9578
9579         strnlen: Avoid memchr related link error on old obsolete platforms.
9580         * modules/memchr-obsolete: New file.
9581         * m4/memchr-obsolete.m4: New file.
9582         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
9583         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
9584         * modules/memchr (Depends-on): Add memchr-obsolete.
9585         * modules/strnlen (Depends-on): Likewise.
9586         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
9587
9588 2011-04-25  Jim Meyering  <meyering@redhat.com>
9589
9590         maint.mk: makefile_at_at_check extend and clean up
9591         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
9592         in addition to */Makefile.am.
9593         Exempt legitimate uses of @VAR@ notation, e.g.,
9594         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
9595         Remove obsolete coreutils-specific comment.
9596         Prompted by discussion here:
9597         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
9598
9599 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
9600
9601         strtoul: remove dependency on strtol
9602         This is so that 'configure' need not check for strtol merely because
9603         the application needs strtoul.
9604         * modules/strtoul (Files): Add lib/strtol.c.
9605         (Depends-on): Remove strtol.
9606
9607         strtoull: remove dependency on strtoul
9608         This is like the strtoll change.
9609         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
9610         (Depends-on): Remove strtoul.
9611
9612         strtoll: remove dependency on strtol
9613         This is so that 'configure' need not check for strtol merely because
9614         the application needs strtoll.
9615         * modules/strtoll (Files): Add lib/strtol.c.
9616         (Depends-on): Remove strtol.
9617
9618 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
9619
9620         inttypes: Move some configure check to module 'imaxdiv'.
9621         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
9622         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
9623         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
9624
9625 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
9626
9627         inttypes: Move some configure check to module 'imaxabs'.
9628         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
9629         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
9630         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
9631
9632 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
9633
9634         inttypes: Remove configure tests that are not needed since 2009-12-31.
9635         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
9636         gl_cv_header_working_inttypes_h.
9637
9638 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
9639
9640         * modules/strnlen (Depends-on): Remove memchr.
9641         The strnlen implementation doesn't need the memchr module's fixes; see
9642         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
9643
9644         strtol: remove dependency on wchar
9645         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
9646         * modules/strtol (Depends-on): Remove wchar.
9647
9648 2011-04-21  Eric Blake  <eblake@redhat.com>
9649
9650         passfd: fix test regression on Linux
9651         * modules/passfd-tests (configure.ac): Correct socketpair check.
9652
9653         passfd: speed up configure and drop unused code
9654         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
9655         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
9656         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
9657         Instead of probing at configure for unix_scm_rights_bsd44_way,
9658         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
9659         check to a struct member probe.
9660         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
9661         (sendfd, recvfd): Update preprocessor checks.
9662         * modules/passfd (Files): Reflect rename, and drop unused file.
9663         (Depends-on): Drop unused dependency.
9664
9665         passfd: allow compilation on mingw
9666         * modules/sys_socket (Depends-on): Add sys_uio.
9667         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
9668         iovec and a minimal struct msghdr.
9669         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
9670         * tests/test-sys_socket.c (main): Enhance test.
9671         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
9672         guaranteed to provide what we need.
9673         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
9674         * modules/passfd-tests (Depends-on): Add sys_wait.
9675         * tests/test-passfd.c (main): Skip test on mingw, for now.
9676         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
9677         partial 'struct msghdr' implementation.
9678
9679         sys_uio: new module
9680         * modules/sys_uio: New module.
9681         * modules/sys_uio-tests: Likewise.
9682         * lib/sys_uio.in.h: New file.
9683         * m4/sys_uio_h.m4: Likewise.
9684         * tests/test-sys_uio.c: Likewise.
9685         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
9686         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
9687
9688 2011-04-20  Jim Meyering  <meyering@redhat.com>
9689
9690         useless-if-before-free: avoid false-positive
9691         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
9692         disjunct so that it too requires a terminating ";".  Without that,
9693         this script would identify as useless one statement from gcc that
9694         was not:
9695           if (aligned_ptr)
9696             free (((void **) aligned_ptr) [-1]);
9697
9698 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
9699
9700         doc: update users.txt.
9701         * users.txt: Add barcode.
9702
9703 2011-04-19  Bruno Haible  <bruno@clisp.org>
9704
9705         ioctl: Remove link dependency on native Windows.
9706         * lib/fd-hook.h: Renamed from lib/close-hook.h.
9707         (gl_close_fn, gl_ioctl_fn): New types.
9708         (struct fd_hook): Renamed from struct close_hook. Change type of
9709         private_close_fn field. Add private_ioctl_fn field.
9710         (close_hook_fn): Add parameter for primary close method.
9711         (execute_close_hooks, execute_all_close_hooks): Likewise.
9712         (ioctl_hook_fn): New type.
9713         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
9714         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
9715         argument.
9716         (unregister_fd_hook): Renamed from unregister_close_hook.
9717         * lib/fd-hook.c: Renamed from lib/close-hook.c.
9718         Don't include <unistd.h>.
9719         (close): Remove undef.
9720         (anchor): Update.
9721         (execute_close_hooks): Add argument for primary close method.
9722         (execute_all_close_hooks): Likewise.
9723         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
9724         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
9725         argument. Allow each argument to be NULL.
9726         (unregister_fd_hook): Renamed from unregister_close_hook.
9727         * lib/close.c (rpl_close): Pass 'close' function pointer to
9728         execute_all_close_hooks.
9729         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
9730         (primary_ioctl): New function.
9731         (ioctl): Don't call ioctlsocket here. Instead, call
9732         execute_all_ioctl_hooks.
9733         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
9734         close method.
9735         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
9736         (fd_sockets_hook): Renamed from close_sockets_hook.
9737         (gl_sockets_startup, gl_sockets_cleanup): Update.
9738         * modules/fd-hook: Renamed from modules/close-hook. Update.
9739         * modules/close (Depends-on): Add fd-hook, remove close-hook.
9740         * modules/sockets (Depends-on): Likewise.
9741         * modules/ioctl (Depends-on): Add fd-hook.
9742         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
9743         GNULIB_SOCKET.
9744
9745 2011-04-19  Bruno Haible  <bruno@clisp.org>
9746
9747         Move the support of O_NONBLOCK in open() to the 'open' module.
9748         * modules/nonblocking (Depends-on): Remove 'open'.
9749         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
9750         gl_cv_have_open_O_NONBLOCK.
9751         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
9752         O_NONBLOCK support.
9753         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
9754
9755 2011-04-17  Bruno Haible  <bruno@clisp.org>
9756
9757         pipe2: Simplify code.
9758         * lib/pipe2.c (pipe2): Reduce code duplication.
9759
9760 2011-04-17  Bruno Haible  <bruno@clisp.org>
9761
9762         nonblocking: Add comment.
9763         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
9764
9765 2011-04-17  Bruno Haible  <bruno@clisp.org>
9766
9767         nonblocking: Add tests for sockets.
9768         * tests/test-nonblocking-socket.sh: New file.
9769         * tests/test-nonblocking-socket-main.c: New file.
9770         * tests/test-nonblocking-socket-child.c: New file.
9771         * tests/test-nonblocking-socket.h: New file.
9772         * tests/socket-server.h: New file.
9773         * tests/socket-client.h: New file.
9774         * modules/nonblocking-socket-tests: New file.
9775         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
9776
9777 2011-04-17  Bruno Haible  <bruno@clisp.org>
9778
9779         nonblocking: Add tests for pipes.
9780         * tests/test-nonblocking-pipe.sh: New file.
9781         * tests/test-nonblocking-pipe-main.c: New file.
9782         * tests/test-nonblocking-pipe-child.c: New file.
9783         * tests/test-nonblocking-pipe.h: New file.
9784         * tests/test-nonblocking-writer.h: New file.
9785         * tests/test-nonblocking-reader.h: New file.
9786         * tests/test-nonblocking-misc.h: New file.
9787         * modules/nonblocking-pipe-tests: New file.
9788         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
9789
9790 2011-04-16  Bruno Haible  <bruno@clisp.org>
9791
9792         gettext: Clarify the needed programmer actions.
9793         * modules/gettext (Notice): New field.
9794         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
9795
9796 2011-04-16  Bruno Haible  <bruno@clisp.org>
9797
9798         strchrnul: Tweak last commit.
9799         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
9800         bug.
9801         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
9802         as in _GL_FUNCDECL_SYS.
9803         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
9804         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
9805
9806 2011-04-15  Eric Blake  <eblake@redhat.com>
9807
9808         strchrnul: work around cygwin bug
9809         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
9810         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
9811         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
9812         * modules/string (Makefile.am): Substitute it.
9813         * lib/string.in.h (strchrnul): Use it.
9814
9815 2011-04-15  Bruno Haible  <bruno@clisp.org>
9816
9817         Don't require lib/stdio-write.c when only module 'stdio' is used.
9818         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
9819         invocation.
9820         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
9821
9822 2011-04-14  Bruno Haible  <bruno@clisp.org>
9823
9824         Support non-blocking pipe I/O in read() on native Windows.
9825         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
9826         (read): New declaration.
9827         * lib/read.c: New file.
9828         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
9829         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
9830         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
9831         vscanf): New declarations.
9832         * lib/stdio-read.c: New file.
9833         * m4/read.m4: New file.
9834         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
9835         REPLACE_READ.
9836         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
9837         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
9838         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
9839         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
9840         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
9841         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
9842         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
9843         * modules/read: New file.
9844         * modules/nonblocking (Files): Add lib/stdio-read.c.
9845         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
9846         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
9847         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
9848         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
9849         * modules/pread (Depends-on): Add read.
9850         * modules/safe-read (Depends-on): Likewise.
9851         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
9852         gets, scanf, vfscanf, vscanf): Verify signatures.
9853         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
9854         problem with non-blocking pipes.
9855         * doc/posix-functions/fgetc.texi: Likewise.
9856         * doc/posix-functions/fgets.texi: Likewise.
9857         * doc/posix-functions/fread.texi: Likewise.
9858         * doc/posix-functions/fscanf.texi: Likewise.
9859         * doc/posix-functions/getc.texi: Likewise.
9860         * doc/posix-functions/getchar.texi: Likewise.
9861         * doc/posix-functions/gets.texi: Likewise.
9862         * doc/posix-functions/scanf.texi: Likewise.
9863         * doc/posix-functions/vfscanf.texi: Likewise.
9864         * doc/posix-functions/vscanf.texi: Likewise.
9865
9866 2011-04-14  Bruno Haible  <bruno@clisp.org>
9867
9868         Support non-blocking pipe I/O in write() on native Windows.
9869         * lib/write.c (rpl_write): Split a write request that failed merely
9870         because the byte count was larger than the pipe buffer's size.
9871         * doc/posix-functions/write.texi: Mention the problem with large byte
9872         counts.
9873
9874 2011-04-14  Bruno Haible  <bruno@clisp.org>
9875
9876         wchar: Ensure that wchar_t gets defined on uClibc.
9877         * lib/wchar.in.h: On uClibc, include <stddef.h>.
9878         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
9879
9880 2011-04-13  Bruno Haible  <bruno@clisp.org>
9881
9882         safe-write, full-read: Avoid unnecessary compilation units.
9883         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
9884         (Depends-on): Remove safe-read. Add ssize_t.
9885         * modules/full-read (Files): Add lib/full-write.c.
9886         (Depends-on): Add full-write.
9887
9888 2011-04-13  Bruno Haible  <bruno@clisp.org>
9889
9890         Support non-blocking pipe I/O and SIGPIPE in pwrite().
9891         * modules/pwrite (Depends-on): Add 'write'.
9892
9893 2011-04-13  Bruno Haible  <bruno@clisp.org>
9894
9895         Support non-blocking pipe I/O in write() on native Windows.
9896         * lib/unistd.in.h (write): Enable replacement also if
9897         GNULIB_UNISTD_H_NONBLOCKING is 1.
9898         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
9899         (rpl_write): When failing to write on a non-blocking pipe, change
9900         errno from ENOSPC to EAGAIN.
9901         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
9902         putchar, puts, vfprintf, vprintf): Enable replacement also if
9903         GNULIB_STDIO_H_NONBLOCKING is 1.
9904         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
9905         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
9906         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
9907         CALL_WITH_SIGPIPE_EMULATION.
9908         (CALL_WITH_SIGPIPE_EMULATION): Use them.
9909         * m4/nonblocking.m4: New file.
9910         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
9911         for non-blocking I/O support.
9912         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9913         GNULIB_UNISTD_H_NONBLOCKING.
9914         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
9915         required for non-blocking I/O support.
9916         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
9917         * modules/nonblocking (Files): Add m4/nonblocking.m4,
9918         lib/stdio-write.c, m4/asm-underscore.m4.
9919         (Depends-on): Add stdio, unistd.
9920         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
9921         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
9922         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
9923         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
9924         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
9925         problem with non-blocking pipes.
9926         * doc/posix-functions/fputc.texi: Likewise.
9927         * doc/posix-functions/fputs.texi: Likewise.
9928         * doc/posix-functions/fwrite.texi: Likewise.
9929         * doc/posix-functions/printf.texi: Likewise.
9930         * doc/posix-functions/putc.texi: Likewise.
9931         * doc/posix-functions/putchar.texi: Likewise.
9932         * doc/posix-functions/puts.texi: Likewise.
9933         * doc/posix-functions/vfprintf.texi: Likewise.
9934         * doc/posix-functions/vprintf.texi: Likewise.
9935         * doc/posix-functions/write.texi: Likewise.
9936
9937 2011-04-10  Jim Meyering  <meyering@redhat.com>
9938
9939         maint.mk: prohibit doubled words
9940         Detect them also when they're separated by a newline.
9941         There are 3 ways to customize it:
9942           - disable the test on a per file basis, as usual with rules using
9943             $(VC_LIST_EXCEPT)
9944           - replace the default doubled-word-selecting regexp (affects all files)
9945           - ignore a particular file-vs-doubled-word match
9946         I nearly used that last one to ignore the "is is" match in
9947         coreutils' NEWS file, since the text was "ls -is is ..."
9948         To do that, I would have added this line to cfg.mk:
9949           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
9950         but it would have ignored any "is is" match in NEWS.
9951         Low probability, but still...
9952         Instead, I changed the text, slightly:
9953           -  ls -is is now consistent with ls -lis in ignoring values returned
9954           +  "ls -is" is now consistent with ls -lis in ignoring values returned
9955         * top/maint.mk (prohibit_double_word_RE_): Provide default.
9956         (prohibit_doubled_word_): Define.
9957         (sc_prohibit_doubled_word): New rule.
9958         (sc_prohibit_the_the): Remove.  Subsumed by the above.
9959
9960 2011-04-10  Jim Meyering  <meyering@redhat.com>
9961
9962         maint: fix doubled-word typo in comment
9963         * m4/gethostname.m4: s/is is/it is/
9964         * m4/getdomainname.m4: Likewise.
9965
9966 2011-04-10  Jim Meyering  <meyering@redhat.com>
9967
9968         maint: remove doubled word: s/it it/it/
9969         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
9970
9971 2011-04-10  Jim Meyering  <meyering@redhat.com>
9972
9973         maint.mk: remove useless semicolon and backslash
9974         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
9975         semicolon and backslash.
9976
9977 2011-04-10  Bruno Haible  <bruno@clisp.org>
9978
9979         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
9980         * modules/stdint-tests (Depends-on): Add wchar.
9981
9982 2011-04-10  Jim Meyering  <meyering@redhat.com>
9983
9984         maint: remove doubled words in comments, e.g., s/a a/a/
9985         * lib/strptime.c (day_of_the_week): s/the the/the/
9986         * tests/test-chown.h (test_chown): s/a a/a/
9987
9988         test-chown.h: correct a cast
9989         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
9990         when the destination is a stat.st_gid.
9991
9992 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
9993
9994         getaddrinfo: Fix test for sa_len member.
9995         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
9996         include <sys/types.h> before <sys/socket.h>.
9997
9998 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9999
10000         maint: change "can not" to "cannot"
10001         * doc/posix-functions/iconv.texi (iconv): This one crossed line
10002         boundaries.
10003
10004 2011-04-09  Jim Meyering  <meyering@redhat.com>
10005
10006         maint: change "a a" to "a"
10007         * tests/test-lchown.h (test_lchown): s/a a/a/
10008
10009         maint.mk: prohibit \<the the\>
10010         * top/maint.mk (sc_prohibit_the_the): New rule.
10011
10012         maint: fix "the the" in comment
10013         * lib/count-one-bits.h: s/the the/the/
10014
10015         maint: change "can not" to "cannot"
10016         But do not change the occurrences in maintain.texi or in
10017         build-aux/po/Makefile.in.in, which I presume comes from gettext.
10018         * doc/gnulib-tool.texi: s/can not/cannot/
10019         * doc/posix-functions/accept.texi (accept): Likewise.
10020         * doc/posix-functions/socket.texi (socket): Likewise.
10021         * lib/mbrtowc.c: Likewise.
10022
10023         maint.mk: prohibit use of "can not"
10024         * top/maint.mk (sc_prohibit_can_not): New rule.
10025         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
10026
10027 2011-04-09  Bruno Haible  <bruno@clisp.org>
10028
10029         careadlinkat: Guard against misuse of careadlinkatcwd.
10030         * lib/careadlinkat.c: Include <stdlib.h>.
10031         (careadlinkatcwd): Check that the fd argument is as expected.
10032
10033 2011-04-09  Bruno Haible  <bruno@clisp.org>
10034
10035         careadlinkat: Use common coding style.
10036         * lib/careadlinkat.c: Move gnulib includes after system includes.
10037
10038 2011-04-09  Bruno Haible  <bruno@clisp.org>
10039
10040         careadlinkat: Clarify specification.
10041         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
10042         (careadlinkatcwd): Add comment.
10043         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
10044
10045 2011-04-09  Bruno Haible  <bruno@clisp.org>
10046
10047         areadlinkat: Avoid link error on many platforms.
10048         * modules/areadlinkat (Depends-on): Add areadlink.
10049
10050 2011-04-09  Bruno Haible  <bruno@clisp.org>
10051
10052         allocator, careadlinkat: Fix double-inclusion guard.
10053         * lib/allocator.h: Fix double-inclusion guard.
10054         * lib/careadlinkat.h: Likewise.
10055
10056 2011-04-09  Bruno Haible  <bruno@clisp.org>
10057
10058         relocatable-prog-wrapper: Update after module 'areadlink' changed.
10059         * lib/relocwrapper.c: Update dependencies hierarchy.
10060         * build-aux/install-reloc: Update list of files to be compiled.
10061         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
10062         lib/allocator.[hc].
10063
10064 2011-04-08  Eric Blake  <eblake@redhat.com>
10065
10066         strftime: silence gnulib-tool warning
10067         * modules/strftime-tests (Depends-on): Drop automatic dependency.
10068
10069 2011-04-08  Bruno Haible  <bruno@clisp.org>
10070
10071         verify: Fix syntax error with GCC 4.6 in C++ mode.
10072         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
10073         (HAVE_STATIC_ASSERT): New macro.
10074         (verify_true, verify): Use 'static_assert' if it is supported and
10075         '_Static_assert' is not supported.
10076
10077 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
10078
10079         allocator: New module.
10080         * modules/allocator, lib/allocator.c: New files.
10081         * lib/allocator.h (stdlib_allocator): New decl.
10082         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
10083         Remove.  Do not include <stdlib.h>.
10084         (careadlinkat): Use stdlib_allocator instead of rolling our own.
10085         * modules/careadlinkat (Files): Remove lib/allocator.h.
10086         (Depends-on): Add allocator.
10087
10088         stdlib: let modules use system malloc, realloc
10089         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
10090         if !_GL_USE_STDLIB_ALLOC.
10091         (malloc, realloc): Limit this change to a smaller scope.
10092
10093         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
10094         (malloc, realloc): Don't #undef; no longer needed.
10095         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
10096         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
10097         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
10098         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
10099         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
10100         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
10101         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
10102         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
10103
10104         careadlinkat: rename members to avoid problem
10105         * lib/allocator.h (struct allocator): Rename members from
10106         malloc/realloc to allocate/reallocate, to avoid problems if malloc
10107         and realloc are #define'd.  Reported by Eric Blake in
10108         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
10109         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
10110
10111 2011-04-08  Eric Blake  <eblake@redhat.com>
10112
10113         nonblocking: reduce dependency
10114         * tests/test-nonblocking.c: Only test sockets when in use.
10115         * modules/nonblocking-tests (Depends-on): Drop socket.
10116         (Makefile.am): Link even if sockets are not present.
10117         * modules/pipe2-tests (Makefile.am): Likewise.
10118         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
10119
10120         pipe2: fix O_NONBLOCK support on mingw
10121         * modules/pipe2 (Depends-on): Add nonblocking.
10122         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
10123         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
10124         * tests/test-nonblocking.c (main): Likewise.
10125         * modules/pipe2-tests (Makefile.am): Avoid link failure.
10126
10127         fcntl-h: fix O_ACCMODE on cygwin
10128         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
10129         * lib/fcntl.in.h (O_ACCMODE): Fix it.
10130
10131         pipe-filter: drop O_NONBLOCK workarounds
10132         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
10133         * modules/pipe-filter-ii (Depends-on): Likewise.
10134         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
10135
10136         nonblocking: provide O_NONBLOCK for mingw
10137         * modules/nonblocking (Depends-on): Add open.
10138         (configure.ac): Set new witness macro.
10139         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
10140         * modules/fcntl-h (Makefile.am): Substitute it.
10141         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
10142         nonblocking module is in use.
10143         * lib/nonblocking.c: Adjust portability test.
10144         * lib/open.c (open): Don't let native open see gnulib flag.
10145         * tests/test-fcntl-h.c (main): Enhance test.
10146         * tests/test-open.h (test_open): Likewise.
10147         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
10148
10149         careadlinkat: fix compilation error on mingw
10150         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
10151         within struct allocator.
10152
10153 2011-04-06  Eric Blake  <eblake@redhat.com>
10154
10155         binary-io: relicense under LGPLv2+
10156         * modules/binary-io (License): Relax to LGPLv2+.
10157         Requested for libvirt, and required by pipe2.
10158
10159 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
10160
10161         verify: use _Static_assert if available
10162         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
10163         (verify_true, verify): Use it if available.  This generates better
10164         diagnostics with GCC 4.6.0 and later.
10165
10166 2011-04-05  Bruno Haible  <bruno@clisp.org>
10167
10168         Remove leftover generated .h files after config.status changed.
10169
10170         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
10171         GL_GENERATE_ALLOCA_H.
10172         * modules/alloca-opt (Makefile.am): Remove alloca.h if
10173         GL_GENERATE_ALLOCA_H evaluates to false.
10174
10175         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
10176         GL_GENERATE_ARGZ_H.
10177         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
10178         evaluates to false.
10179
10180         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
10181         GL_GENERATE_BYTESWAP_H.
10182         * modules/byteswap (Makefile.am): Remove byteswap.h if
10183         GL_GENERATE_BYTESWAP_H evaluates to false.
10184
10185         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
10186         GL_GENERATE_ERRNO_H.
10187         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
10188         evaluates to false.
10189
10190         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
10191         GL_GENERATE_FLOAT_H.
10192         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
10193         evaluates to false.
10194
10195         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
10196         GL_GENERATE_FNMATCH_H.
10197         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
10198         GL_GENERATE_FNMATCH_H evaluates to false.
10199
10200         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
10201         GL_GENERATE_GLOB_H.
10202         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
10203         evaluates to false.
10204
10205         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
10206         automake conditional GL_GENERATE_ICONV_H.
10207         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
10208         evaluates to false.
10209
10210         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
10211         GL_GENERATE_NETINET_IN_H.
10212         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
10213         GL_GENERATE_NETINET_IN_H evaluates to false.
10214
10215         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
10216         conditional GL_GENERATE_PTHREAD_H.
10217         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
10218         * modules/pthread (Makefile.am): Remove pthread.h if
10219         GL_GENERATE_PTHREAD_H evaluates to false.
10220
10221         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
10222         GL_GENERATE_SCHED_H.
10223         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
10224         evaluates to false.
10225
10226         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
10227         conditional GL_GENERATE_SELINUX_CONTEXT_H.
10228         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
10229         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
10230
10231         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
10232         GL_GENERATE_STDARG_H.
10233         * modules/stdarg (Makefile.am): Remove stdarg.h if
10234         GL_GENERATE_STDARG_H evaluates to false.
10235
10236         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
10237         GL_GENERATE_STDBOOL_H.
10238         * modules/stdbool (Makefile.am): Remove stdbool.h if
10239         GL_GENERATE_STDBOOL_H evaluates to false.
10240
10241         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
10242         conditional GL_GENERATE_STDDEF_H.
10243         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
10244         * modules/stddef (Makefile.am): Remove stddef.h if
10245         GL_GENERATE_STDDEF_H evaluates to false.
10246
10247         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
10248         GL_GENERATE_STDINT_H.
10249         * modules/stdint (Makefile.am): Remove stdint.h if
10250         GL_GENERATE_STDINT_H evaluates to false.
10251
10252         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
10253         GL_GENERATE_SYSEXITS_H.
10254         * modules/sysexits (Makefile.am): Remove sysexits.h if
10255         GL_GENERATE_SYSEXITS_H evaluates to false.
10256
10257         Reported by Karl Berry and Ralf Wildenhues.
10258
10259 2011-04-05  Bruno Haible  <bruno@clisp.org>
10260
10261         Ensure to rebuild generated .h files when config.status has changed.
10262         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
10263         config.status.
10264         * modules/ctype (Makefile.am): Likewise.
10265         * modules/dirent (Makefile.am): Likewise.
10266         * modules/errno (Makefile.am): Likewise.
10267         * modules/fcntl-h (Makefile.am): Likewise.
10268         * modules/float (Makefile.am): Likewise.
10269         * modules/getopt-posix (Makefile.am): Likewise.
10270         * modules/glob (Makefile.am): Likewise.
10271         * modules/iconv-h (Makefile.am): Likewise.
10272         * modules/inttypes (Makefile.am): Likewise.
10273         * modules/langinfo (Makefile.am): Likewise.
10274         * modules/locale (Makefile.am): Likewise.
10275         * modules/math (Makefile.am): Likewise.
10276         * modules/netdb (Makefile.am): Likewise.
10277         * modules/netinet_in (Makefile.am): Likewise.
10278         * modules/poll-h (Makefile.am): Likewise.
10279         * modules/pthread (Makefile.am): Likewise.
10280         * modules/pty (Makefile.am): Likewise.
10281         * modules/sched (Makefile.am): Likewise.
10282         * modules/search (Makefile.am): Likewise.
10283         * modules/selinux-h (Makefile.am): Likewise.
10284         * modules/signal (Makefile.am): Likewise.
10285         * modules/spawn (Makefile.am): Likewise.
10286         * modules/stdarg (Makefile.am): Likewise.
10287         * modules/stdbool (Makefile.am): Likewise.
10288         * modules/stddef (Makefile.am): Likewise.
10289         * modules/stdint (Makefile.am): Likewise.
10290         * modules/stdio (Makefile.am): Likewise.
10291         * modules/stdlib (Makefile.am): Likewise.
10292         * modules/string (Makefile.am): Likewise.
10293         * modules/strings (Makefile.am): Likewise.
10294         * modules/sys_file (Makefile.am): Likewise.
10295         * modules/sys_ioctl (Makefile.am): Likewise.
10296         * modules/sys_select (Makefile.am): Likewise.
10297         * modules/sys_socket (Makefile.am): Likewise.
10298         * modules/sys_stat (Makefile.am): Likewise.
10299         * modules/sys_time (Makefile.am): Likewise.
10300         * modules/sys_times (Makefile.am): Likewise.
10301         * modules/sys_utsname (Makefile.am): Likewise.
10302         * modules/sys_wait (Makefile.am): Likewise.
10303         * modules/sysexits (Makefile.am): Likewise.
10304         * modules/termios (Makefile.am): Likewise.
10305         * modules/time (Makefile.am): Likewise.
10306         * modules/unistd (Makefile.am): Likewise.
10307         * modules/wchar (Makefile.am): Likewise.
10308         * modules/wctype-h (Makefile.am): Likewise.
10309         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
10310
10311 2011-04-05  Bruno Haible  <bruno@clisp.org>
10312
10313         pipe2: Relicense under LGPLv2+.
10314         * modules/pipe2 (License): Change to LGPLv2+.
10315         Requested by Eric Blake, for libvirt.
10316
10317 2011-04-05  Bruce Korb  <bkorb@gnu.org>
10318
10319         bootstrap: compute gnulib_extra_files after updating build_aux
10320         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
10321         change build_aux or also supply gnulib_extra_files.  Handle correctly.
10322
10323 2011-04-05  Eric Blake  <eblake@redhat.com>
10324
10325         bootstrap: preserve git whitelist item sorting
10326         * build-aux/bootstrap (sort_patterns): New function.
10327         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
10328
10329 2011-04-05  Simon Josefsson  <simon@josefsson.org>
10330
10331         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
10332         sc_space_tab check.
10333
10334 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
10335
10336         areadlink, areadlinkat: rewrite in terms of careadlinkat
10337         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
10338         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
10339         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
10340         (malloc, realloc): Remove #undefs.
10341         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
10342         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
10343         readlink, ssize_t, stdint, unistd.
10344         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
10345         areadlink, stdint.
10346
10347         careadlinkat: new module
10348         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
10349         * modules/careadlinkat: New files, written by me with
10350         a review and feedback from Ben Pfaff in
10351         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
10352
10353 2011-04-01  Bruno Haible  <bruno@clisp.org>
10354
10355         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
10356         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
10357         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
10358         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
10359         Reported by Bruce Korb <bruce.korb@gmail.com>.
10360
10361 2011-04-01  Bruno Haible  <bruno@clisp.org>
10362
10363         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
10364         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
10365         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
10366         * modules/wcpcpy (Depends-on): Add extensions.
10367         * modules/wcpncpy (Depends-on): Likewise.
10368         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
10369         systems.
10370         * doc/posix-functions/wcpncpy.texi: Likewise.
10371         * doc/posix-functions/wcwidth.texi: Likewise.
10372
10373 2011-03-31  Eric Blake  <eblake@redhat.com>
10374
10375         nonblocking: fix mingw test failures
10376         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
10377         non-blocking flag on regular file.
10378         (get_nonblocking_flag): Set errno on invalid fd.
10379         * tests/test-nonblocking.c (main): Avoid test failure on
10380         directories if fchdir is not active.
10381         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
10382
10383 2011-03-31  Bruno Haible  <bruno@clisp.org>
10384
10385         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
10386         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
10387         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
10388         Reported by Simon Josefsson <simon@josefsson.org>.
10389
10390 2011-03-31  Bruno Haible  <bruno@clisp.org>
10391         and Eric Blake  <eblake@redhat.com>
10392
10393         nonblocking: new module
10394         * modules/nonblocking: New module.
10395         * modules/nonblocking-tests: Likewise.
10396         * lib/nonblocking.h: New file.
10397         * lib/nonblocking.c: Likewise.
10398         * tests/test-nonblocking.c: New test.
10399         * lib/ioctl.c (ioctl) [mingw]: Update comment.
10400
10401 2011-03-30  Bruno Haible  <bruno@clisp.org>
10402
10403         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
10404         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
10405         instead of 'printf' format for GCC >= 4.4.
10406         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
10407         (fprintf, printf, vfprintf, vprintf): Declare with
10408         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
10409         the system's vfprintf() function.
10410         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
10411
10412 2011-03-30  Eric Blake  <eblake@redhat.com>
10413
10414         passfd: fix scoping bug
10415         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
10416         before sendmsg/recvmsg.
10417
10418         passfd: standardize coding conventions
10419         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
10420         can be learned at compile time.
10421         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
10422         ifdefs.
10423         (sendfd, recvfd): Follow gnulib code conventions.
10424
10425         passfd: fix incorrect sendmsg arguments
10426         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
10427         incorrect msg_controllen value.
10428         * modules/passfd-tests (Depends-on): Check for alarm.
10429         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
10430         Reported by Bastien ROUCARIES.
10431
10432 2011-03-30  Bruno Haible  <bruno@clisp.org>
10433
10434         c-strcasestr: Relicense under LGPLv2+.
10435         * modules/c-strcasestr (License): Change to LGPLv2+.
10436         Requested by Eric Blake, for libvirt.
10437
10438 2011-03-30  Simon Josefsson  <simon@josefsson.org>
10439
10440         * users.txt: Add libidn2.  Fix libtasn1 link.
10441
10442 2011-03-30  Jim Meyering  <meyering@redhat.com>
10443
10444         tests: readlink* ("",... fails with EINVAL on newer kernels
10445         readlink and readlinkat have typically failed with ENOENT for
10446         the invalid, empty file name,  "".  However, with the advent
10447         of linux-2.6.39, they fail with EINVAL.
10448         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
10449         when operating on the empty file name.
10450         * tests/test-readlink.h (test_readlink): Likewise.
10451
10452 2011-03-29  Bruno Haible  <bruno@clisp.org>
10453
10454         Relicense some modules under LGPLv2+, for libidn2.
10455         * modules/array-mergesort (License): Change to LGPLv2+.
10456         * modules/c-strcaseeq (License): Likewise.
10457         * modules/striconveh (License): Likewise.
10458         * modules/striconveha (License): Likewise.
10459         * modules/uniconv/base (License): Likewise.
10460         * modules/uniconv/u8-conv-from-enc (License): Likewise.
10461         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
10462         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
10463         * modules/unictype/base (License): Likewise.
10464         * modules/unictype/bidiclass-of (License): Likewise.
10465         * modules/unictype/category-M (License): Likewise.
10466         * modules/unictype/category-none (License): Likewise.
10467         * modules/unictype/category-of (License): Likewise.
10468         * modules/unictype/category-test (License): Likewise.
10469         * modules/unictype/category-test-withtable (License): Likewise.
10470         * modules/unictype/combining-class (License): Likewise.
10471         * modules/unictype/joiningtype-of (License): Likewise.
10472         * modules/unictype/scripts (License): Likewise.
10473         * modules/uninorm/base (License): Likewise.
10474         * modules/uninorm/canonical-decomposition (License): Likewise.
10475         * modules/uninorm/composition (License): Likewise.
10476         * modules/uninorm/decompose-internal (License): Likewise.
10477         * modules/uninorm/decomposition-table (License): Likewise.
10478         * modules/uninorm/nfc (License): Likewise.
10479         * modules/uninorm/nfd (License): Likewise.
10480         * modules/uninorm/u32-normalize (License): Likewise.
10481         * modules/unistr/base (License): Likewise.
10482         * modules/unistr/u32-cpy (License): Likewise.
10483         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
10484         * modules/unistr/u32-to-u8 (License): Likewise.
10485         * modules/unistr/u32-uctomb (License): Likewise.
10486         * modules/unistr/u8-check (License): Likewise.
10487         * modules/unistr/u8-mblen (License): Likewise.
10488         * modules/unistr/u8-mbtouc (License): Likewise.
10489         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
10490         * modules/unistr/u8-mbtoucr (License): Likewise.
10491         * modules/unistr/u8-prev (License): Likewise.
10492         * modules/unistr/u8-strlen (License): Likewise.
10493         * modules/unistr/u8-to-u32 (License): Likewise.
10494         * modules/unistr/u8-uctomb (License): Likewise.
10495         * modules/unitypes (License): Likewise.
10496         Requested by Simon Josefsson.
10497
10498 2011-03-29  Simon Josefsson  <simon@josefsson.org>
10499
10500         lib-symbol-visibility: Add a notice.
10501         * modules/lib-symbol-visibility (Notice): New field.
10502
10503 2011-03-29  Bruno Haible  <bruno@clisp.org>
10504
10505         getaddrinfo: Doc fix.
10506         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
10507         section "fixed in Gnulib".
10508
10509 2011-03-28  Simon Josefsson  <simon@josefsson.org>
10510
10511         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
10512         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
10513
10514 2011-03-26  Bruno Haible  <bruno@clisp.org>
10515
10516         unictype/property-byname: Reduce the number of load-time relocations.
10517         * lib/unictype/pr_byname.c: Include <stdlib.h>.
10518         (UC_PROPERTY_INDEX_*): New enumeration values.
10519         (uc_property_byname): Convert an index from the lookup table to an
10520         uc_property_t.
10521         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
10522         values.
10523
10524 2011-03-26  Bruno Haible  <bruno@clisp.org>
10525
10526         unictype/property-byname: Allow omitted word separators and aliases.
10527         * lib/unictype/pr_byname.gperf: Add property names without word
10528         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
10529         for 'space'.
10530
10531 2011-03-26  Bruno Haible  <bruno@clisp.org>
10532
10533         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
10534         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
10535         also hyphens to space.
10536         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
10537         without spaces.
10538         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
10539
10540 2011-03-26  Bruno Haible  <bruno@clisp.org>
10541
10542         unictype/joiningtype-byname: Recognize long names as well.
10543         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
10544         a long name.
10545         * lib/unictype/joiningtype_byname.c: Include <string.h>,
10546         unictype/joiningtype_byname.h.
10547         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
10548         * lib/unictype/joiningtype_byname.gperf: New file.
10549         * modules/unictype/joiningtype-byname (Files): Add
10550         lib/unictype/joiningtype_byname.gperf.
10551         (Depends-on): Add gperf.
10552         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
10553         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
10554         long names.
10555
10556         Tests for module 'unictype/joiningtype-longname'.
10557         * modules/unictype/joiningtype-longname-tests: New file.
10558         * tests/unictype/test-joiningtype_longname.c: New file.
10559
10560         New module 'unictype/joiningtype-longname'.
10561         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
10562         * lib/unictype/joiningtype_longname.c: New file.
10563         * modules/unictype/joiningtype-longname: New file.
10564         * modules/unictype/joiningtype-all (Depends-on): Add
10565         unictype/joiningtype-longname.
10566
10567 2011-03-26  Bruno Haible  <bruno@clisp.org>
10568
10569         unictype/bidiclass-byname: Recognize long names as well.
10570         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
10571         name.
10572         * lib/unictype/bidi_byname.c: Include <string.h>,
10573         unictype/bidi_byname.h.
10574         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
10575         * lib/unictype/bidi_byname.gperf: New file.
10576         * modules/unictype/bidiclass-byname (Files): Add
10577         lib/unictype/bidi_byname.gperf.
10578         (Depends-on): Add gperf.
10579         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
10580         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
10581         long names.
10582
10583         Tests for module 'unictype/bidiclass-longname'.
10584         * modules/unictype/bidiclass-longname-tests: New file.
10585         * tests/unictype/test-bidi_longname.c: New file.
10586
10587         New module 'unictype/bidiclass-longname'.
10588         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
10589         * lib/unictype/bidi_longname.c: New file.
10590         * modules/unictype/bidiclass-longname: New file.
10591         * modules/unictype/bidiclass-all (Depends-on): Add
10592         unictype/bidiclass-longname.
10593
10594 2011-03-26  Bruno Haible  <bruno@clisp.org>
10595
10596         unictype/bidi*: Rename modules.
10597         * modules/unictype/bidiclass-all: Renamed from
10598         modules/unictype/bidicategory-all.
10599         * modules/unictype/bidiclass-name: Renamed from
10600         modules/unictype/bidiclass-name.
10601         (Description): Update.
10602         * modules/unictype/bidiclass-name-tests: Renamed from
10603         modules/unictype/bidicategory-name-tests.
10604         * modules/unictype/bidiclass-byname: Renamed from
10605         modules/unictype/bidicategory-byname.
10606         (Description): Update.
10607         * modules/unictype/bidiclass-byname-tests: Renamed from
10608         modules/unictype/bidicategory-byname-tests.
10609         * modules/unictype/bidiclass-of: Renamed from
10610         modules/unictype/bidicategory-of.
10611         (Description): Update.
10612         * modules/unictype/bidiclass-of-tests: Renamed from
10613         modules/unictype/bidicategory-of-tests.
10614         * modules/unictype/bidiclass-test: Renamed from
10615         modules/unictype/bidicategory-test.
10616         (Description): Update.
10617         * modules/unictype/bidiclass-test-tests: Renamed from
10618         modules/unictype/bidicategory-test-tests.
10619         * modules/unictype/bidicategory-all: New file, a simple redirection.
10620         * modules/unictype/bidicategory-name: Likewise.
10621         * modules/unictype/bidicategory-byname: Likewise.
10622         * modules/unictype/bidicategory-of: Likewise.
10623         * modules/unictype/bidicategory-test: Likewise.
10624         * modules/unictype/property-bidi-* (Dependencies): Update.
10625         * lib/unictype/bidi_*.c: Update comment.
10626
10627 2011-03-26  Bruno Haible  <bruno@clisp.org>
10628
10629         unictype/bidi*: Rename functions, part 2.
10630         * modules/unictype/bidicategory-name (configure.ac): Update required
10631         libunistring version.
10632         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
10633
10634 2011-03-25  Bruno Haible  <bruno@clisp.org>
10635
10636         New module 'unictype/combining-class-all'.
10637         * modules/unictype/combining-class-all: New file.
10638
10639         Tests for module 'unictype/combining-class-byname'.
10640         * modules/unictype/combining-class-byname-tests: New file.
10641         * tests/unictype/test-combiningclass_byname.c: New file.
10642
10643         New module 'unictype/combining-class-byname'.
10644         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
10645         * lib/unictype/combiningclass_byname.c: New file.
10646         * lib/unictype/combiningclass_byname.gperf: New file.
10647         * modules/unictype/combining-class-byname: New file.
10648
10649         Tests for module 'unictype/combining-class-longname'.
10650         * modules/unictype/combining-class-longname-tests: New file.
10651         * tests/unictype/test-combiningclass_longname.c: New file.
10652
10653         New module 'unictype/combining-class-longname'.
10654         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
10655         * lib/unictype/combiningclass_longname.c: New file.
10656         * modules/unictype/combining-class-longname: New file.
10657
10658         Tests for module 'unictype/combining-class-name'.
10659         * modules/unictype/combining-class-name-tests: New file.
10660         * tests/unictype/test-combiningclass_name.c: New file.
10661
10662         New module 'unictype/combining-class-name'.
10663         * lib/unictype.in.h (uc_combining_class_name): New declaration.
10664         * lib/unictype/combiningclass_name.c: New file.
10665         * modules/unictype/combining-class-name: New file.
10666
10667 2011-03-25  Bruno Haible  <bruno@clisp.org>
10668
10669         unictype/combining-class: Rename source files.
10670         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
10671         of unictype/combining.h.
10672         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
10673         Update.
10674         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
10675         * modules/unictype/combining-class (Description): Fix.
10676         (Files, Makefile.am): Update.
10677         * tests/unictype/test-combiningclass.c: Renamed from
10678         tests/unictype/test-combining.c.
10679         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
10680
10681 2011-03-25  Bruno Haible  <bruno@clisp.org>
10682
10683         unictype: Update list of canonical combining classes.
10684         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
10685
10686 2011-03-25  Bruno Haible  <bruno@clisp.org>
10687
10688         unictype/category-byname: Recognize long names as well.
10689         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
10690         a long name.
10691         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
10692         unictype/categ_byname.h.
10693         (UC_CATEGORY_INDEX_*): New enumeration values.
10694         (uc_general_category_byname): Use uc_general_category_lookup and
10695         convert from index to value.
10696         * lib/unictype/categ_byname.gperf: New file.
10697         * modules/unictype/category-byname (Files): Add
10698         lib/unictype/categ_byname.gperf.
10699         (Depends-on): Add gperf.
10700         (Makefile.am): Add rule for generating unictype/categ_byname.h.
10701         * tests/unictype/test-categ_byname.c (main): Test the recognition of
10702         long names.
10703
10704         Tests for module 'unictype/category-longname'.
10705         * modules/unictype/category-longname-tests: New file.
10706         * tests/unictype/test-categ_longname.c: New file.
10707
10708         New module 'unictype/category-longname'.
10709         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
10710         * lib/unictype/categ_longname.c: New file.
10711         * modules/unictype/category-longname: New file.
10712         * modules/unictype/category-all (Depends-on): Add it.
10713
10714 2011-03-25  Bruno Haible  <bruno@clisp.org>
10715
10716         Tests for module 'unictype/category-LC'.
10717         * modules/unictype/category-LC-tests: New file.
10718         * tests/unictype/test-categ_LC.c: New file, automatically generated.
10719
10720         New module 'unictype/category-LC'.
10721         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
10722         (UC_CATEGORY_LC): New declaration.
10723         (UC_CASED_LETTER): New macro.
10724         * lib/gen-uni-tables.c (is_category_LC): New function.
10725         (output_categories): Also handle category LC.
10726         (UC_CATEGORY_MASK_LC): New enumeration value.
10727         (general_category_byname): Also handle category LC.
10728         * lib/unictype/categ_LC.c: New file.
10729         * lib/unictype/categ_LC.h: New file, automatically generated.
10730         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
10731         category LC.
10732         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
10733         * modules/unictype/category-LC: New file.
10734         * modules/unictype/category-byname (Depends-on): Add
10735         unictype/category-LC.
10736         * modules/unictype/category-all (Depends-on): Likewise.
10737
10738 2011-03-25  Eric Blake  <eblake@redhat.com>
10739
10740         xmalloc: revert yesterday's regression
10741         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
10742         realloc's underlying behavior (allowing allocation of zero-size
10743         objects, especially if malloc-gnu is also in use).
10744
10745 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
10746
10747         maint.mk: add missing version to VC-tag
10748         * top/maint.mk: git tag was missing actual tag name; add it.
10749
10750         valgrind: do leak checking, and exit with code 1 on error (not 0)
10751         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
10752         to VALGRIND.
10753
10754 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
10755
10756         posix-modules: say what it does.
10757         * posix-modules: Add a line to the --help output saying what it does.
10758
10759 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
10760
10761         xmalloc: Do not leak if underlying realloc is C99 compatible.
10762         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
10763         This avoids a leak on C99-based systems.  See
10764         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
10765
10766 2011-03-24  Eric Blake  <eblake@redhat.com>
10767
10768         realloc: document portability problem
10769         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
10770         passing 0 size to realloc.
10771
10772 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
10773
10774         doc: update users.txt
10775         * users.txt: Add cvsps, tmpwatch
10776
10777 2011-03-23  Matt Rice  <ratmice@gmail.com>
10778
10779         doc: update users.txt
10780         * users.txt: Add gdb.
10781
10782 2011-03-23  Jim Meyering  <meyering@redhat.com>
10783
10784         doc: update users.txt
10785         Looking through matches up to the following URL (there are still
10786         several more pages), I found several projects that use gnulib:
10787         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
10788         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
10789         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
10790
10791 2011-03-22  Bruno Haible  <bruno@clisp.org>
10792
10793         unictype/bidi*: Rename functions.
10794         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
10795         uc_bidi_class, uc_is_bidi_class): New declarations.
10796         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
10797         uc_bidi_category_byname.
10798         (uc_bidi_category_byname): New function.
10799         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
10800         u_bidi_category_name.
10801         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
10802         (uc_bidi_category_name): New function.
10803         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
10804         uc_bidi_category.
10805         (uc_bidi_category): New function.
10806         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
10807         uc_is_bidi_category. Invoke uc_bidi_class.
10808         (uc_is_bidi_category): New function.
10809         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
10810         instead of uc_bidi_category_byname.
10811         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
10812         instead of uc_bidi_category_name.
10813         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
10814         uc_bidi_category.
10815         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
10816         instead of uc_is_bidi_category.
10817
10818 2011-03-21  Bruno Haible  <bruno@clisp.org>
10819
10820         New module 'unictype/joininggroup-all'.
10821         * modules/unictype/joininggroup-all: New file.
10822
10823         Tests for module 'unictype/joininggroup-of'.
10824         * modules/unictype/joininggroup-of-tests: New file.
10825         * tests/unictype/test-joininggroup_of.c: New file.
10826         * tests/unictype/test-joininggroup_of.h: New file, automatically
10827         generated by gen-uni-tables.
10828
10829         New module 'unictype/joininggroup-of'.
10830         * modules/unictype/joininggroup-of: New file.
10831         * lib/unictype/joininggroup_of.c: New file.
10832         * lib/unictype/joininggroup_of.h: New file, automatically generated by
10833         gen-uni-tables.
10834
10835         Tests for module 'unictype/joininggroup-byname'.
10836         * modules/unictype/joininggroup-byname-tests: New file.
10837         * tests/unictype/test-joininggroup_byname.c: New file.
10838
10839         New module 'unictype/joininggroup-byname'.
10840         * modules/unictype/joininggroup-byname: New file.
10841         * lib/unictype/joininggroup_byname.c: New file.
10842         * lib/unictype/joininggroup_byname.gperf: New file.
10843
10844         Tests for module 'unictype/joininggroup-name'.
10845         * modules/unictype/joininggroup-name-tests: New file.
10846         * tests/unictype/test-joininggroup_name.c: New file.
10847
10848         New module 'unictype/joininggroup-name'.
10849         * modules/unictype/joininggroup-name: New file.
10850         * lib/unictype/joininggroup_name.c: New file.
10851         * lib/unictype/joininggroup_name.h: New file.
10852
10853         New module 'unictype/joiningtype-all'.
10854         * modules/unictype/joiningtype-all: New file.
10855
10856         Tests for module 'unictype/joiningtype-of'.
10857         * modules/unictype/joiningtype-of-tests: New file.
10858         * tests/unictype/test-joiningtype_of.c: New file.
10859         * tests/unictype/test-joiningtype_of.h: New file, automatically
10860         generated by gen-uni-tables.
10861
10862         New module 'unictype/joiningtype-of'.
10863         * modules/unictype/joiningtype-of: New file.
10864         * lib/unictype/joiningtype_of.c: New file.
10865         * lib/unictype/joiningtype_of.h: New file, automatically generated by
10866         gen-uni-tables.
10867
10868         Tests for module 'unictype/joiningtype-byname'.
10869         * modules/unictype/joiningtype-byname-tests: New file.
10870         * tests/unictype/test-joiningtype_byname.c: New file.
10871
10872         New module 'unictype/joiningtype-byname'.
10873         * modules/unictype/joiningtype-byname: New file.
10874         * lib/unictype/joiningtype_byname.c: New file.
10875
10876         Tests for module 'unictype/joiningtype-name'.
10877         * modules/unictype/joiningtype-name-tests: New file.
10878         * tests/unictype/test-joiningtype_name.c: New file.
10879
10880         New module 'unictype/joiningtype-name'.
10881         * modules/unictype/joiningtype-name: New file.
10882         * lib/unictype/joiningtype_name.c: New file.
10883
10884         unictype: Add support for Arabic shaping properties.
10885         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
10886         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
10887         declarations.
10888         (UC_JOINING_GROUP_*): New enumeration values.
10889         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
10890         declarations.
10891         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
10892         (unicode_joining_type): New variable.
10893         (UC_JOINING_GROUP_*): New enumeration values.
10894         (unicode_joining_group): New variable.
10895         (fill_arabicshaping, joining_type_as_c_identifier,
10896         output_joining_type_test, output_joining_type,
10897         joining_group_as_c_identifier, output_joining_group_test,
10898         output_joining_group): New functions.
10899         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
10900         fill_arabicshaping and output_joining_type_test, output_joining_type,
10901         output_joining_group_test, output_joining_group.
10902         Reported by Simon Josefsson.
10903
10904 2011-03-21  Jim Meyering  <meyering@redhat.com>
10905
10906         strftime: fix a bug in yesterday's change
10907         * lib/strftime.c (add): Accommodate width's initial value of -1.
10908         Otherwise, nstrftime would copy uninitialized data into
10909         the result buffer.
10910
10911 2011-03-21  Jim Meyering  <meyering@redhat.com>
10912
10913         tests: add strftime-tests module
10914         * tests/test-strftime.c: New file.
10915         * modules/strftime-tests: New module.
10916
10917 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
10918
10919         strftime: don't assume a byte count fits in 'int'
10920         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
10921         found this problem by static analysis, using gcc -Wstrict-overflow
10922         (GCC 4.5.2, x86-64).  This reported an optimization that depended
10923         on an integer overflow having undefined behavior, but it turns out
10924         that the argument is a size, which might not fit in 'int' anyway,
10925
10926 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
10927
10928         stdio: don't require ignore_value around fwrite
10929
10930         This patch works around libc bug 11959
10931         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
10932         Without this patch, applications must often write
10933         ignore_value (fwrite (...)) even though the ignore_value is
10934         not helpful here.  It's common to write many objects, using
10935         fwrite/printf/etc., and then use ferror to detect output error.
10936
10937         I considered making this patch optional, but decided against it,
10938         because libc is obviously being inconsistent here: there is no
10939         reason libc should insist that user code must inspect fwrite
10940         return's value without also insisting that it inspect printf's,
10941         putchar's, etc.  If user code wants to have a strict style where
10942         all these functions' values are checked (so that ferror need not
10943         be checked), we could add support for that style in a new gnulib
10944         module, but in the meantime it's better to be consistent and to
10945         support common usage.
10946
10947         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
10948         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
10949         that we are compiling in checking mode, and if not C++, and
10950         if not already wrapping fwrite for some other reason.
10951         (fwrite): #define to rpl_fwrite if the latter is defined.
10952
10953 2011-03-20  Bruno Haible  <bruno@clisp.org>
10954
10955         verror: Fix compilation error introduced on 2011-02-13.
10956         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
10957         instead of __attribute__.
10958         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10959
10960 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
10961             Bruno Haible  <bruno@clisp.org>
10962
10963         socklen: do not depend on sys_socket
10964         While trying to modify Emacs to use gnulib's socklen module,
10965         I discovered a circular dependency: socklen depends on sys_socket
10966         and vice versa.  Emacs can use socklen, but it does not need
10967         sys_socket because it has its own substitute for sys/socket.h.
10968         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
10969         gl_TYPE_SOCKLEN_T.
10970         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
10971         gl_PREREQ_SYS_H_SOCKET.
10972         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
10973         gl_PREREQ_SYS_H_SOCKET.
10974         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
10975         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
10976         * modules/socklen (Depends-on): Do not depend on sys_socket.
10977         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
10978
10979 2011-03-20  Jim Meyering  <meyering@redhat.com>
10980
10981         maint.mk: sort file names *after* new transformation
10982         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
10983         prefix would have led to an unwarranted failure in GNU parted.
10984         Sort after that transformation.
10985
10986 2011-03-19  Jim Meyering  <meyering@redhat.com>
10987
10988         maint.mk: fix po-file syntax-check rule
10989         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
10990         Patch by Bruno Haible.
10991
10992 2011-03-19  Bruno Haible  <bruno@clisp.org>
10993
10994         socklen: Update comment.
10995         * m4/socklen.m4: Update comment about platforms.
10996
10997 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
10998             Bruno Haible  <bruno@clisp.org>
10999
11000         inet_ntop, inet_pton: Simplify.
11001         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
11002         documented to provide socklen_t and we already depend on sys_socket.
11003         * modules/inet_pton (Depends-on): Likewise.
11004         * lib/arpa_inet.in.h: Adjust comment.
11005
11006 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
11007             Bruno Haible  <bruno@clisp.org>
11008
11009         netdb: Simplify.
11010         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
11011         documented to provide socklen_t and we already depend on sys_socket.
11012         * lib/netdb.in.h: Adjust comment.
11013
11014 2011-03-19  Bruno Haible  <bruno@clisp.org>
11015
11016         sys_socket, netdb: Document problem with socklen_t.
11017         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
11018         platforms.
11019         * doc/posix-headers/netdb.texi: Likewise.
11020
11021 2011-03-18  Eric Blake  <eblake@redhat.com>
11022
11023         maint.mk: let po check work in VPATH build
11024         * top/maint.mk (po_file): Allow cfg.mk override.
11025         (sc_po_check): Allow VPATH use.
11026         Reported by Jiri Denemark.
11027
11028 2011-03-16  Jim Meyering  <meyering@redhat.com>
11029
11030         maint.mk: allow fine-grained syntax-check exclusion via Make variables
11031         Before, you would have had to create one .x-sc_ file per rule in order
11032         to exempt offending files.  Now, you may instead use a Make variable --
11033         usually defined in cfg.mk -- whose name identifies the affected rule.
11034         * top/maint.mk (_sc_excl): Define.
11035         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
11036         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
11037
11038 2011-03-13  Bruno Haible  <bruno@clisp.org>
11039
11040         ignore-value tests: Avoid warnings.
11041         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
11042         empty for gcc < 3.4.
11043
11044 2011-03-13  Bruno Haible  <bruno@clisp.org>
11045
11046         passfd: Fix link error on Solaris.
11047         * modules/passfd (Description): Correct.
11048         (Depends-on): Add socketlib.
11049         (Link): New section.
11050         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
11051
11052 2011-03-13  Bruno Haible  <bruno@clisp.org>
11053
11054         passfd: Fix link error on AIX 5.2.
11055         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
11056
11057 2011-03-13  Bruno Haible  <bruno@clisp.org>
11058
11059         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
11060         * lib/sys_socket.in.h: Include <stddef.h>.
11061         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
11062         CMSG_FIRSTHDR. Remove unused variable.
11063
11064 2011-03-13  Bruno Haible  <bruno@clisp.org>
11065
11066         passfd: Fix compilation error on OpenBSD.
11067         * lib/passfd.c: Include <sys/uio.h>.
11068
11069 2011-03-13  Bruno Haible  <bruno@clisp.org>
11070
11071         passfd test: Fix warnings.
11072         * tests/test-passfd.c: Include <sys/wait.h>.
11073         (main): Fix typo.
11074
11075 2011-03-13  Bruno Haible  <bruno@clisp.org>
11076
11077         passfd module, part 4, tweaks.
11078         * tests/test-passfd.c: Reorder includes.
11079         (main): Fix perror and printf calls.
11080
11081 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
11082
11083         passfd module, part 4.
11084         * modules/passfd-tests: New file.
11085         * tests/test-passfd.c: New file.
11086
11087 2011-03-13  Jim Meyering  <meyering@redhat.com>
11088
11089         Makefile: rely on GNU make; derive syntax-check rule names
11090         Rather than requiring that each sc_ rule be listed as a dependent
11091         of "check", use features of GNU make to derive the list.
11092         * Makefile (syntax-check-rules): Define.
11093         (check): Depend on the new variable, not the hard-coded list.
11094
11095 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
11096             Bruno Haible  <bruno@clisp.org>
11097
11098         passfd module, part 3.
11099         * lib/passfd.h (recvfd): Add a flags argument.
11100         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
11101         (recvfd): Add a flags argument.
11102         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
11103         exists.
11104         * modules/passfd (Depends-on): Add cloexec.
11105         Suggested by Eric Blake.
11106
11107 2011-03-13  Bruno Haible  <bruno@clisp.org>
11108
11109         passfd module, part 2, tweaks.
11110         * modules/passfd (Files): Reorder.
11111         (Depends-on): Remove errno.
11112         (Include): Remove <sys/socket.h>, <sys/un.h>.
11113         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
11114         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
11115         specification header. Include <sys/socket.h> always. Don't include
11116         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
11117         (sendfd): Clarify that it sets errno when it fails.
11118         (recvfd): Fix specification.
11119
11120 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
11121
11122         passfd module, part 2.
11123         * modules/passfd: New file.
11124         * lib/passfd.h: New file.
11125         * lib/passfd.c: New file.
11126
11127 2011-03-12  Bruno Haible  <bruno@clisp.org>
11128
11129         wcswidth, mbswidth: Avoid integer overflow.
11130         * lib/wcswidth.c: Include <limits.h>.
11131         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
11132         * lib/mbswidth.c: Include <limits.h>.
11133         (mbsnwidth): Avoid 'int' overflow.
11134         Reported by Jim Meyering.
11135
11136 2011-03-12  Bruno Haible  <bruno@clisp.org>
11137
11138         futimens, utimensat: Avoid endless recursion on Solaris 10.
11139         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
11140         Solaris.
11141         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
11142         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
11143
11144 2011-03-11  Jim Meyering  <meyering@redhat.com>
11145
11146         maint.mk: relax a regexp to accommodate other formatting styles
11147         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
11148         between "ngettext" and the following "(".
11149
11150 2011-03-11  Pádraig Brady <P@draigBrady.com>
11151
11152         maint.mk: suppress a false positive warning
11153         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
11154         diagnostics are marked with ngettext.
11155
11156 2011-03-10  Eric Blake  <eblake@redhat.com>
11157
11158         wchar: add explicit dependencies, for Tru64
11159         * modules/mbmemcasecoll (Depends-on): Add wchar.
11160         * modules/mbtowc (Depends-on): Likewise.
11161         * modules/vasnprintf (Depends-on): Likewise.
11162         * modules/unistdio/u-printf-args (Depends-on): Likewise.
11163         * modules/wctomb (Depends-on): Likewise.
11164         Reported by Peter O'Gorman.
11165
11166 2011-03-08  Bruno Haible  <bruno@clisp.org>
11167
11168         passfd module, part 1, tweaks.
11169         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
11170         Improve indentation. Improve AC_MSG_CHECKING messages.
11171         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
11172         gl_SOCKET_FAMILIES.
11173
11174 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
11175
11176         passfd module, part 1.
11177         * m4/afunix.m4: New file.
11178         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
11179         sockets.
11180
11181 2011-03-08  Bruno Haible  <bruno@clisp.org>
11182
11183         regex-quote: New API.
11184         * lib/regex-quote.h: Include <stdbool.h>.
11185         (struct regex_quote_spec): New type.
11186         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
11187         New declarations.
11188         (regex_quote_length, regex_quote_copy, regex_quote): Take a
11189         'const struct regex_quote_spec *' argument.
11190         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
11191         (pcre_special): New constant.
11192         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
11193         New functions.
11194         (regex_quote_length, regex_quote_copy, regex_quote): Take a
11195         'const struct regex_quote_spec *' argument.
11196         * modules/regex-quote (Depends-on): Add stdbool.
11197         * tests/test-regex-quote.c (check): Update for new API. Add test for
11198         anchored results.
11199         * NEWS: Mention the API change.
11200         Reported by Reuben Thomas and Eric Blake.
11201
11202 2011-03-06  Bruno Haible  <bruno@clisp.org>
11203
11204         regex-quote: Fix creation of POSIX extended regular expressions.
11205         * lib/regex-quote.c (ere_special): Add grouping and alternation
11206         operators.
11207
11208 2011-03-05  Bruno Haible  <bruno@clisp.org>
11209
11210         doc: Improve doc regarding autopoint vs. gnulib.
11211         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
11212         disable autopoint while running autoreconf.
11213         Suggested by Ralf Wildenhues.
11214
11215 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11216
11217         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
11218         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
11219
11220 2011-03-03  Bruce Korb  <bkorb@gnu.org>
11221
11222         parse-duration: remove xalloc.h dependency
11223         * lib/parse-duration.c (parse_period): handle NULL return from
11224         strdup instead of calling xstrdup().
11225         * modules/parse-duration: remove "xalloc" dependency
11226
11227 2011-03-03  Matthew Booth  <mbooth@redhat.com>
11228
11229         bootstrap: honor m4_base when running aclocal
11230         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
11231
11232 2011-03-02  Jim Meyering  <meyering@redhat.com>
11233
11234         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
11235         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
11236         on request from Matt Booth.
11237
11238 2011-03-01  Eric Blake  <eblake@redhat.com>
11239
11240         test-link: work on Hurd
11241         * tests/test-link.h (test_link): Hurd rejects linking directories
11242         with EISDIR instead of the POSIX-mandated EPERM.
11243
11244 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
11245
11246         stdio: simplify by moving files to printf-posix, sigpipe
11247         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
11248         since this symbol is needed only if printf is replaced.
11249         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
11250         Require gl_ASM_SYMBOL_PREFIX.
11251         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
11252         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
11253         (Depends-on): Add 'raise'.
11254         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
11255         * modules/stdio (Files): Remove lib/stdio-write.c,
11256         m4/asm-underscore.m4.
11257         (Depends-on): Remove 'raise'.
11258
11259         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
11260         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
11261         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
11262         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
11263
11264 2011-02-28  Bruno Haible  <bruno@clisp.org>
11265
11266         localcharset: Assume ANSI C behaviour of free().
11267         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
11268         calling free().
11269         Suggested by Simon Josefsson <simon@josefsson.org>.
11270
11271 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
11272             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
11273             Bruno Haible  <bruno@clisp.org>  (tiny change)
11274
11275         On Cygwin, use /proc file system instead of win32 API.
11276         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
11277         Win32 file names.
11278         (DllMain): Simplify by removing Cygwin specific code.
11279         (find_shared_library_fullname): Use Linux specific implementation also
11280         for Cygwin.
11281         (get_shared_library_fullname): Update accordingly.
11282         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
11283         Win32 file names.
11284         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
11285         Cygwin specific code.
11286
11287 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
11288             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
11289
11290         Fix OpenMP flag detection for various Fortran compilers.
11291         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
11292         OpenMP-conditional compilation construct, to force compile
11293         failure with missing OpenMP flag.
11294         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
11295
11296 2011-02-25  Eric Blake  <eblake@redhat.com>
11297
11298         strstr: expand test coverage
11299         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
11300         compilation.
11301         * tests/test-memmem.c (main): Duplicate tests.
11302         * tests/test-strcasestr.c (main): Likewise.
11303         * tests/test-c-strcasestr.c (main): Likewise.
11304
11305 2011-02-25  Jim Meyering  <meyering@redhat.com>
11306
11307         maint.mk: detect missing-NL-at-EOF, too
11308         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
11309         it also detects when a file lacks a newline at EOF.
11310         (require_exactly_one_NL_at_EOF_): Renamed from
11311         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
11312         since people may well have .x-sc_... file names tied to the
11313         existing name.  Suggested by Eric Blake.
11314
11315 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
11316
11317         dirname: move m4/dos.m4 functionality into lib/dosname.h
11318
11319         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
11320         extracts symbols from it, puts them into config.h; but it's much
11321         easier to use the symbols directly.  filename.h already does this,
11322         but it disagrees with dos.m4 in some respects.  This patch
11323         introduces a different include file dosname.h that packages up
11324         dos.m4, and then later we can work on merging filename.h and
11325         dosname.h.  Applications that need only the easy-to-configure
11326         symbols should consider including dosname.h rather than dirname.h.
11327         * NEWS: Mention incompatible changes.
11328         * m4/dos.m4: Remove.
11329         * lib/dosname.h, modules/dosname: New files.
11330         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
11331         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
11332         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
11333         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
11334         Include dosname.h, not dirname.h.
11335         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
11336         Include dosname.h, for definitions of symbols like ISSLASH
11337         that used to be in config.h.
11338         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
11339         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
11340         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
11341         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
11342         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
11343         * modules/rmdir (Files): Likewise.
11344         * modules/stat (Files): Likewise.
11345         * modules/unlink (Files): Likewise.
11346         * modules/dirname-lgpl (Depends-on): Add dosname.
11347         * modules/lstat (Depends-on): Likewise.
11348         * modules/openat (Depends-on): Likewise.
11349         * modules/rmdir (Depends-on): Likewise.
11350         * modules/savewd (Depends-on): Likewise.
11351         * modules/stat (Depends-on): Likewise.
11352         * modules/unlink (Depends-on): Likewise.
11353         * modules/openat (Depends-on): Remove dirname-lgpl.
11354         * modules/savewd (Depends-on): Likewise.
11355         * tests/test-dirname.c: Do not use removed symbols like
11356         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
11357         the remaining symbols, e.g., ISSLASH ('\\').
11358
11359 2011-02-25  Eric Blake  <eblake@redhat.com>
11360
11361         strstr: revert patches that introduced bug and pessimization
11362         * lib/str-two-way.h: Add another reference.
11363         (two_way_short_needle, two_way_long_needle): Revert changes from
11364         2011-02-24; they pessimize search speed.
11365         (critical_factorization): Partially revert changes from
11366         2010-06-22; they violate the requirement that the left half of the
11367         needle be smaller than the period of the needle.
11368
11369 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
11370
11371         filenamecat: remove unnecessary dependency on dirname-lgpl
11372         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
11373         is no direct dependency, just an indirect one via filenamecat-lgpl.
11374
11375         remove: remove unnecessary use of m4/dos.m4
11376         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
11377         * modules/remove (FILES): Remove m4/dos.m4.
11378
11379         * lib/openat-proc.c: Don't include dirname.h; not needed.
11380
11381         backupfile: remove unnecessary use of m4/dos.m4
11382         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
11383         of its symbols are used by the backupfile code.  backupfile.c does
11384         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
11385         for the rare case of programs that want all their backup file
11386         names to live within 8+3 limits, and dos.m4 doesn't address that.
11387         * modules/backupfile (Files): Remove m4/dos.m4.
11388
11389 2011-02-24  Jim Meyering  <meyering@redhat.com>
11390
11391         strstr: fix a bug whereby strstr would mistakenly return NULL
11392         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
11393         in period calculation.
11394         (two_way_long_needle): Likewise.
11395         The original problem was reported by Mike Stump in
11396         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
11397         Ralf Wildenhues provided the short needle and haystack.
11398         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
11399         Add a more involved test to trigger the bug in two_way_long_needle.
11400
11401 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
11402
11403         gnulib-tool: remove use of bold display in help screen
11404         * gnulib-tool (func_usage): Do not use bold display anymore in the
11405         help screen.  That was just meant to be a temporary emphasis for a
11406         backward-incompatible change.
11407
11408 2011-02-23  Bruno Haible  <bruno@clisp.org>
11409
11410         Fix misindentation of preprocessor directives.
11411         * lib/argp-namefrob.h: Reindent preprocessor directives.
11412         * lib/getopt_int.h (struct _getopt_data): Likewise.
11413         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
11414         * lib/vasnprintf.c (decode_long_double): Likewise.
11415         * tests/test-argmatch.c: Insert blank lines, for clarity.
11416         * tests/test-exclude.c: Likewise.
11417
11418 2011-02-22  Bruno Haible  <bruno@clisp.org>
11419
11420         ioctl: Fix for MacOS X in 64-bit mode.
11421         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
11422         value.
11423         Suggested by Eric Blake.
11424         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
11425
11426 2011-02-22  Jim Meyering  <meyering@redhat.com>
11427
11428         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
11429         * Makefile (sc_cpp_indent_check): Don't limit the check to files
11430         in lib/.
11431
11432 2011-02-22  Eric Blake  <eblake@redhat.com>
11433
11434         maint: avoid any CDPATH issue
11435         * Makefile (sc_cpp_indent_check): Anchor cd argument.
11436
11437         maint: adjust cpp indentation for my modules, as well
11438         * Makefile (sc_cpp_indent_check): Add my name.
11439         * lib/fbufmode.c: Filter through cppi.
11440         * lib/fpurge.c: Likewise.
11441         * lib/freadable.c: Likewise.
11442         * lib/freading.c: Likewise.
11443         * lib/fwritable.c: Likewise.
11444         * lib/fwriting.c: Likewise.
11445         * lib/sigaction.c: Likewise.
11446
11447 2011-02-22  Jim Meyering  <meyering@redhat.com>
11448
11449         maint: adjust cpp indentation to reflect nesting depth
11450         I.e., in a block of code that begins with an unnested "#if",
11451         put one space between the "#" in column 1 and following token.
11452         For example,
11453         -#include <sys/vfs.h>
11454         +# include <sys/vfs.h>
11455         Do this only in .c files that are part of a module I maintain.
11456         * lib/linkat.c: Filter through cppi.
11457         * lib/nanosleep.c: Likewise.
11458         * lib/openat.c: Likewise.
11459         * lib/openat-die.c: Likewise.
11460         * lib/dup3.c: Likewise.
11461         * lib/fchownat.c: Likewise.
11462         * lib/flock.c: Likewise.
11463         * lib/fsync.c: Likewise.
11464         * lib/fts.c: Likewise.
11465         * lib/getpass.c: Likewise.
11466         * lib/gettimeofday.c: Likewise.
11467         * lib/userspec.c: Likewise.
11468         * Makefile (sc_cpp_indent_check): New rule, to check this.
11469
11470 2011-02-22  Bruno Haible  <bruno@clisp.org>
11471
11472         New module 'wctomb'.
11473         * lib/stdlib.in.h (wctomb): New declaration.
11474         * lib/wctomb.c: New file.
11475         * lib/wctomb-impl.h: New file.
11476         * m4/wctomb.m4: New file.
11477         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
11478         REPLACE_WCTOMB.
11479         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
11480         REPLACE_WCTOMB.
11481         * modules/wctomb: New file.
11482         * tests/test-stdlib-c++.cc: Test signature of wctomb.
11483         * doc/posix-functions/wctomb.texi: Mention the new module.
11484         * modules/wctob (Depends-on): Add wctomb.
11485
11486 2011-02-22  Bruno Haible  <bruno@clisp.org>
11487
11488         New module 'mbtowc'.
11489         * lib/stdlib.in.h (mbtowc): New declaration.
11490         * lib/mbtowc.c: New file.
11491         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
11492         * m4/mbtowc.m4: New file.
11493         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
11494         REPLACE_MBTOWC.
11495         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
11496         REPLACE_MBTOWC.
11497         * modules/mbtowc: New file.
11498         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
11499         * doc/posix-functions/mbtowc.texi: Mention the new module.
11500         * modules/btowc (Depends-on): Add mbtowc.
11501
11502 2011-02-22  Bruno Haible  <bruno@clisp.org>
11503
11504         wcrtomb: Add more tests for native Windows platforms.
11505         * tests/test-wcrtomb-w32-1.sh: New file.
11506         * tests/test-wcrtomb-w32-2.sh: New file.
11507         * tests/test-wcrtomb-w32-3.sh: New file.
11508         * tests/test-wcrtomb-w32-4.sh: New file.
11509         * tests/test-wcrtomb-w32-5.sh: New file.
11510         * tests/test-wcrtomb-w32.c: New file.
11511         * modules/wcrtomb-tests (Files): Add them.
11512         (Makefile.am): Arrange to run these tests.
11513         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
11514         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
11515
11516 2011-02-20  Bruno Haible  <bruno@clisp.org>
11517
11518         wcrtomb: Enhance test.
11519         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
11520
11521 2011-02-20  Bruno Haible  <bruno@clisp.org>
11522
11523         mbrtowc: Tiny optimization.
11524         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
11525
11526 2011-02-20  Jim Meyering  <meyering@redhat.com>
11527
11528         test-exclude.c: remove unmatched #endif
11529         * tests/test-exclude.c: Remove stray #endif, left over from
11530         the change of a week ago.
11531
11532 2011-02-19  Jim Meyering  <meyering@redhat.com>
11533
11534         git-version-gen: skip "-dirty" check when appropriate
11535         * build-aux/git-version-gen: Don't run any git commands when the
11536         version string comes from .tarball-version.  Prior to this, we
11537         would run git update-index --refresh even from a just-unpacked
11538         tarball directory, and that could affect a .git/ directory in a
11539         parent of the build directory.  Reported by Mike Frysinger.
11540
11541 2011-02-19  Bruno Haible  <bruno@clisp.org>
11542
11543         unictype/property-byname: Reduce the size of the 'data' segment.
11544         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
11545
11546 2011-02-19  Bruno Haible  <bruno@clisp.org>
11547
11548         unictype/scripts: Reduce the size of the 'data' segment.
11549         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
11550         '%pic'.
11551         * lib/unictype/scripts_byname.gperf: Regenerated.
11552
11553 2011-02-19  Bruno Haible  <bruno@clisp.org>
11554
11555         stdint: Update documentation.
11556         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
11557
11558 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
11559
11560         stdint: omit redundant check for wchar.h
11561         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
11562         always tests whether wchar.h exists, so remove the now-redundant test.
11563
11564 2011-02-18  Bruno Haible  <bruno@clisp.org>
11565
11566         stdint: Cut dependency to module 'wchar'.
11567         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
11568         include the necessary prerequisites.
11569         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
11570         * modules/stdint (Depends-on): Remove wchar.
11571         (Makefile.am): Substitute HAVE_WCHAR_H.
11572         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
11573
11574 2011-02-18  Eric Blake  <eblake@redhat.com>
11575
11576         longlong: skip, rather than fail, on cross-compilation
11577         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
11578         when cross-compiling; regression from 2011-02-16.
11579
11580 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
11581
11582         * NEWS: Mention 2011-02-08 change to stdlib.
11583
11584 2011-02-17  Bruno Haible  <bruno@clisp.org>
11585
11586         getloadavg: Add comments about platforms.
11587         * m4/getloadavg.m4: Add comment.
11588         * lib/getloadavg.c: Likewise.
11589
11590 2011-02-17  Bruno Haible  <bruno@clisp.org>
11591
11592         getloadavg: Fix link error on Solaris 2.6.
11593         * modules/getloadavg (Link): New section.
11594         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
11595         linking test-getloadavg.
11596         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
11597         getloadavg.
11598
11599 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
11600
11601         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
11602         It was 'int', but this doesn't match the IRIX 6.5 manual.
11603         Suggested by Bruno Haible in
11604         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
11605
11606 2011-02-17  Bruno Haible  <bruno@clisp.org>
11607
11608         havelib: Fix comments.
11609         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
11610         change.
11611
11612 2011-02-17  Bruno Haible  <bruno@clisp.org>
11613
11614         havelib: Update config.rpath.
11615         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
11616
11617 2011-02-17  Bruno Haible  <bruno@clisp.org>
11618
11619         getloadavg test: Add some plausibility checks.
11620         * tests/test-getloadavg.c (check_avg): Print a warning when the value
11621         is improbable.
11622
11623 2011-02-16  Eric Blake  <eblake@redhat.com>
11624
11625         maintainer-makefile: make syntax-check a no-op from tarballs
11626         * top/maint.mk (no-vc-detected): New rule.
11627         (local-checks-available): Use it to avoid hanging if someone tries
11628         'make syntax-check' from a tarball.  Also append to any non-syntax
11629         checks already defined in cfg.mk.
11630
11631 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
11632
11633         longlong: tune, particularly for common case of c99
11634
11635         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
11636         or running anything if c99, or if unsigned long long int does not
11637         work.  In either case, we know the answer without further tests.
11638         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
11639         it at most once, and use its results for both long long int and
11640         unsigned long long int.  This is more likely to be efficient in
11641         the common case where the program wants to check for both long
11642         long int and unsigned long long int.
11643         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
11644         since the answer is already known.
11645
11646 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
11647
11648         getloadavg: set errno
11649         * lib/getloadavg.c: Set errno when returning -1.  If no other
11650         error number looks appropriate, set it to ENOSYS if the getloadavg
11651         looks like it can't possibly ever work, ENOTSUP otherwise.
11652         Suggested by Bruno Haible in
11653         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
11654
11655         getloadavg: trim unused parts and speed up 'configure'
11656         * NEWS: Document this.
11657         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
11658         always compiled if getloadavg is absent.
11659         Move test code to ...
11660         * tests/test-getloadavg.c: New file, containing previous
11661         contents of test from lib/getloadavg.c.  It also contains
11662         suggestions by Bruno Haible in
11663         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
11664         * modules/getloadavg-tests: New file.
11665         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
11666         Do tests in the same order as they're needed for getloadavg.c.
11667         Omit setgid-related tests that generate symbols KMEM_GROUP,
11668         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
11669         Do only the tests that are needed to see whether the system has
11670         getloadavg, moving the other tests into ...
11671         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
11672         NLIST_NAME_UNION; nobody should be using it.  Do not define
11673         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
11674         relevant, as the user of this module shouldn't care how getloadavg
11675         is implemented.
11676
11677         getloadavg: omit unused var
11678         * lib/getloadavg.c (getloadavg): Omit unused local variable.
11679
11680 2011-02-15  Jim Meyering  <meyering@redhat.com>
11681
11682         doc: update users.txt
11683         * users.txt: Update iwhd's URL.
11684
11685 2011-02-13  Bruno Haible  <bruno@clisp.org>
11686
11687         Consistent macro naming for macros that use GCC __attribute__.
11688         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
11689         _ATTRIBUTE_NONNULL_.
11690         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
11691         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
11692         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
11693         ATTRIBUTE_DEPRECATED.
11694         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
11695         ATTRIBUTE_NORETURN.
11696         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
11697         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
11698         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
11699         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
11700         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
11701         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
11702         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
11703         ATTRIBUTE_SENTINEL.
11704         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
11705         ATTRIBUTE_RETURN_CHECK.
11706         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
11707         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
11708         ATTRIBUTE_NORETURN.
11709         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
11710         Reported by Paul Eggert.
11711
11712 2011-02-13  Bruno Haible  <bruno@clisp.org>
11713
11714         Don't interfere with a program's definition of __attribute__.
11715         * lib/argp.h (__attribute__): Remove definition.
11716         (_GL_ATTRIBUTE_FORMAT): New macro.
11717         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
11718         * lib/argp-fmtstream.h (__attribute__): Remove definition.
11719         (_GL_ATTRIBUTE_FORMAT): New macro.
11720         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
11721         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
11722         GCC 3 or newer.
11723         * lib/error.h (__attribute__): Remove definition.
11724         (_GL_ATTRIBUTE_FORMAT): New macro.
11725         (error, error_at_line): Use it.
11726         * lib/hash.h (__attribute__): Remove definition.
11727         (ATTRIBUTE_WUR): Update definition. Define always.
11728         * lib/openat.h (__attribute__): Remove definition.
11729         (ATTRIBUTE_NORETURN): Update definition. Define always.
11730         * lib/sigpipe-die.h (__attribute__): Remove definition.
11731         (ATTRIBUTE_NORETURN): Update definition. Define always.
11732         * lib/vasnprintf.h (__attribute__): Remove definition.
11733         (_GL_ATTRIBUTE_FORMAT): New macro.
11734         (asnprintf, vasnprintf): Use it.
11735         * lib/xalloc.h (__attribute__): Remove definition.
11736         (ATTRIBUTE_NORETURN): Update definition. Define always.
11737         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
11738         * lib/xmemdup0.h (__attribute__): Remove definition.
11739         (ATTRIBUTE_NORETURN): Update definition. Define always.
11740         * lib/xprintf.h (__attribute__): Remove definition.
11741         (_GL_ATTRIBUTE_FORMAT): New macro.
11742         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
11743         * lib/xstrtol.h (__attribute__): Remove definition.
11744         (ATTRIBUTE_NORETURN): Update definition. Define always.
11745         * lib/xvasprintf.h (__attribute__): Remove definition.
11746         (_GL_ATTRIBUTE_FORMAT): New macro.
11747         (xasprintf, xvasprintf): Use it.
11748         * tests/test-argmatch.c (__attribute__): Remove definition.
11749         (ATTRIBUTE_NORETURN): Update definition. Define always.
11750         * tests/test-exclude.c (__attribute__): Remove definition.
11751         (ATTRIBUTE_NORETURN): Update definition. Define always.
11752         Reported by Paul Eggert.
11753
11754 2011-02-13  Bruno Haible  <bruno@clisp.org>
11755
11756         mbrtowc: Add more tests for native Windows platforms.
11757         * tests/test-mbrtowc-w32-1.sh: New file.
11758         * tests/test-mbrtowc-w32-2.sh: New file.
11759         * tests/test-mbrtowc-w32-3.sh: New file.
11760         * tests/test-mbrtowc-w32-4.sh: New file.
11761         * tests/test-mbrtowc-w32-5.sh: New file.
11762         * tests/test-mbrtowc-w32.c: New file.
11763         * modules/mbrtowc-tests (Files): Add them.
11764         (Makefile.am): Arrange to run these tests.
11765         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
11766         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
11767
11768 2011-02-13  Bruno Haible  <bruno@clisp.org>
11769
11770         mbrtowc: Work around native Windows bug.
11771         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
11772         guess when no suitable locale for testing was found.
11773         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
11774
11775 2011-02-13  Bruno Haible  <bruno@clisp.org>
11776
11777         mbsinit: Work around mingw bug.
11778         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
11779         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
11780         Windows.
11781         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
11782
11783 2011-02-13  Bruno Haible  <bruno@clisp.org>
11784
11785         mbsinit: Don't crash for a NULL argument.
11786         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
11787         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
11788
11789 2011-02-13  Bruno Haible  <bruno@clisp.org>
11790
11791         Don't interfere with a program's definition of __attribute__.
11792         * lib/stdio.in.h (__attribute__): Remove definition.
11793         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
11794         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
11795         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
11796         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
11797         * lib/string.in.h (__attribute__): Remove definition.
11798         Reported by Paul Eggert.
11799
11800 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
11801
11802         stdlib: don't get in the way of non-GCC __attribute__
11803         See thread starting at
11804         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
11805         Revert previous stdlib change, installing the following instead:
11806         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
11807         to get in the way of a non-GCC compiler that supports __attribute__.
11808         (_GL_ATTRIBUTE_RETURN): New macro.
11809         (_Exit): Use it instead of __attribute__.
11810
11811 2011-02-12  Bruno Haible  <bruno@clisp.org>
11812
11813         quotearg test: Avoid test failure on mingw.
11814         * tests/test-quotearg.sh: Convert the locale identifier from native
11815         Windows syntax to Unix syntax.
11816
11817 2011-02-12  Bruno Haible  <bruno@clisp.org>
11818
11819         setlocale: Prefer gnulib's override over libintl's override.
11820         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
11821         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
11822         GNULIB_defined_setlocale is set.
11823
11824 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
11825
11826         stdlib: support non-GCC __attribute__
11827
11828         Fix a serious and tricky problem encountered when attempting to
11829         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
11830         5.5, but it crashed due to memory corruption on Solaris 10 with
11831         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
11832         bits that are otherwise zero.  This tagging is optional inside
11833         Emacs but is preferred and is used when __attribute__ ((__aligned
11834         (8))) works, as it does with both recent-enough GCC and with Sun C
11835         5.11.  However, Sun C 5.11 is not GCC and does not #define
11836         __GNUC__ and __GNUC_MINOR__.
11837
11838         When I added the getloadavg module to Emacs, it brought in
11839         stdlib.in.h, which contained this fragment:
11840
11841            #ifndef __attribute__
11842            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
11843            #  define __attribute__(Spec)   /* empty */
11844            # endif
11845            #endif
11846
11847         When files that include <stdlib.h> were compiled with Sun C 5.11,
11848         the above code disabled __attribute__ ((__aligned (8))), which
11849         caused variables to not be properly aligned, which eventually led
11850         to the pointer corruption mentioned above.  (This was a bit hard
11851         to diagnose, unfortunately.)
11852
11853         Several "#define __attribute__(X) /* empty */" code snippets need
11854         to be eradicated from Gnulib to work with non-GCC compilers that
11855         support __attribute__.  The Autoconf way to do this is to test for
11856         each kind of attribute that we want support for, and selectively
11857         enable that in source code.
11858
11859         Fix this problem just for stdlib.h, by adding a test for the
11860         __noreturn__ attribute, and change stdlib.in.h to use that test
11861         when needed.  This technique can be easily generalized to the
11862         other *.in.h files and attributes, and a similar technique can be
11863         used for *.h and *.c files.  This patch is enough to solve the
11864         problem for Emacs + getloadavg, and I thought I'd publish it for
11865         feedback before undertaking further, similar fixes in other
11866         modules.
11867
11868         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
11869         because it's not needed for stdlib.h.  It merely substitutes the
11870         value directly into stdlib.h.  We may well need to #define it, or
11871         similar symbols, for other modules, but it's nice to also have an
11872         option to not #define it for applications like Emacs that do not
11873         need it.
11874
11875         * lib/stdlib.in.h (__attribute__): Do not #define.
11876         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
11877         be defined only if the _Exit module is also used.
11878         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
11879         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
11880         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
11881         platforms.
11882         * modules/_Exit (Files): Add m4/attribute.m4.
11883         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
11884         * m4/attribute.m4: New file.
11885
11886 2011-02-12  Bruno Haible  <bruno@clisp.org>
11887
11888         wcsrtombs: Work around bug on native Windows.
11889         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
11890         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
11891         instead of len.
11892         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
11893
11894 2011-02-12  Bruno Haible  <bruno@clisp.org>
11895
11896         mbsrtowcs: Work around bug on native Windows.
11897         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
11898         against mingw bug.
11899         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
11900
11901 2011-02-12  Bruno Haible  <bruno@clisp.org>
11902
11903         Avoid setlocale bugs in tests.
11904         * modules/btowc (Dependencies): Add setlocale.
11905         * modules/c-strcase (Dependencies): Likewise.
11906         * modules/mbmemcasecmp (Dependencies): Likewise.
11907         * modules/mbmemcasecoll (Dependencies): Likewise.
11908         * modules/mbrtowc (Dependencies): Likewise.
11909         * modules/mbscasecmp (Dependencies): Likewise.
11910         * modules/mbscasestr (Dependencies): Likewise.
11911         * modules/mbschr (Dependencies): Likewise.
11912         * modules/mbscspn (Dependencies): Likewise.
11913         * modules/mbsinit (Dependencies): Likewise.
11914         * modules/mbsncasecmp (Dependencies): Likewise.
11915         * modules/mbsnrtowcs (Dependencies): Likewise.
11916         * modules/mbspbrk (Dependencies): Likewise.
11917         * modules/mbspcasecmp (Dependencies): Likewise.
11918         * modules/mbsrchr (Dependencies): Likewise.
11919         * modules/mbsrtowcs (Dependencies): Likewise.
11920         * modules/mbsspn (Dependencies): Likewise.
11921         * modules/mbsstr (Dependencies): Likewise.
11922         * modules/nl_langinfo (Dependencies): Likewise.
11923         * modules/quotearg (Dependencies): Likewise.
11924         * modules/unicase/locale-language (Dependencies): Likewise.
11925         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
11926         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
11927         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
11928         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
11929         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
11930         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
11931         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
11932         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
11933         * modules/vasnprintf-posix (Dependencies): Likewise.
11934         * modules/wcrtomb (Dependencies): Likewise.
11935         * modules/wcsnrtombs (Dependencies): Likewise.
11936         * modules/wcsrtombs (Dependencies): Likewise.
11937
11938 2011-02-12  Bruno Haible  <bruno@clisp.org>
11939
11940         setlocale: Workaround native Windows bug.
11941         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
11942         succeeds but sets LC_CTYPE to "C", report a failure.
11943         * tests/test-setlocale2.sh: New file.
11944         * tests/test-setlocale2.c: New file.
11945         * modules/setlocale-tests (Files): Add the new files.
11946         (Makefile.am): Enable test-setlocale2.sh test.
11947         * doc/posix-functions/setlocale.texi: Mention workaround.
11948
11949 2011-02-11  Bruno Haible  <bruno@clisp.org>
11950
11951         Tests for module 'setlocale'.
11952         * modules/setlocale-tests: New file.
11953         * tests/test-setlocale1.sh: New file.
11954         * tests/test-setlocale1.c: New file.
11955
11956         New module 'setlocale'.
11957         * lib/locale.in.h (setlocale): New declaration.
11958         * lib/setlocale.c: New file, based on
11959         gettext/gettext-runtime/intl/setlocale.c.
11960         * m4/setlocale.m4: New file.
11961         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
11962         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
11963         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
11964         REPLACE_SETLOCALE.
11965         * modules/setlocale: New file.
11966         * tests/test-locale-c++.cc: Test the declaration of setlocale.
11967         * doc/posix-functions/setlocale.texi: Mention the new module.
11968
11969 2011-02-11  Bruno Haible  <bruno@clisp.org>
11970
11971         Prepare for locale dependent tests on mingw.
11972         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
11973         because it has the wrong locale encoding.
11974         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
11975         French_France.1252 instead of "fr".
11976         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
11977         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
11978         because it has the wrong locale encoding.
11979         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
11980         native Windows, try Turkish_Turkey.65001.
11981         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
11982         Chinese_China.54936.
11983
11984         Prepare for locale dependent tests on mingw.
11985         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
11986         differently.
11987         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
11988         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
11989         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
11990         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
11991
11992 2011-02-11  Eric Blake  <eblake@redhat.com>
11993
11994         strptime: avoid compiler warnings
11995         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
11996         compiler warnings about dead code.
11997         Reported by Daniel P. Berrange.
11998
11999 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
12000
12001         doc: update users.txt
12002         * users.txt: Add rcs.
12003
12004 2011-02-10  John W. Eaton  <jwe@gnu.org>
12005
12006         doc: update users.txt
12007         * users.txt: Add octave.
12008
12009 2011-02-10  Jim Meyering  <meyering@redhat.com>
12010
12011         doc: update users.txt
12012         * users.txt: Add iwhd.
12013
12014 2011-02-09  Bruno Haible  <bruno@clisp.org>
12015
12016         gnulib-tool: Make copyright notice adjustment more robust.
12017         * gnulib-tool (func_import): In sed_transform_main_lib_file,
12018         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
12019         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
12020         License".
12021         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
12022
12023 2011-02-06  Bruno Haible  <bruno@clisp.org>
12024
12025         New module 'towctrans'.
12026         * modules/towctrans: New file.
12027         * lib/wctype.in.h (towctrans): New declaration.
12028         * lib/towctrans.c: New file.
12029         * lib/towctrans-impl.h: New file.
12030         * m4/towctrans.m4: New file.
12031         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
12032         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
12033         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
12034         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
12035         * doc/posix-functions/towctrans.texi: Mention the new module.
12036
12037 2011-02-06  Bruno Haible  <bruno@clisp.org>
12038
12039         New module 'wctrans'.
12040         * modules/wctrans: New file.
12041         * lib/wctype.in.h (wctrans): New declaration.
12042         * lib/wctrans.c: New file.
12043         * lib/wctrans-impl.h: New file.
12044         * m4/wctrans.m4: New file.
12045         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
12046         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
12047         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
12048         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
12049         * doc/posix-functions/wctrans.texi: Mention the new module.
12050
12051 2011-02-06  Bruno Haible  <bruno@clisp.org>
12052
12053         New module 'iswctype'.
12054         * modules/iswctype: New file.
12055         * lib/wctype.in.h (iswctype): New declaration.
12056         * lib/iswctype.c: New file.
12057         * lib/iswctype-impl.h: New file.
12058         * m4/iswctype.m4: New file.
12059         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
12060         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
12061         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
12062         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
12063         * doc/posix-functions/iswctype.texi: Mention the new module and the
12064         HP-UX 11.00 problem.
12065
12066 2011-02-06  Bruno Haible  <bruno@clisp.org>
12067
12068         New module 'wctype'.
12069         * modules/wctype: Change to represent the wctype() substitute.
12070         * lib/wctype.in.h (wctype): New declaration.
12071         * lib/wctype.c: New file.
12072         * lib/wctype-impl.h: New file.
12073         * m4/wctype.m4: New file.
12074         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
12075         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
12076         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
12077         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
12078         * doc/posix-functions/wctype.texi: Mention the new module and the
12079         HP-UX 11.00 problem.
12080
12081 2011-02-06  Bruno Haible  <bruno@clisp.org>
12082
12083         wctype-h: Ensure wctype_t and wctrans_t are defined.
12084         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
12085         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
12086         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
12087         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
12088         HAVE_WCTRANS_T.
12089         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
12090
12091 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
12092
12093         flock: fix license typo
12094
12095         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
12096         omitted.
12097
12098 2011-02-08  Bruno Haible  <bruno@clisp.org>
12099
12100         Split large sed scripts, for HP-UX sed.
12101         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
12102         to avoid HP-UX limit of 99 commands, in the near future.
12103         * modules/stdlib (Makefile.am): Likewise.
12104         * modules/unistd (Makefile.am): Likewise.
12105         * modules/wchar (Makefile.am): Likewise.
12106         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
12107         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
12108         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
12109
12110 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
12111             Bruno Haible  <bruno@clisp.org>
12112
12113         stdlib: improve random_r modularization
12114         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
12115         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
12116         you also need the random_r module to get this material right.
12117         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
12118         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
12119         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
12120
12121 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
12122
12123         stdlib: don't depend on stdint
12124         * lib/stdlib.in.h: Don't include <stdint.h> merely because
12125         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
12126         be independent of whether stdint.h is needed.
12127         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
12128         here, instead of ...
12129         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
12130         struct random_data should be using the random_r module, not just
12131         the stdlib module (which wouldn't make sense: what package needs
12132         just struct random_data without also needing random_r?).
12133         * modules/stdlib (Depends-on): Remove stdint.
12134
12135         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
12136         See the thread rooted at
12137         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
12138         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
12139         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
12140         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
12141         __VMS)); previously it was always included (via fcntl--.h).
12142         (getloadavg): Do not use c_strtod.  Instead, approximate it by
12143         hand; this is good enough for load averages.  Also, do not use
12144         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
12145         flags directly if available and don't bother otherwise.  (Packages
12146         that need the extra reliability should use the modules that define
12147         these flags on older platforms that lack them.)
12148         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
12149         fcntl-safer.
12150
12151 2011-02-08  Jim Meyering  <meyering@redhat.com>
12152
12153         di-set.h, ino-map.h: add multiple-inclusion guard
12154         Technically, the guard is required only for ino-map.h, due to its
12155         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
12156         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
12157         * lib/ino-map.h: Likewise.
12158
12159 2011-02-06  Bruno Haible  <bruno@clisp.org>
12160
12161         iswblank: Ensure declaration on glibc systems.
12162         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
12163         * modules/iswblank (Dependencies): Add 'extensions'.
12164         * doc/posix-functions/iswblank.texi: Document the glibc problem.
12165
12166 2011-02-06  Bruno Haible  <bruno@clisp.org>
12167
12168         New module 'iswblank'.
12169         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
12170         * modules/iswblank: New file.
12171         * modules/wctype-h (Files): Remove lib/iswblank.c.
12172         (Makefile.am): Substitute GNULIB_ISWBLANK.
12173         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
12174         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
12175         (gl_WCTYPE_H_DEFAULTS): New macro.
12176         (gl_WCTYPE_H): Require it. Remove iswblank related code.
12177         * modules/iswblank-tests: New file.
12178         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
12179         * tests/test-wctype-h.c (main): Remove iswblank tests.
12180         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
12181         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
12182         of 'wctype-h'.
12183         * NEWS: Mention the change.
12184         * modules/mbchar (Depends-on): Add iswblank.
12185
12186 2011-02-08  Bruno Haible  <bruno@clisp.org>
12187
12188         di-set tests: Refactor.
12189         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
12190         unnecessary includes.
12191         (ASSERT): Remove macro.
12192         (main): Make C90 compliant by avoiding variable declaration after
12193         statement.
12194         * modules/di-set-tests (Files): Add tests/macros.h.
12195
12196 2011-02-08  Bruno Haible  <bruno@clisp.org>
12197
12198         ino-map tests: Refactor.
12199         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
12200         unnecessary includes.
12201         (ASSERT): Remove macro.
12202         (main): Make C90 compliant by avoiding variable declaration after
12203         statement.
12204         * modules/ino-map-tests (Files): Add tests/macros.h.
12205
12206 2011-02-08  Jim Meyering  <meyering@redhat.com>
12207
12208         di-set: add "const" to a cast
12209         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
12210         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
12211
12212 2011-02-06  Bruno Haible  <bruno@clisp.org>
12213
12214         Rename module 'wctype' to 'wctype-h'.
12215         * modules/wctype-h: Renamed from modules/wctype.
12216         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
12217         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
12218         (Files, Depends-on, Makefile.am): Update.
12219         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
12220         (Files, Makefile.am): Update.
12221         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
12222         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
12223         * doc/posix-headers/wctype.texi: Update.
12224         * doc/posix-functions/iswalnum.texi: Update.
12225         * doc/posix-functions/iswalpha.texi: Update.
12226         * doc/posix-functions/iswblank.texi: Update.
12227         * doc/posix-functions/iswcntrl.texi: Update.
12228         * doc/posix-functions/iswdigit.texi: Update.
12229         * doc/posix-functions/iswgraph.texi: Update.
12230         * doc/posix-functions/iswlower.texi: Update.
12231         * doc/posix-functions/iswprint.texi: Update.
12232         * doc/posix-functions/iswpunct.texi: Update.
12233         * doc/posix-functions/iswspace.texi: Update.
12234         * doc/posix-functions/iswupper.texi: Update.
12235         * doc/posix-functions/iswxdigit.texi: Update.
12236         * doc/posix-functions/towlower.texi: Update.
12237         * doc/posix-functions/towupper.texi: Update.
12238         * NEWS: Mention the change.
12239         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
12240         * modules/mbchar (Dependencies): Likewise.
12241         * modules/mbswidth (Dependencies): Likewise.
12242         * modules/quotearg (Dependencies): Likewise.
12243         * modules/regex (Dependencies): Likewise.
12244         * modules/wcscasecmp (Dependencies): Likewise.
12245         * modules/wcsncasecmp (Dependencies): Likewise.
12246         * modules/wcwidth (Dependencies): Likewise.
12247
12248 2011-02-06  Bruno Haible  <bruno@clisp.org>
12249
12250         New module 'wcswidth'.
12251         * modules/wcswidth: New file.
12252         * lib/wchar.in.h (wcswidth): New declaration.
12253         * lib/wcswidth.c: New file.
12254         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
12255         * m4/wcswidth.m4: New file.
12256         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
12257         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
12258         REPLACE_WCSWIDTH.
12259         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
12260         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
12261         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
12262         * doc/posix-functions/wcswidth.texi: Mention the new module.
12263
12264 2011-02-06  Bruno Haible  <bruno@clisp.org>
12265
12266         New module 'wcstok'.
12267         * modules/wcstok: New file.
12268         * lib/wchar.in.h (wcstok): New declaration.
12269         * lib/wcstok.c: New file.
12270         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
12271         * m4/wcstok.m4: New file.
12272         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
12273         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
12274         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
12275         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
12276         * doc/posix-functions/wcstok.texi: Mention the new module.
12277
12278 2011-02-06  Bruno Haible  <bruno@clisp.org>
12279
12280         New module 'wcsstr'.
12281         * modules/wcsstr: New file.
12282         * lib/wchar.in.h (wcsstr): New declaration.
12283         * lib/wcsstr.c: New file.
12284         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
12285         * m4/wcsstr.m4: New file.
12286         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
12287         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
12288         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
12289         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
12290         * doc/posix-functions/wcsstr.texi: Mention the new module.
12291
12292 2011-02-06  Bruno Haible  <bruno@clisp.org>
12293
12294         New module 'wcspbrk'.
12295         * modules/wcspbrk: New file.
12296         * lib/wchar.in.h (wcspbrk): New declaration.
12297         * lib/wcspbrk.c: New file.
12298         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
12299         * m4/wcspbrk.m4: New file.
12300         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
12301         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
12302         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
12303         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
12304         * doc/posix-functions/wcspbrk.texi: Mention the new module.
12305
12306 2011-02-06  Bruno Haible  <bruno@clisp.org>
12307
12308         New module 'wcsspn'.
12309         * modules/wcsspn: New file.
12310         * lib/wchar.in.h (wcsspn): New declaration.
12311         * lib/wcsspn.c: New file.
12312         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
12313         * m4/wcsspn.m4: New file.
12314         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
12315         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
12316         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
12317         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
12318         * doc/posix-functions/wcsspn.texi: Mention the new module.
12319
12320 2011-02-06  Bruno Haible  <bruno@clisp.org>
12321
12322         New module 'wcscspn'.
12323         * modules/wcscspn: New file.
12324         * lib/wchar.in.h (wcscspn): New declaration.
12325         * lib/wcscspn.c: New file.
12326         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
12327         * m4/wcscspn.m4: New file.
12328         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
12329         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
12330         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
12331         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
12332         * doc/posix-functions/wcscspn.texi: Mention the new module.
12333
12334 2011-02-06  Bruno Haible  <bruno@clisp.org>
12335
12336         New module 'wcsrchr'.
12337         * modules/wcsrchr: New file.
12338         * lib/wchar.in.h (wcsrchr): New declaration.
12339         * lib/wcsrchr.c: New file.
12340         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
12341         * m4/wcsrchr.m4: New file.
12342         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
12343         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
12344         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
12345         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
12346         * doc/posix-functions/wcsrchr.texi: Mention the new module.
12347
12348 2011-02-06  Bruno Haible  <bruno@clisp.org>
12349
12350         New module 'wcschr'.
12351         * modules/wcschr: New file.
12352         * lib/wchar.in.h (wcschr): New declaration.
12353         * lib/wcschr.c: New file.
12354         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
12355         * m4/wcschr.m4: New file.
12356         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
12357         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
12358         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
12359         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
12360         * doc/posix-functions/wcschr.texi: Mention the new module.
12361
12362 2011-02-06  Bruno Haible  <bruno@clisp.org>
12363
12364         New module 'wcsdup'.
12365         * modules/wcsdup: New file.
12366         * lib/wchar.in.h (wcsdup): New declaration.
12367         * lib/wcsdup.c: New file.
12368         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
12369         * m4/wcsdup.m4: New file.
12370         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
12371         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
12372         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
12373         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
12374         * doc/posix-functions/wcsdup.texi: Mention the new module.
12375
12376 2011-02-06  Bruno Haible  <bruno@clisp.org>
12377
12378         New module 'wcsxfrm'.
12379         * modules/wcsxfrm: New file.
12380         * lib/wchar.in.h (wcsxfrm): New declaration.
12381         * lib/wcsxfrm.c: New file.
12382         * lib/wcsxfrm-impl.h: New file.
12383         * m4/wcsxfrm.m4: New file.
12384         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
12385         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
12386         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
12387         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
12388         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
12389
12390 2011-02-06  Bruno Haible  <bruno@clisp.org>
12391
12392         New module 'wcscoll'.
12393         * modules/wcscoll: New file.
12394         * lib/wchar.in.h (wcscoll): New declaration.
12395         * lib/wcscoll.c: New file.
12396         * lib/wcscoll-impl.h: New file.
12397         * m4/wcscoll.m4: New file.
12398         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
12399         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
12400         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
12401         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
12402         * doc/posix-functions/wcscoll.texi: Mention the new module.
12403
12404 2011-02-06  Bruno Haible  <bruno@clisp.org>
12405
12406         New module 'wcsncasecmp'.
12407         * modules/wcsncasecmp: New file.
12408         * lib/wchar.in.h (wcsncasecmp): New declaration.
12409         * lib/wcsncasecmp.c: New file.
12410         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
12411         * m4/wcsncasecmp.m4: New file.
12412         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
12413         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
12414         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
12415         HAVE_WCSNCASECMP.
12416         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
12417         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
12418
12419 2011-02-06  Bruno Haible  <bruno@clisp.org>
12420
12421         New module 'wcscasecmp'.
12422         * modules/wcscasecmp: New file.
12423         * lib/wchar.in.h (wcscasecmp): New declaration.
12424         * lib/wcscasecmp.c: New file.
12425         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
12426         * m4/wcscasecmp.m4: New file.
12427         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
12428         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
12429         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
12430         HAVE_WCSCASECMP.
12431         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
12432         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
12433
12434 2011-02-05  Bruno Haible  <bruno@clisp.org>
12435
12436         New module 'wcsncmp'.
12437         * modules/wcsncmp: New file.
12438         * lib/wchar.in.h (wcsncmp): New declaration.
12439         * lib/wcsncmp.c: New file.
12440         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
12441         * m4/wcsncmp.m4: New file.
12442         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
12443         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
12444         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
12445         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
12446         * doc/posix-functions/wcsncmp.texi: Mention the new module.
12447
12448 2011-02-05  Bruno Haible  <bruno@clisp.org>
12449
12450         New module 'wcscmp'.
12451         * modules/wcscmp: New file.
12452         * lib/wchar.in.h (wcscmp): New declaration.
12453         * lib/wcscmp.c: New file.
12454         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
12455         * m4/wcscmp.m4: New file.
12456         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
12457         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
12458         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
12459         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
12460         * doc/posix-functions/wcscmp.texi: Mention the new module.
12461
12462 2011-02-05  Bruno Haible  <bruno@clisp.org>
12463
12464         New module 'wcsncat'.
12465         * modules/wcsncat: New file.
12466         * lib/wchar.in.h (wcsncat): New declaration.
12467         * lib/wcsncat.c: New file.
12468         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
12469         * m4/wcsncat.m4: New file.
12470         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
12471         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
12472         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
12473         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
12474         * doc/posix-functions/wcsncat.texi: Mention the new module.
12475
12476 2011-02-05  Bruno Haible  <bruno@clisp.org>
12477
12478         New module 'wcscat'.
12479         * modules/wcscat: New file.
12480         * lib/wchar.in.h (wcscat): New declaration.
12481         * lib/wcscat.c: New file.
12482         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
12483         * m4/wcscat.m4: New file.
12484         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
12485         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
12486         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
12487         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
12488         * doc/posix-functions/wcscat.texi: Mention the new module.
12489
12490 2011-02-05  Bruno Haible  <bruno@clisp.org>
12491
12492         New module 'wcpncpy'.
12493         * modules/wcpncpy: New file.
12494         * lib/wchar.in.h (wcpncpy): New declaration.
12495         * lib/wcpncpy.c: New file.
12496         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
12497         * m4/wcpncpy.m4: New file.
12498         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
12499         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
12500         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
12501         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
12502         * doc/posix-functions/wcpncpy.texi: Mention the new module.
12503
12504 2011-02-05  Bruno Haible  <bruno@clisp.org>
12505
12506         New module 'wcsncpy'.
12507         * modules/wcsncpy: New file.
12508         * lib/wchar.in.h (wcsncpy): New declaration.
12509         * lib/wcsncpy.c: New file.
12510         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
12511         * m4/wcsncpy.m4: New file.
12512         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
12513         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
12514         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
12515         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
12516         * doc/posix-functions/wcsncpy.texi: Mention the new module.
12517
12518 2011-02-05  Bruno Haible  <bruno@clisp.org>
12519
12520         New module 'wcpcpy'.
12521         * modules/wcpcpy: New file.
12522         * lib/wchar.in.h (wcpcpy): New declaration.
12523         * lib/wcpcpy.c: New file.
12524         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
12525         * m4/wcpcpy.m4: New file.
12526         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
12527         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
12528         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
12529         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
12530         * doc/posix-functions/wcpcpy.texi: Mention the new module.
12531
12532 2011-02-05  Bruno Haible  <bruno@clisp.org>
12533
12534         New module 'wcscpy'.
12535         * modules/wcscpy: New file.
12536         * lib/wchar.in.h (wcscpy): New declaration.
12537         * lib/wcscpy.c: New file.
12538         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
12539         * m4/wcscpy.m4: New file.
12540         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
12541         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
12542         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
12543         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
12544         * doc/posix-functions/wcscpy.texi: Mention the new module.
12545
12546 2011-02-05  Bruno Haible  <bruno@clisp.org>
12547
12548         New module 'wcsnlen'.
12549         * modules/wcsnlen: New file.
12550         * lib/wchar.in.h (wcsnlen): New declaration.
12551         * lib/wcsnlen.c: New file.
12552         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
12553         * m4/wcsnlen.m4: New file.
12554         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
12555         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
12556         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
12557         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
12558         * doc/posix-functions/wcsnlen.texi: Mention the new module.
12559
12560 2011-02-05  Bruno Haible  <bruno@clisp.org>
12561
12562         New module 'wcslen'.
12563         * modules/wcslen: New file.
12564         * lib/wchar.in.h (wcslen): New declaration.
12565         * lib/wcslen.c: New file.
12566         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
12567         * m4/wcslen.m4: New file.
12568         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
12569         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
12570         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
12571         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
12572         * doc/posix-functions/wcslen.texi: Mention the new module.
12573
12574 2011-02-05  Bruno Haible  <bruno@clisp.org>
12575
12576         New module 'wmemset'.
12577         * modules/wmemset: New file.
12578         * lib/wchar.in.h (wmemset): New declaration.
12579         * lib/wmemset.c: New file.
12580         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
12581         * m4/wmemset.m4: New file.
12582         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
12583         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
12584         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
12585         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
12586         * doc/posix-functions/wmemset.texi: Mention the new module.
12587
12588 2011-02-05  Bruno Haible  <bruno@clisp.org>
12589
12590         New module 'wmemmove'.
12591         * modules/wmemmove: New file.
12592         * lib/wchar.in.h (wmemmove): New declaration.
12593         * lib/wmemmove.c: New file.
12594         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
12595         * m4/wmemmove.m4: New file.
12596         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
12597         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
12598         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
12599         HAVE_WMEMMOVE.
12600         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
12601         * doc/posix-functions/wmemmove.texi: Mention the new module.
12602
12603 2011-02-05  Bruno Haible  <bruno@clisp.org>
12604
12605         New module 'wmemcpy'.
12606         * modules/wmemcpy: New file.
12607         * lib/wchar.in.h (wmemcpy): New declaration.
12608         * lib/wmemcpy.c: New file.
12609         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
12610         * m4/wmemcpy.m4: New file.
12611         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
12612         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
12613         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
12614         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
12615         * doc/posix-functions/wmemcpy.texi: Mention the new module.
12616
12617 2011-02-05  Bruno Haible  <bruno@clisp.org>
12618
12619         New module 'wmemcmp'.
12620         * modules/wmemcmp: New file.
12621         * lib/wchar.in.h (wmemcmp): New declaration.
12622         * lib/wmemcmp.c: New file.
12623         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
12624         * m4/wmemcmp.m4: New file.
12625         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
12626         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
12627         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
12628         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
12629         * doc/posix-functions/wmemcmp.texi: Mention the new module.
12630
12631 2011-02-07  Jim Meyering  <meyering@redhat.com>
12632
12633         di-set, ino-map: new modules, from coreutils
12634         * lib/di-set.c: New file.
12635         * lib/di-set.h: Likewise.
12636         * lib/ino-map.c: Likewise.
12637         * lib/ino-map.h: Likewise.
12638         * modules/di-set: Likewise.
12639         * modules/di-set-tests: Likewise.
12640         * modules/ino-map: Likewise.
12641         * modules/ino-map-tests: Likewise.
12642         * tests/test-di-set.c: Likewise.
12643         * tests/test-ino-map.c: Likewise.
12644
12645 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
12646
12647         getloadavg: merge minor changes from Emacs
12648
12649         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
12650         (getloadavg): Use memset, not bzero.
12651
12652         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
12653         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
12654         clash (bug#86).
12655
12656 2010-11-14  Bruno Haible  <bruno@clisp.org>
12657
12658         Allow multiple gnulib generated replacements to coexist.
12659         * lib/getopt.in.h (struct option): Avoid identical redefinition.
12660         * lib/inttypes.in.h (imaxdiv_t): Likewise.
12661         * lib/langinfo.in.h (nl_item): Likewise.
12662         * lib/math.in.h (_NaN, NAN): Likewise.
12663         * lib/netdb.in.h (struct addrinfo): Likewise.
12664         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
12665         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
12666         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
12667         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
12668         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
12669         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
12670         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
12671         pthread_mutexattr_init, pthread_mutexattr_settype,
12672         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
12673         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
12674         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
12675         pthread_spin_trylock, pthread_spin_unlock): Likewise.
12676         * lib/sched.in.h (struct sched_param): Likewise.
12677         * lib/se-selinux.in.h (security_class_t, security_context_t,
12678         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
12679         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
12680         lsetfilecon, fsetfilecon, security_check_context,
12681         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
12682         Likewise.
12683         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
12684         Likewise.
12685         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
12686         _gl_function_taking_int_returning_void_t, union sigval,
12687         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
12688         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
12689         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
12690         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
12691         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
12692         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
12693         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
12694         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
12695         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
12696         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
12697         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
12698         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
12699         socklen_t, rpl_fd_isset): Likewise.
12700         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
12701         * lib/sys_time.in.h (struct timeval): Likewise.
12702         * lib/sys_times.in.h (struct tms): Likewise.
12703         * lib/sys_utsname.in.h (struct utsname):
12704         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
12705         * lib/unistd.in.h (getpagesize): Likewise.
12706         * lib/wchar.in.h (mbstate_t): Likewise.
12707         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
12708         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
12709         towlower, towupper): Likewise.
12710         Reported by Sam Steingold <sds@gnu.org>.
12711
12712 2011-02-05  Eric Blake  <eblake@redhat.com>
12713
12714         unsetenv: work around Haiku issues
12715         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
12716         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
12717
12718 2010-12-30  Bruce Korb  <bkorb@gnu.org>
12719
12720         libposix: avoid calling error() within libposix
12721         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
12722         is defined.
12723
12724 2011-02-05  Eric Blake  <eblake@redhat.com>
12725
12726         strerror_r-posix: port to cygwin
12727         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
12728         implementation.
12729         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
12730         * tests/test-strerror_r.c (main): Fix test.
12731         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
12732         issue.
12733
12734 2011-02-05  Bruno Haible  <bruno@clisp.org>
12735
12736         New module 'wmemchr'.
12737         * modules/wmemchr: New file.
12738         * lib/wchar.in.h (wmemchr): New declaration.
12739         * lib/wmemchr.c: New file.
12740         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
12741         * m4/wmemchr.m4: New file.
12742         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
12743         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
12744         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
12745         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
12746         * doc/posix-functions/wmemchr.texi: Mention the new module.
12747
12748 2011-02-04  Eric Blake  <eblake@redhat.com>
12749
12750         fdopendir: detect FreeBSD bug
12751         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
12752         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
12753
12754 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
12755
12756         stdbool: do not define HAVE_STDBOOL_H
12757         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
12758         AC_HEADER_STDBOOL.  All uses changed.  Do not define
12759         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
12760         imported from the latest Autoconf git.  It was motivated by Emacs,
12761         which uses gnulib but does not need HAVE_STDBOOL_H.
12762
12763 2011-02-04  Bruno Haible  <bruno@clisp.org>
12764
12765         wcsnrtombs: Prepare for new module wwcsnrtombs.
12766         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
12767         * lib/wcsnrtombs.c: Include it.
12768         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
12769
12770         wcsrtombs: Prepare for new module wwcsrtombs.
12771         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
12772         * lib/wcsrtombs.c: Include it.
12773         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
12774
12775         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
12776         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
12777         * lib/mbsnrtowcs.c: Include it.
12778         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
12779
12780         mbsrtowcs: Prepare for new module mbsrtowwcs.
12781         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
12782         * lib/mbsrtowcs.c: Include it.
12783         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
12784
12785 2011-02-04  Bruno Haible  <bruno@clisp.org>
12786
12787         vasnprintf: Reduce use of malloc for small format strings.
12788         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
12789         (arguments): Add room for the first 7 arguments.
12790         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
12791         (char_directives, u8_directives, u16_directives, u32_directives): Add
12792         room for the first 7 directives.
12793         * lib/printf-parse.c: Include <string.h>.
12794         (PRINTF_PARSE): Change memory handling code so that it uses the first
12795         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
12796         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
12797         Reported by Pádraig Brady <P@draigbrady.com>.
12798
12799 2011-01-31  Eric Blake  <eblake@redhat.com>
12800
12801         dup2: work around Haiku bug
12802         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
12803         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
12804         * doc/posix-functions/dup2.texi (dup2): Document the bug.
12805         * tests/test-dup2.c (main): Enhance test.
12806
12807 2011-01-31  Simon Josefsson  <simon@josefsson.org>
12808
12809         doc: off_t is not available in eglibc 2.11.2 stdio.h.
12810         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
12811         declared by eglibc 2.11.2.
12812         * lib/stdio.in.h: Likewise.
12813
12814 2011-01-31  Eric Blake  <eblake@redhat.com>
12815
12816         ignore-value: add missing test dependency
12817         * tests/test-ignore-value.c: Revert previous change; stdio.h
12818         provides off_t.
12819         * modules/ignore-value-tests (Depends-on): Add missing dependency.
12820
12821 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
12822
12823         mktime: clarify long_int width checking
12824         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
12825         the top level, to make it clearer that the assumption about
12826         long_int width is being checked.  See
12827         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
12828
12829 2011-01-30  Simon Josefsson  <simon@josefsson.org>
12830
12831         ignore-value: Fix self-test.
12832         * tests/test-ignore-value.c: Include sys/types.h for off_t.
12833
12834 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
12835
12836         TYPE_MAXIMUM: avoid theoretically undefined behavior
12837         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
12838         negative number, which the C Standard says has undefined behavior.
12839         In practice this is not a problem, but might as well do it by the book.
12840         Reported by Rich Felker and Eric Blake; see
12841         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
12842         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
12843         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
12844         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
12845         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
12846         * m4/stdint.m4 (gl_STDINT_H): Likewise.
12847         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
12848
12849         mktime: #undef mktime before #defining it
12850         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
12851
12852         mktime: systematically normalize tm_isdst comparisons
12853         * lib/mktime.c (isdst_differ): New function.
12854         (__mktime_internal): Use it systematically for all isdst comparisons.
12855         This completes the fix for libc BZ #6723, and removes the need for
12856         normalizing tm_isdst.  See
12857         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
12858         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
12859
12860         mktime: fix some integer overflow issues and sidestep the rest
12861
12862         This was prompted by a bug report by Benjamin Lindner for MinGW
12863         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
12864         His bug is due to signed integer overflow (0 - INT_MIN), and I
12865         I scanned through mktime.c looking for other integer overflow
12866         problems, fixing all the bugs I found.
12867
12868         Although the C Standard says the resulting code is still not safe
12869         in the presence of integer overflow, in practice it should be good
12870         enough for all real-world two's-complement implementations, except
12871         for debugging environments that deliberately trap on integer
12872         overflow (e.g., gcc -ftrapv).
12873
12874         * lib/mktime.c (WRAPV): New macro.
12875         (SHR): Also check that long_int and time_t shift right in the
12876         usual way, before using the fast-but-unportable method.
12877         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
12878         used.  The code already assumed two's complement, so there's
12879         no need to test for alternatives.  All uses removed.
12880         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
12881         the C standard.  Problem reported by Rich Felker in
12882         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
12883         (twos_complement_arithmetic): Also check long_int and time_t.
12884         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
12885         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
12886         (__mktime_internal): Avoid integer overflow with unary subtraction
12887         in two instances where -1 - X is an adequate replacement for -X,
12888         since the calculations are approximate.
12889
12890 2011-01-29  Eric Blake  <eblake@redhat.com>
12891
12892         mktime: avoid infinite loop
12893         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
12894         type; behavior is still undefined but portable to all known targets.
12895         Reported by Rich Felker.
12896
12897 2011-01-29  Simon Josefsson  <simon@josefsson.org>
12898
12899         rename, unlink, same-inode: Relicense.
12900         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
12901         * modules/unlink (License): Likewise.
12902         * modules/same-inode (License): Likewise.
12903
12904 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
12905
12906         mktime: avoid problems on NetBSD 5 / i386
12907         * lib/mktime.c (long_int): New type.  This works around a problem
12908         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
12909         but time_t is 64 bits, and where I expect the existing code is
12910         wrong in some cases.
12911         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
12912         (ydhms_diff): Bring back the compile-time check for wide-enough
12913         year and yday.
12914
12915         mktime: fix misspelling in comment
12916         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
12917         This merges all recent glibc changes of importance.
12918
12919 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12920
12921         move-if-change: cope with concurrent mv of identical file.
12922         * build-aux/move-if-change (CMPPROG): Accept environment
12923         variable as an override for `cmp'.
12924         (usage): Document CMPPROG.
12925         Adjust comparison to drop stdout.  Cope with failure of mv if
12926         the target file exists and is identical to the source, for
12927         parallel builds.
12928         Report from H.J. Lu against binutils in PR binutils/12283.
12929
12930 2011-01-28  Bruce Korb  <bkorb@gnu.org>
12931
12932         * users.txt: Mention sharutils.
12933
12934 2011-01-28  Simon Josefsson  <simon@josefsson.org>
12935
12936         * users.txt: Mention OATH Toolkit.
12937
12938 2011-01-27  Bruno Haible  <bruno@clisp.org>
12939
12940         Prepare for supporting FreeBSD 10.
12941         * build-aux/config.libpath: Remove handling of freebsd1*.
12942
12943 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
12944
12945         Prepare for supporting FreeBSD 10.
12946         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
12947         match FreeBSD 10.0.
12948
12949 2011-01-27  Bruno Haible  <bruno@clisp.org>
12950
12951         vma-iter, get-rusage-as: Add OpenBSD support.
12952         * modules/vma-iter (configure.ac): Test for mquery.
12953         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
12954         * lib/vma-iter.c: Include <sys/mman.h>.
12955         (vma_iterate): Add an implementation based on mquery().
12956         * lib/resource-ext.h (get_rusage_as): Update comments.
12957         * lib/get-rusage-as.c: Likewise.
12958         * lib/get-rusage-data.c: Likewise.
12959
12960 2011-01-26  Karl Berry  <karl@gnu.org>
12961
12962         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
12963         variables to make it easier to override the makeinfo program used.
12964
12965 2011-01-26  Eric Blake  <eblake@redhat.com>
12966
12967         fcntl: work around Haiku F_DUPFD bugs
12968         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
12969         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
12970         cloexec bit on duplication.
12971         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
12972
12973 2011-01-26  Bruno Haible  <bruno@clisp.org>
12974
12975         Enable memory leak tests on AIX.
12976         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
12977         * tests/test-fprintf-posix3.c (main): Likewise.
12978
12979 2011-01-26  Bruno Haible  <bruno@clisp.org>
12980
12981         Tests for module 'get-rusage-data'.
12982         * modules/get-rusage-data-tests: New file.
12983         * tests/test-get-rusage-data.c: New file.
12984
12985         New module 'get-rusage-data'.
12986         * lib/resource-ext.h (get_rusage_data): New declaration.
12987         * lib/get-rusage-data.c: New file.
12988         * modules/get-rusage-data: New file.
12989
12990 2011-01-25  Bruno Haible  <bruno@clisp.org>
12991
12992         get-rusage-as: Allow for easier testing.
12993         * lib/resource-ext.h (get_rusage_as): Add comment.
12994         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
12995         (main): New function for interactive testing.
12996
12997 2011-01-25  Bruno Haible  <bruno@clisp.org>
12998
12999         vma-iter: Treat Haiku like BeOS.
13000         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
13001         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
13002
13003 2011-01-25  Eric Blake  <eblake@redhat.com>
13004
13005         c-stack: fix regression on cygwin when libsigsegv is present
13006         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
13007
13008 2011-01-24  Bruno Haible  <bruno@clisp.org>
13009
13010         vma-iter: Avoid empty intervals.
13011         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
13012         on an empty interval.
13013
13014 2011-01-24  Jim Meyering  <meyering@redhat.com>
13015
13016         u64: remove unnecessary #include
13017         * lib/u64.h: Don't include <stddef.h>.  It was not used.
13018
13019 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
13020
13021         Allow the user to avoid the HAVE_RAW_DECL_* macros.
13022         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
13023
13024 2011-01-23  Bruno Haible  <bruno@clisp.org>
13025
13026         New module 'vma-iter'.
13027         * lib/vma-iter.h: New file.
13028         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
13029         * modules/vma-iter: New file.
13030         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
13031         for get_rusage_as_via_iterator.
13032         (vma_iterate_callback): New function.
13033         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
13034         * modules/get-rusage-as (Depends-on): Add vma-iter.
13035
13036 2011-01-23  Bruno Haible  <bruno@clisp.org>
13037
13038         uninorm: Tweak includes.
13039         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
13040         Reported by Jim Meyering.
13041
13042 2011-01-23  Bruno Haible  <bruno@clisp.org>
13043
13044         get-rusage-as: Improve on NetBSD.
13045         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
13046         /proc, like on FreeBSD.
13047
13048 2011-01-23  Jim Meyering  <meyering@redhat.com>
13049
13050         xreadlink.h: remove unnecessary #include
13051         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
13052
13053         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
13054         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
13055
13056 2011-01-23  Bruno Haible  <bruno@clisp.org>
13057
13058         get-rusage-as: Fix bug.
13059         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
13060         original limit when aborting the first loop.
13061
13062 2011-01-23  Bruno Haible  <bruno@clisp.org>
13063
13064         wctype: Ensure valid C syntax.
13065         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
13066         unconditionally, instead of gl_NEXT_HEADERS conditionally.
13067
13068 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
13069
13070         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
13071         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
13072         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
13073         as they are needed only for configure's test case.
13074         This removes two unnecessary symbols from config.h.
13075
13076         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
13077         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
13078         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
13079         AC_CHECK_HEADERS_ONCE on a header that we also invoke
13080         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
13081         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
13082         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
13083         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
13084         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
13085         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13086         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
13087         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
13088         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
13089         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
13090         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
13091         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
13092         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
13093         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
13094
13095 2011-01-21  Eric Blake  <eblake@redhat.com>
13096
13097         maintainer-makefile: work with older git for submodule check
13098         * top/maint.mk (public-submodule-commit): Rewrite to avoid
13099         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
13100         Reported by Matthias Bolte.
13101
13102         bootstrap: minor portability fixes
13103         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
13104         (usage): Omit leading capital and trailing . on help phrases, per
13105         GNU Coding Standards.
13106         (check_versions, top level): Prefix messages with script name.
13107
13108 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
13109
13110         bootstrap: support --no-git option
13111         * build-aux/bootstrap: Add --no-git option, to be used when
13112         --gnulib-srcdir points to the exact desired checkout.
13113
13114 2011-01-21  Eric Blake  <eblake@redhat.com>
13115
13116         strerror_r-posix: work with glibc 2.13
13117         * lib/strerror_r.c (strerror_r): Fix return type.
13118
13119 2011-01-21  Pádraig Brady  <P@draigBrady.com>
13120             Bruno Haible  <bruno@clisp.org>
13121
13122         uN_strstr: New unit tests.
13123         * modules/unistr/u8-strstr-tests: New file.
13124         * modules/unistr/u16-strstr-tests: New file.
13125         * modules/unistr/u32-strstr-tests: New file.
13126         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
13127         * tests/unistr/test-u8-strstr.c: New file.
13128         * tests/unistr/test-u16-strstr.c: New file.
13129         * tests/unistr/test-u32-strstr.c: New file.
13130
13131 2011-01-21  Pádraig Brady  <P@draigBrady.com>
13132             Bruno Haible  <bruno@clisp.org>
13133
13134         Make uN_strstr functions O(n) worst-case.
13135         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
13136         16-bit and 32-bit unit cases, use the unibyte algorithm from
13137         lib/mbsstr.c.
13138         * lib/unistr/u8-strstr.c: Include <string.h>.
13139         (UNIT_IS_UINT8_T): New macro.
13140         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
13141         (U_STRLEN, U_STRNLEN): New macros.
13142         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
13143         (U_STRLEN, U_STRNLEN): New macros.
13144         * modules/unistr/u8-strstr (Depends-on): Add strstr.
13145         (configure.ac): Update required libunistring version.
13146         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
13147         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
13148         malloca.
13149         (configure.ac): Update required libunistring version.
13150         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
13151         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
13152         malloca.
13153         (configure.ac): Update required libunistring version.
13154
13155 2011-01-21  Pádraig Brady  <P@draigBrady.com>
13156             Bruno Haible  <bruno@clisp.org>
13157
13158         Prepare for faster uN_strstr functions.
13159         * lib/str-kmp.h: Support definable UNITs.
13160         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
13161         needle_len argument.
13162         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
13163         * lib/mbscasestr.c (mbscasestr): Likewise.
13164
13165 2011-01-21  Pádraig Brady <P@draigBrady.com>
13166
13167         malloca-tests: make faster by unsetting MALLOC_PERTURB_
13168         * tests/test-malloca.c (main): Unset the environment variable
13169         to greatly speed up the test.
13170         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
13171         * modules/malloca-tests: Depend on unsetenv.
13172
13173 2011-01-21  Pádraig Brady <P@draigBrady.com>
13174
13175         ignore-value: remove stdint dependency
13176         * lib/ignore-value.h: Remove <stdint.h>
13177         * modules/ignore-value: Remove stdint dependency.
13178
13179 2011-01-21  Jim Meyering  <meyering@redhat.com>
13180
13181         maint.mk: adjust variable name to be consistent with other gl_ vars
13182         * top/maint.mk (gl_public_submodule_commit): Rename the variable
13183         to be lower case.
13184
13185 2011-01-20  Jim Meyering  <meyering@redhat.com>
13186
13187         maint.mk: make "check" depend on public-submodule-commit by default
13188         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
13189
13190 2011-01-20  Bruno Haible  <bruno@clisp.org>
13191
13192         mbfile, mbiter: Complete change from 2008-12-21.
13193         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
13194         * m4/mbiter.m4 (gl_MBITER): Likewise.
13195
13196 2011-01-20  Jim Meyering  <meyering@redhat.com>
13197
13198         init.sh: insert space between each function name and "()"
13199         * tests/init.sh: Make it a little easier to see that a function's
13200         name is "warn_", and not "warn" when looking at the first part of
13201         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
13202
13203 2011-01-20  Jim Meyering  <meyering@redhat.com>
13204
13205         mountlist: clean up code formatting
13206         * lib/mountlist.c (read_file_system_list): Split a long line,
13207         correct bracing style, use NULL in place of "(struct statfs *)0",
13208         don't parenthesize return value, add spaces around "=" and after
13209         ";-in-for-stmt".
13210
13211 2011-01-14  Markus Duft <mduft@gentoo.org>
13212
13213         mountlist: add support for Interix
13214         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
13215         Apply statvfs to all entries of /dev/fs.
13216         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
13217         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
13218
13219 2011-01-20  Jim Meyering  <meyering@redhat.com>
13220
13221         maint.mk: improve the public-submodule-commit rule
13222         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
13223         to suppress printing of its commands... unless V=1.
13224         Add git submodule's --quiet option to suppress printing of e.g.,
13225         "Entering gnulib" output.
13226         "cd" into $(srcdir) before running git submodule.
13227
13228 2011-01-20  Bruno Haible  <bruno@clisp.org>
13229
13230         include_next: Fix bug introduced on 2011-01-18.
13231         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
13232         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
13233         ac_cv_header_... variable if the second argument is not 'check'.
13234         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
13235         gl_NEXT_HEADERS_INTERNAL.
13236
13237 2011-01-20  Bruno Haible  <bruno@clisp.org>
13238
13239         Allow the user to avoid the GNULIB_TEST_* macros.
13240         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
13241         Suggested by Paul Eggert.
13242
13243 2011-01-14  Jim Meyering  <meyering@redhat.com>
13244
13245         bootstrap: avoid failure when there is no .gitmodules file
13246         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
13247         has been assigned to, even when its value is the empty string.
13248         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
13249         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
13250         Reported by John W. Eaton <jwe@gnu.org>.
13251
13252 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
13253
13254         assume <ctype.h>, ..., <time.h> exist
13255         For years gnulib has been assuming the existence of the headers
13256         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
13257         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
13258         them, since they don't appear to be needed.
13259         * README (Portability guidelines): Document this.
13260         * lib/flock.c: Assume <fcntl.h> exists.
13261         * lib/regex_internal.h: Assume <locale.h> exists.
13262         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
13263         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
13264         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
13265         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
13266         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
13267         * m4/regex.m4 (gl_REGEX): Likewise.
13268         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
13269         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
13270         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
13271         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
13272         * tests/test-argp.c: Likewise.
13273         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
13274
13275         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
13276         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
13277         AA_APPLE_UNIVERSAL_BUILD.  See
13278         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
13279         * NEWS: Document this.
13280
13281 2011-01-19  Eric Blake  <eblake@redhat.com>
13282
13283         c-stack: assume stack overflow if SA_SIGINFO unsupported
13284         * lib/c-stack.c (SIGACTION_WORKS): Rename...
13285         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
13286         sigaction will work.
13287         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
13288         behavior match Linux.
13289         * tests/test-c-stack.c (main): Prefer NULL for pointers.
13290
13291         stdbool-tests: accomodate Haiku
13292         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
13293
13294         binary-io: fix O_TEXT on Haiku
13295         * modules/binary-io (Depends-on): Add fcntl-h.
13296         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
13297         than blindly undefining O_TEXT.
13298         Reported by Scott McCreary.
13299
13300 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
13301
13302         include_next: do not check for standard headers like stddef.h
13303
13304         I found this problem when modifying Emacs to use gnulib.
13305         I noticed that it added HAVE_STDDEF_H to config.h, even though
13306         gnulib always assumes <stddef.h> exists as per README and this
13307         symbol is unnecessary.
13308         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
13309         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
13310         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
13311         faster for headers like stddef.h that are known to exist.
13312         (gl_CHECK_NEXT_HEADERS): Use it.
13313         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
13314         rather than gl_CHECK_NEXT_HEADERS.
13315         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
13316         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
13317
13318 2011-01-18  Eric Blake  <eblake@redhat.com>
13319
13320         ansi-c++-opt: skip C++ dependency style if C++ is unused
13321         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
13322         tests when we know C++ compilation is not desired.
13323         Reported by Scott McCreary.
13324
13325 2011-01-18  Bruno Haible  <bruno@clisp.org>
13326
13327         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
13328         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
13329         (main): Perform test also when getrlimit and setrlimit don't exist or
13330         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
13331         limiting the address space size using setrlimit, compare the address
13332         space size before and after the the test.
13333         * tests/test-dprintf-posix2.c: Likewise.
13334         * tests/test-fprintf-posix3.sh: Update skip messages.
13335         * tests/test-dprintf-posix2.sh: Likewise.
13336         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
13337         * modules/dprintf-posix-tests (Depends-on): Likewise.
13338         Reported by Bruce Korb <bkorb@gnu.org> and
13339         Gary V. Vaughan <gary@gnu.org>.
13340
13341 2011-01-18  Bruno Haible  <bruno@clisp.org>
13342
13343         get-rusage-as: Improvement for Cygwin.
13344         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
13345         areas that are merely reserved.
13346
13347 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
13348
13349         strftime: remove dependencies on multibyte modules
13350
13351         strftime depended on mbrlen, mbsinit, and wchar, but these modules
13352         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
13353         only if __osf__ is defined, and I suspect OSF doesn't need these
13354         other modules.  If my guess is wrong, we'll need to come up with a
13355         variant of strftime that doesn't need the multibyte modules.
13356
13357         I discovered this problem when attempting modify Emacs to use the
13358         strftime module.  With the previous gnulib, this caused Emacs to
13359         need 31 new files, ranging from lib/config.charset to
13360         m4/wint_t.m4.  This was overkill and I expect would be offputting
13361         to the Emacs maintainers.  After this change, only 6 new files are
13362         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
13363         stdbool.m4, and tm_gmtoff.m4.
13364
13365         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
13366         Suggested by Bruno Haible in
13367         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
13368         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
13369         and do not check for wchar.h.
13370         * modules/strftime (Files): Remove m4/mbstate_t.m4.
13371         (Depends-on): Remove mbrlen, mbsinit, wchar.
13372
13373 2011-01-18  Bruno Haible  <bruno@clisp.org>
13374
13375         Tests for module 'get-rusage-as'.
13376         * modules/get-rusage-as-tests: New file.
13377         * tests/test-get-rusage-as.c: New file.
13378
13379         New module 'get-rusage-as'.
13380         * modules/get-rusage-as: New file.
13381         * lib/resource-ext.h: New file.
13382         * lib/get-rusage-as.c: New file.
13383
13384 2011-01-17  Eric Blake  <eblake@redhat.com>
13385
13386         sigaction: relax license from LGPLv3+ to LGPLv2+
13387         * modules/sigaction (License): Relax to LGPLv2+.
13388
13389 2011-01-14  Bruno Haible  <bruno@clisp.org>
13390
13391         filemode: Make function declarations usable in C++ mode.
13392         * lib/filemode.h: Enclose function declarations in extern "C" block.
13393         Reported by John W. Eaton <jwe@gnu.org>.
13394
13395 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
13396
13397         save-cwd: no longer include "xgetcwd.h"
13398         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
13399         This avoids a compilation failure in projects that use save-cwd
13400         without also using the xgetcwd module.
13401
13402 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
13403
13404         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
13405         This is so that a program like Emacs, which needs only dtoastr,
13406         does not have to bother with distributing and compiling ftoastr
13407         and ldtoastr.
13408         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
13409         * modules/dtoastr, modules/ldtoastr: New files.
13410         * modules/ftoastr: Now works just for 'float'.
13411         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
13412         (Makefile.am): Remove ftoastr.h (not needed and no effect),
13413         dtoastr.c, ldtoastr.c.
13414
13415 2011-01-11  Jim Meyering  <meyering@redhat.com>
13416
13417         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
13418         There is no need to work around the lack of the fchdir function,
13419         since gnulib can now provide a replacement when required.
13420         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
13421         * modules/save-cwd (Depends-on): Add fchdir.
13422
13423 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
13424
13425         openat, save-cwd: avoid xmalloc
13426
13427         This removes a direct (but undocumented) dependency of openat on
13428         xalloc, along with an indirect dependency via save-cwd.  It also
13429         removes a dependency of save-cwd on xgetcwd, and thereby
13430         indirectly on xalloc.  This change causes the openat substitute
13431         to fall back on save_cwd when memory is tight, and for save_cwd to
13432         fail instead of dying when memory is tight, but that's good enough.
13433         Problem and initial idea for fix reported by Bastien Roucaries in
13434         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
13435
13436         * lib/openat-proc.c: Include stdlib.h (for malloc), not
13437         xalloc.h (for xmalloc).
13438         (openat_proc_name): Use malloc, not xmalloc.
13439         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
13440         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
13441
13442         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
13443         This avoids heap allocation for file names whose lengths are in
13444         the range 512..1023, with the upper bound increasing to at most
13445         4031 depending on the platform's PATH_MAX.  (We do not want
13446         pathmax.h here as it might supply a non-constant PATH_MAX.)
13447         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
13448         Perhaps they should be moved to malloca.h?
13449         (OPENAT_BUFFER_SIZE): Use them.
13450
13451 2011-01-10  Bruno Haible  <bruno@clisp.org>
13452
13453         doc: Update users.txt.
13454         * users.txt: Add recutils.
13455
13456 2011-01-09  Karl Berry  <karl@gnu.org>
13457
13458         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
13459
13460         * doc/configmake.texi: New file.
13461         * doc/gnulib.texi: Include it.
13462         * modules/configmake: Move documentation from here.
13463
13464 2011-01-09  Bruno Haible  <bruno@clisp.org>
13465
13466         Update to Unicode 6.0.0.
13467         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
13468         (get_lbp): Update for Unicode 6.0.0.
13469         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
13470         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
13471         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
13472         U+11001, U+11038..U+11046. Remove U+06DE.
13473         (uc_width): Fix bounds of planes.
13474         * tests/uniwidth/test-uc_width2.sh: Same updates as in
13475         lib/uniwidth/width.c.
13476         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
13477         trailing whitespace removed.
13478         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
13479         without comments, but with the original copyright notice.
13480         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
13481         * lib/unicase/ignorable.h: Likewise.
13482         * lib/unicase/tocasefold.h: Likewise.
13483         * lib/unicase/tolower.h: Likewise.
13484         * lib/unicase/totitle.h: Likewise.
13485         * lib/unicase/toupper.h: Likewise.
13486         * lib/unictype/bidi_of.h: Likewise.
13487         * lib/unictype/blocks.h: Likewise.
13488         * lib/unictype/categ_C.h: Likewise.
13489         * lib/unictype/categ_Cn.h: Likewise.
13490         * lib/unictype/categ_L.h: Likewise.
13491         * lib/unictype/categ_Ll.h: Likewise.
13492         * lib/unictype/categ_Lm.h: Likewise.
13493         * lib/unictype/categ_Lo.h: Likewise.
13494         * lib/unictype/categ_Lu.h: Likewise.
13495         * lib/unictype/categ_M.h: Likewise.
13496         * lib/unictype/categ_Mc.h: Likewise.
13497         * lib/unictype/categ_Me.h: Likewise.
13498         * lib/unictype/categ_Mn.h: Likewise.
13499         * lib/unictype/categ_N.h: Likewise.
13500         * lib/unictype/categ_Nd.h: Likewise.
13501         * lib/unictype/categ_No.h: Likewise.
13502         * lib/unictype/categ_P.h: Likewise.
13503         * lib/unictype/categ_Po.h: Likewise.
13504         * lib/unictype/categ_S.h: Likewise.
13505         * lib/unictype/categ_Sc.h: Likewise.
13506         * lib/unictype/categ_Sk.h: Likewise.
13507         * lib/unictype/categ_Sm.h: Likewise.
13508         * lib/unictype/categ_So.h: Likewise.
13509         * lib/unictype/categ_of.h: Likewise.
13510         * lib/unictype/combining.h: Likewise.
13511         * lib/unictype/ctype_alnum.h: Likewise.
13512         * lib/unictype/ctype_alpha.h: Likewise.
13513         * lib/unictype/ctype_graph.h: Likewise.
13514         * lib/unictype/ctype_lower.h: Likewise.
13515         * lib/unictype/ctype_print.h: Likewise.
13516         * lib/unictype/ctype_punct.h: Likewise.
13517         * lib/unictype/ctype_upper.h: Likewise.
13518         * lib/unictype/decdigit.h: Likewise.
13519         * lib/unictype/digit.h: Likewise.
13520         * lib/unictype/numeric.h: Likewise.
13521         * lib/unictype/pr_alphabetic.h: Likewise.
13522         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
13523         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
13524         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
13525         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
13526         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
13527         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
13528         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
13529         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
13530         * lib/unictype/pr_case_ignorable.h: Likewise.
13531         * lib/unictype/pr_cased.h: Likewise.
13532         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
13533         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
13534         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
13535         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
13536         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
13537         * lib/unictype/pr_combining.h: Likewise.
13538         * lib/unictype/pr_composite.h: Likewise.
13539         * lib/unictype/pr_currency_symbol.h: Likewise.
13540         * lib/unictype/pr_decimal_digit.h: Likewise.
13541         * lib/unictype/pr_deprecated.h: Likewise.
13542         * lib/unictype/pr_format_control.h: Likewise.
13543         * lib/unictype/pr_grapheme_base.h: Likewise.
13544         * lib/unictype/pr_grapheme_extend.h: Likewise.
13545         * lib/unictype/pr_grapheme_link.h: Likewise.
13546         * lib/unictype/pr_id_continue.h: Likewise.
13547         * lib/unictype/pr_id_start.h: Likewise.
13548         * lib/unictype/pr_ideographic.h: Likewise.
13549         * lib/unictype/pr_lowercase.h: Likewise.
13550         * lib/unictype/pr_math.h: Likewise.
13551         * lib/unictype/pr_numeric.h: Likewise.
13552         * lib/unictype/pr_other_alphabetic.h: Likewise.
13553         * lib/unictype/pr_other_id_continue.h: Likewise.
13554         * lib/unictype/pr_other_math.h: Likewise.
13555         * lib/unictype/pr_punctuation.h: Likewise.
13556         * lib/unictype/pr_sentence_terminal.h: Likewise.
13557         * lib/unictype/pr_terminal_punctuation.h: Likewise.
13558         * lib/unictype/pr_unassigned_code_value.h: Likewise.
13559         * lib/unictype/pr_unified_ideograph.h: Likewise.
13560         * lib/unictype/pr_uppercase.h: Likewise.
13561         * lib/unictype/pr_xid_continue.h: Likewise.
13562         * lib/unictype/pr_xid_start.h: Likewise.
13563         * lib/unictype/scripts.h: Likewise.
13564         * lib/unictype/scripts_byname.gperf: Likewise.
13565         * lib/unictype/sy_java_ident.h: Likewise.
13566         * lib/unigbrk/gbrkprop.h: Likewise.
13567         * lib/unilbrk/lbrkprop1.h: Likewise.
13568         * lib/unilbrk/lbrkprop2.h: Likewise.
13569         * lib/uninorm/decomposition-table2.h: Likewise.
13570         * lib/uniwbrk/wbrkprop.h: Likewise.
13571         * tests/unicase/test-cased.c: Likewise.
13572         * tests/unicase/test-ignorable.c: Likewise.
13573         * tests/unicase/test-uc_tolower.c: Likewise.
13574         * tests/unicase/test-uc_totitle.c: Likewise.
13575         * tests/unicase/test-uc_toupper.c: Likewise.
13576         * tests/unictype/test-categ_C.c: Likewise.
13577         * tests/unictype/test-categ_Cn.c: Likewise.
13578         * tests/unictype/test-categ_L.c: Likewise.
13579         * tests/unictype/test-categ_Ll.c: Likewise.
13580         * tests/unictype/test-categ_Lm.c: Likewise.
13581         * tests/unictype/test-categ_Lo.c: Likewise.
13582         * tests/unictype/test-categ_Lu.c: Likewise.
13583         * tests/unictype/test-categ_M.c: Likewise.
13584         * tests/unictype/test-categ_Mc.c: Likewise.
13585         * tests/unictype/test-categ_Me.c: Likewise.
13586         * tests/unictype/test-categ_Mn.c: Likewise.
13587         * tests/unictype/test-categ_N.c: Likewise.
13588         * tests/unictype/test-categ_Nd.c: Likewise.
13589         * tests/unictype/test-categ_No.c: Likewise.
13590         * tests/unictype/test-categ_P.c: Likewise.
13591         * tests/unictype/test-categ_Po.c: Likewise.
13592         * tests/unictype/test-categ_S.c: Likewise.
13593         * tests/unictype/test-categ_Sc.c: Likewise.
13594         * tests/unictype/test-categ_Sk.c: Likewise.
13595         * tests/unictype/test-categ_Sm.c: Likewise.
13596         * tests/unictype/test-categ_So.c: Likewise.
13597         * tests/unictype/test-ctype_alnum.c: Likewise.
13598         * tests/unictype/test-ctype_alpha.c: Likewise.
13599         * tests/unictype/test-ctype_graph.c: Likewise.
13600         * tests/unictype/test-ctype_lower.c: Likewise.
13601         * tests/unictype/test-ctype_print.c: Likewise.
13602         * tests/unictype/test-ctype_punct.c: Likewise.
13603         * tests/unictype/test-ctype_upper.c: Likewise.
13604         * tests/unictype/test-decdigit.h: Likewise.
13605         * tests/unictype/test-digit.h: Likewise.
13606         * tests/unictype/test-numeric.h: Likewise.
13607         * tests/unictype/test-pr_alphabetic.c: Likewise.
13608         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
13609         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
13610         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
13611         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
13612         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
13613         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
13614         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
13615         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
13616         * tests/unictype/test-pr_case_ignorable.c: Likewise.
13617         * tests/unictype/test-pr_cased.c: Likewise.
13618         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
13619         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
13620         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
13621         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
13622         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
13623         * tests/unictype/test-pr_combining.c: Likewise.
13624         * tests/unictype/test-pr_composite.c: Likewise.
13625         * tests/unictype/test-pr_currency_symbol.c: Likewise.
13626         * tests/unictype/test-pr_decimal_digit.c: Likewise.
13627         * tests/unictype/test-pr_deprecated.c: Likewise.
13628         * tests/unictype/test-pr_format_control.c: Likewise.
13629         * tests/unictype/test-pr_grapheme_base.c: Likewise.
13630         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
13631         * tests/unictype/test-pr_grapheme_link.c: Likewise.
13632         * tests/unictype/test-pr_id_continue.c: Likewise.
13633         * tests/unictype/test-pr_id_start.c: Likewise.
13634         * tests/unictype/test-pr_ideographic.c: Likewise.
13635         * tests/unictype/test-pr_lowercase.c: Likewise.
13636         * tests/unictype/test-pr_math.c: Likewise.
13637         * tests/unictype/test-pr_numeric.c: Likewise.
13638         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
13639         * tests/unictype/test-pr_other_id_continue.c: Likewise.
13640         * tests/unictype/test-pr_other_math.c: Likewise.
13641         * tests/unictype/test-pr_punctuation.c: Likewise.
13642         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
13643         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
13644         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
13645         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
13646         * tests/unictype/test-pr_uppercase.c: Likewise.
13647         * tests/unictype/test-pr_xid_continue.c: Likewise.
13648         * tests/unictype/test-pr_xid_start.c: Likewise.
13649         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
13650         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
13651         changes.
13652         * lib/unictype/categ_Cc.h: Likewise.
13653         * lib/unictype/categ_Cf.h: Likewise.
13654         * lib/unictype/categ_Co.h: Likewise.
13655         * lib/unictype/categ_Cs.h: Likewise.
13656         * lib/unictype/categ_Lt.h: Likewise.
13657         * lib/unictype/categ_Nl.h: Likewise.
13658         * lib/unictype/categ_Pc.h: Likewise.
13659         * lib/unictype/categ_Pd.h: Likewise.
13660         * lib/unictype/categ_Pe.h: Likewise.
13661         * lib/unictype/categ_Pf.h: Likewise.
13662         * lib/unictype/categ_Pi.h: Likewise.
13663         * lib/unictype/categ_Ps.h: Likewise.
13664         * lib/unictype/categ_Z.h: Likewise.
13665         * lib/unictype/categ_Zl.h: Likewise.
13666         * lib/unictype/categ_Zp.h: Likewise.
13667         * lib/unictype/categ_Zs.h: Likewise.
13668         * lib/unictype/ctype_blank.h: Likewise.
13669         * lib/unictype/ctype_cntrl.h: Likewise.
13670         * lib/unictype/ctype_digit.h: Likewise.
13671         * lib/unictype/ctype_space.h: Likewise.
13672         * lib/unictype/ctype_xdigit.h: Likewise.
13673         * lib/unictype/mirror.h: Likewise.
13674         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
13675         * lib/unictype/pr_bidi_block_separator.h: Likewise.
13676         * lib/unictype/pr_bidi_common_separator.h: Likewise.
13677         * lib/unictype/pr_bidi_control.h: Likewise.
13678         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
13679         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
13680         * lib/unictype/pr_bidi_european_digit.h: Likewise.
13681         * lib/unictype/pr_bidi_pdf.h: Likewise.
13682         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
13683         * lib/unictype/pr_bidi_whitespace.h: Likewise.
13684         * lib/unictype/pr_dash.h: Likewise.
13685         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
13686         * lib/unictype/pr_diacritic.h: Likewise.
13687         * lib/unictype/pr_extender.h: Likewise.
13688         * lib/unictype/pr_hex_digit.h: Likewise.
13689         * lib/unictype/pr_hyphen.h: Likewise.
13690         * lib/unictype/pr_ids_binary_operator.h: Likewise.
13691         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
13692         * lib/unictype/pr_ignorable_control.h: Likewise.
13693         * lib/unictype/pr_iso_control.h: Likewise.
13694         * lib/unictype/pr_join_control.h: Likewise.
13695         * lib/unictype/pr_left_of_pair.h: Likewise.
13696         * lib/unictype/pr_line_separator.h: Likewise.
13697         * lib/unictype/pr_logical_order_exception.h: Likewise.
13698         * lib/unictype/pr_non_break.h: Likewise.
13699         * lib/unictype/pr_not_a_character.h: Likewise.
13700         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
13701         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
13702         * lib/unictype/pr_other_id_start.h: Likewise.
13703         * lib/unictype/pr_other_lowercase.h: Likewise.
13704         * lib/unictype/pr_other_uppercase.h: Likewise.
13705         * lib/unictype/pr_paired_punctuation.h: Likewise.
13706         * lib/unictype/pr_paragraph_separator.h: Likewise.
13707         * lib/unictype/pr_pattern_syntax.h: Likewise.
13708         * lib/unictype/pr_pattern_white_space.h: Likewise.
13709         * lib/unictype/pr_private_use.h: Likewise.
13710         * lib/unictype/pr_quotation_mark.h: Likewise.
13711         * lib/unictype/pr_radical.h: Likewise.
13712         * lib/unictype/pr_soft_dotted.h: Likewise.
13713         * lib/unictype/pr_space.h: Likewise.
13714         * lib/unictype/pr_titlecase.h: Likewise.
13715         * lib/unictype/pr_variation_selector.h: Likewise.
13716         * lib/unictype/pr_white_space.h: Likewise.
13717         * lib/unictype/pr_zero_width.h: Likewise.
13718         * lib/unictype/sy_c_ident.h: Likewise.
13719         * lib/unictype/sy_c_whitespace.h: Likewise.
13720         * lib/unictype/sy_java_whitespace.h: Likewise.
13721         * lib/uninorm/composition-table.gperf: Likewise.
13722         * lib/uninorm/decomposition-table1.h: Likewise.
13723         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
13724         LB8.
13725         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
13726         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
13727         * modules/unictype/*: Bump version number of expected libunistring
13728         version.
13729
13730 2011-01-09  Bruno Haible  <bruno@clisp.org>
13731
13732         Update to Unicode 5.2.0.
13733         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
13734         trailing whitespace removed.
13735
13736 2011-01-09  Bruno Haible  <bruno@clisp.org>
13737
13738         New Unicode character properties, from Unicode 5.2.0.
13739         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
13740         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
13741         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
13742         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
13743         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
13744         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
13745         uc_is_property_cased, uc_is_property_case_ignorable,
13746         uc_is_property_changes_when_lowercased,
13747         uc_is_property_changes_when_uppercased,
13748         uc_is_property_changes_when_titlecased,
13749         uc_is_property_changes_when_casefolded,
13750         uc_is_property_changes_when_casemapped): New declarations.
13751         * lib/unictype/pr_byname.gperf: Add the new properties.
13752         * modules/unictype/property-byname (Depends-on): Depend on the new
13753         properties modules.
13754         * modules/unictype/property-all (Depends-on): Likewise.
13755         * MODULES.html.sh (Unicode string functions): Add
13756         unictype/property-case-ignorable, unictype/property-cased,
13757         unictype/property-changes-when-casefolded,
13758         unictype/property-changes-when-casemapped,
13759         unictype/property-changes-when-lowercased,
13760         unictype/property-changes-when-titlecased,
13761         unictype/property-changes-when-uppercased.
13762
13763         New module 'unictype/property-changes-when-casemapped'.
13764         * modules/unictype/property-changes-when-casemapped: New file.
13765         * lib/unictype/pr_changes_when_casemapped.c: New file.
13766         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
13767         generated by gen-uni-tables.
13768         * modules/unictype/property-changes-when-casemapped-tests: New file.
13769         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
13770         automatically generated by gen-uni-tables.
13771
13772         New module 'unictype/property-changes-when-casefolded'.
13773         * modules/unictype/property-changes-when-casefolded: New file.
13774         * lib/unictype/pr_changes_when_casefolded.c: New file.
13775         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
13776         generated by gen-uni-tables.
13777         * modules/unictype/property-changes-when-casefolded-tests: New file.
13778         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
13779         automatically generated by gen-uni-tables.
13780
13781         New module 'unictype/property-changes-when-titlecased'.
13782         * modules/unictype/property-changes-when-titlecased: New file.
13783         * lib/unictype/pr_changes_when_titlecased.c: New file.
13784         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
13785         generated by gen-uni-tables.
13786         * modules/unictype/property-changes-when-titlecased-tests: New file.
13787         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
13788         automatically generated by gen-uni-tables.
13789
13790         New module 'unictype/property-changes-when-uppercased'.
13791         * modules/unictype/property-changes-when-uppercased: New file.
13792         * lib/unictype/pr_changes_when_uppercased.c: New file.
13793         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
13794         generated by gen-uni-tables.
13795         * modules/unictype/property-changes-when-uppercased-tests: New file.
13796         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
13797         automatically generated by gen-uni-tables.
13798
13799         New module 'unictype/property-changes-when-lowercased'.
13800         * modules/unictype/property-changes-when-lowercased: New file.
13801         * lib/unictype/pr_changes_when_lowercased.c: New file.
13802         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
13803         generated by gen-uni-tables.
13804         * modules/unictype/property-changes-when-lowercased-tests: New file.
13805         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
13806         automatically generated by gen-uni-tables.
13807
13808         New module 'unictype/property-case-ignorable'.
13809         * modules/unictype/property-case-ignorable: New file.
13810         * lib/unictype/pr_case_ignorable.c: New file.
13811         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
13812         by gen-uni-tables.
13813         * modules/unictype/property-case-ignorable-tests: New file.
13814         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
13815         generated by gen-uni-tables.
13816
13817         New module 'unictype/property-cased'.
13818         * modules/unictype/property-cased: New file.
13819         * lib/unictype/pr_cased.c: New file.
13820         * lib/unictype/pr_cased.h: New file, automatically generated by
13821         gen-uni-tables.
13822         * modules/unictype/property-cased-tests: New file.
13823         * tests/unictype/test-pr_cased.c: New file, automatically generated by
13824         gen-uni-tables.
13825
13826 2011-01-09  Bruno Haible  <bruno@clisp.org>
13827
13828         Update to Unicode 5.2.0.
13829         * lib/gen-uni-tables.c (output_predicate, output_category,
13830         output_combclass, output_bidi_category, output_decimal_digit_test,
13831         output_decimal_digit, output_digit_test, output_digit,
13832         output_numeric_test, output_numeric, output_mirror, output_scripts,
13833         output_scripts_byname, output_blocks, output_ident_category): Fix
13834         comment header.
13835         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
13836         get_wbp.
13837         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
13838         items.
13839         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
13840         Changes_When_Lowercased, Changes_When_Uppercased,
13841         Changes_When_Titlecased, Changes_When_Casefolded,
13842         Changes_When_Casemapped.
13843         (is_property_alphabetic, is_property_default_ignorable_code_point):
13844         Update for Unicode 5.2.0.
13845         (is_property_cased, is_property_case_ignorable,
13846         is_property_changes_when_lowercased,
13847         is_property_changes_when_uppercased,
13848         is_property_changes_when_titlecased,
13849         is_property_changes_when_casefolded,
13850         is_property_changes_when_casemapped): New functions.
13851         (output_properties): Output also the properties cased, case_ignorable,
13852         changes_when_lowercased, changes_when_uppercased,
13853         changes_when_titlecased, changes_when_casefolded,
13854         changes_when_casemapped.
13855         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
13856         Unicode TR#11 revision 17 -> 19.
13857         (LBP_CP): New enumeration value.
13858         (LBP_*): Adjust values accordingly.
13859         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
13860         TR#14 revision 22 -> 24.
13861         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
13862         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
13863         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
13864         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
13865         is_WBP_MIDLETTER.
13866         (output_composition_tables): Allow for 24 bits instead of 16 bits in
13867         the code1 and code2 of each composition rule.
13868         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
13869         * lib/unicase/ignorable.h: Likewise.
13870         * lib/unicase/tocasefold.h: Likewise.
13871         * lib/unicase/tolower.h: Likewise.
13872         * lib/unicase/totitle.h: Likewise.
13873         * lib/unicase/toupper.h: Likewise.
13874         * lib/unictype/bidi_of.h: Likewise.
13875         * lib/unictype/blocks.h: Likewise.
13876         * lib/unictype/categ_C.h: Likewise.
13877         * lib/unictype/categ_Cf.h: Likewise.
13878         * lib/unictype/categ_Cn.h: Likewise.
13879         * lib/unictype/categ_L.h: Likewise.
13880         * lib/unictype/categ_Ll.h: Likewise.
13881         * lib/unictype/categ_Lm.h: Likewise.
13882         * lib/unictype/categ_Lo.h: Likewise.
13883         * lib/unictype/categ_Lu.h: Likewise.
13884         * lib/unictype/categ_M.h: Likewise.
13885         * lib/unictype/categ_Mc.h: Likewise.
13886         * lib/unictype/categ_Mn.h: Likewise.
13887         * lib/unictype/categ_N.h: Likewise.
13888         * lib/unictype/categ_Nd.h: Likewise.
13889         * lib/unictype/categ_Nl.h: Likewise.
13890         * lib/unictype/categ_No.h: Likewise.
13891         * lib/unictype/categ_P.h: Likewise.
13892         * lib/unictype/categ_Pd.h: Likewise.
13893         * lib/unictype/categ_Po.h: Likewise.
13894         * lib/unictype/categ_S.h: Likewise.
13895         * lib/unictype/categ_Sc.h: Likewise.
13896         * lib/unictype/categ_So.h: Likewise.
13897         * lib/unictype/categ_of.h: Likewise.
13898         * lib/unictype/combining.h: Likewise.
13899         * lib/unictype/ctype_alnum.h: Likewise.
13900         * lib/unictype/ctype_alpha.h: Likewise.
13901         * lib/unictype/ctype_graph.h: Likewise.
13902         * lib/unictype/ctype_lower.h: Likewise.
13903         * lib/unictype/ctype_print.h: Likewise.
13904         * lib/unictype/ctype_punct.h: Likewise.
13905         * lib/unictype/ctype_upper.h: Likewise.
13906         * lib/unictype/decdigit.h: Likewise.
13907         * lib/unictype/digit.h: Likewise.
13908         * lib/unictype/numeric.h: Likewise.
13909         * lib/unictype/pr_alphabetic.h: Likewise.
13910         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
13911         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
13912         * lib/unictype/pr_bidi_european_digit.h: Likewise.
13913         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
13914         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
13915         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
13916         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
13917         * lib/unictype/pr_combining.h: Likewise.
13918         * lib/unictype/pr_composite.h: Likewise.
13919         * lib/unictype/pr_currency_symbol.h: Likewise.
13920         * lib/unictype/pr_dash.h: Likewise.
13921         * lib/unictype/pr_decimal_digit.h: Likewise.
13922         * lib/unictype/pr_deprecated.h: Likewise.
13923         * lib/unictype/pr_diacritic.h: Likewise.
13924         * lib/unictype/pr_extender.h: Likewise.
13925         * lib/unictype/pr_grapheme_base.h: Likewise.
13926         * lib/unictype/pr_grapheme_extend.h: Likewise.
13927         * lib/unictype/pr_grapheme_link.h: Likewise.
13928         * lib/unictype/pr_id_continue.h: Likewise.
13929         * lib/unictype/pr_id_start.h: Likewise.
13930         * lib/unictype/pr_ideographic.h: Likewise.
13931         * lib/unictype/pr_ignorable_control.h: Likewise.
13932         * lib/unictype/pr_logical_order_exception.h: Likewise.
13933         * lib/unictype/pr_lowercase.h: Likewise.
13934         * lib/unictype/pr_numeric.h: Likewise.
13935         * lib/unictype/pr_other_alphabetic.h: Likewise.
13936         * lib/unictype/pr_punctuation.h: Likewise.
13937         * lib/unictype/pr_sentence_terminal.h: Likewise.
13938         * lib/unictype/pr_terminal_punctuation.h: Likewise.
13939         * lib/unictype/pr_unassigned_code_value.h: Likewise.
13940         * lib/unictype/pr_unified_ideograph.h: Likewise.
13941         * lib/unictype/pr_uppercase.h: Likewise.
13942         * lib/unictype/pr_xid_continue.h: Likewise.
13943         * lib/unictype/pr_xid_start.h: Likewise.
13944         * lib/unictype/pr_zero_width.h: Likewise.
13945         * lib/unictype/scripts.h: Likewise.
13946         * lib/unictype/scripts_byname.gperf: Likewise.
13947         * lib/unictype/sy_java_ident.h: Likewise.
13948         * lib/unigbrk/gbrkprop.h: Likewise.
13949         * lib/unilbrk/lbrkprop1.h: Likewise.
13950         * lib/unilbrk/lbrkprop2.h: Likewise.
13951         * lib/unilbrk/lbrktables.h: Likewise.
13952         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
13953         LBP_CP. Implement rule LB30.
13954         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
13955         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
13956         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
13957         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
13958         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
13959         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
13960         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
13961         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
13962         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
13963         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
13964         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
13965         bits instead of 16 bits in the code1 and code2 of each composition
13966         rule.
13967         (uc_composition): Update for Unicode 5.2.0.
13968         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
13969         * lib/uninorm/decomposition-table2.h: Likewise.
13970         * lib/uniwbrk/wbrkprop.h: Likewise.
13971         * tests/unicase/test-cased.c: Likewise.
13972         * tests/unicase/test-ignorable.c: Likewise.
13973         * tests/unicase/test-uc_tolower.c: Likewise.
13974         * tests/unicase/test-uc_totitle.c: Likewise.
13975         * tests/unicase/test-uc_toupper.c: Likewise.
13976         * tests/unictype/test-categ_C.c: Likewise.
13977         * tests/unictype/test-categ_Cf.c: Likewise.
13978         * tests/unictype/test-categ_Cn.c: Likewise.
13979         * tests/unictype/test-categ_L.c: Likewise.
13980         * tests/unictype/test-categ_Ll.c: Likewise.
13981         * tests/unictype/test-categ_Lm.c: Likewise.
13982         * tests/unictype/test-categ_Lo.c: Likewise.
13983         * tests/unictype/test-categ_Lu.c: Likewise.
13984         * tests/unictype/test-categ_M.c: Likewise.
13985         * tests/unictype/test-categ_Mc.c: Likewise.
13986         * tests/unictype/test-categ_Mn.c: Likewise.
13987         * tests/unictype/test-categ_N.c: Likewise.
13988         * tests/unictype/test-categ_Nd.c: Likewise.
13989         * tests/unictype/test-categ_Nl.c: Likewise.
13990         * tests/unictype/test-categ_No.c: Likewise.
13991         * tests/unictype/test-categ_P.c: Likewise.
13992         * tests/unictype/test-categ_Pd.c: Likewise.
13993         * tests/unictype/test-categ_Po.c: Likewise.
13994         * tests/unictype/test-categ_S.c: Likewise.
13995         * tests/unictype/test-categ_Sc.c: Likewise.
13996         * tests/unictype/test-categ_So.c: Likewise.
13997         * tests/unictype/test-ctype_alnum.c: Likewise.
13998         * tests/unictype/test-ctype_alpha.c: Likewise.
13999         * tests/unictype/test-ctype_graph.c: Likewise.
14000         * tests/unictype/test-ctype_lower.c: Likewise.
14001         * tests/unictype/test-ctype_print.c: Likewise.
14002         * tests/unictype/test-ctype_punct.c: Likewise.
14003         * tests/unictype/test-ctype_upper.c: Likewise.
14004         * tests/unictype/test-decdigit.h: Likewise.
14005         * tests/unictype/test-digit.h: Likewise.
14006         * tests/unictype/test-numeric.h: Likewise.
14007         * tests/unictype/test-pr_alphabetic.c: Likewise.
14008         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
14009         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
14010         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
14011         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
14012         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
14013         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
14014         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
14015         * tests/unictype/test-pr_combining.c: Likewise.
14016         * tests/unictype/test-pr_composite.c: Likewise.
14017         * tests/unictype/test-pr_currency_symbol.c: Likewise.
14018         * tests/unictype/test-pr_dash.c: Likewise.
14019         * tests/unictype/test-pr_decimal_digit.c: Likewise.
14020         * tests/unictype/test-pr_deprecated.c: Likewise.
14021         * tests/unictype/test-pr_diacritic.c: Likewise.
14022         * tests/unictype/test-pr_extender.c: Likewise.
14023         * tests/unictype/test-pr_grapheme_base.c: Likewise.
14024         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
14025         * tests/unictype/test-pr_grapheme_link.c: Likewise.
14026         * tests/unictype/test-pr_id_continue.c: Likewise.
14027         * tests/unictype/test-pr_id_start.c: Likewise.
14028         * tests/unictype/test-pr_ideographic.c: Likewise.
14029         * tests/unictype/test-pr_ignorable_control.c: Likewise.
14030         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
14031         * tests/unictype/test-pr_lowercase.c: Likewise.
14032         * tests/unictype/test-pr_numeric.c: Likewise.
14033         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
14034         * tests/unictype/test-pr_punctuation.c: Likewise.
14035         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
14036         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
14037         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
14038         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
14039         * tests/unictype/test-pr_uppercase.c: Likewise.
14040         * tests/unictype/test-pr_xid_continue.c: Likewise.
14041         * tests/unictype/test-pr_xid_start.c: Likewise.
14042         * tests/unictype/test-pr_zero_width.c: Likewise.
14043         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
14044         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
14045         changed behaviour: line breaking is now disallowed between a letter
14046         or '=' and '('.
14047         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
14048         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
14049         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
14050         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
14051         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14052         lib/uniwidth/width.c.
14053         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
14054         without comments, but with the original copyright notice.
14055         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
14056         changes.
14057         * lib/unictype/categ_Cc.h: Likewise.
14058         * lib/unictype/categ_Co.h: Likewise.
14059         * lib/unictype/categ_Cs.h: Likewise.
14060         * lib/unictype/categ_Lt.h: Likewise.
14061         * lib/unictype/categ_Me.h: Likewise.
14062         * lib/unictype/categ_Pc.h: Likewise.
14063         * lib/unictype/categ_Pe.h: Likewise.
14064         * lib/unictype/categ_Pf.h: Likewise.
14065         * lib/unictype/categ_Pi.h: Likewise.
14066         * lib/unictype/categ_Ps.h: Likewise.
14067         * lib/unictype/categ_Sk.h: Likewise.
14068         * lib/unictype/categ_Sm.h: Likewise.
14069         * lib/unictype/categ_Z.h: Likewise.
14070         * lib/unictype/categ_Zl.h: Likewise.
14071         * lib/unictype/categ_Zp.h: Likewise.
14072         * lib/unictype/categ_Zs.h: Likewise.
14073         * lib/unictype/ctype_blank.h: Likewise.
14074         * lib/unictype/ctype_cntrl.h: Likewise.
14075         * lib/unictype/ctype_digit.h: Likewise.
14076         * lib/unictype/ctype_space.h: Likewise.
14077         * lib/unictype/ctype_xdigit.h: Likewise.
14078         * lib/unictype/mirror.h: Likewise.
14079         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
14080         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
14081         * lib/unictype/pr_bidi_block_separator.h: Likewise.
14082         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
14083         * lib/unictype/pr_bidi_common_separator.h: Likewise.
14084         * lib/unictype/pr_bidi_control.h: Likewise.
14085         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
14086         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
14087         * lib/unictype/pr_bidi_pdf.h: Likewise.
14088         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
14089         * lib/unictype/pr_bidi_whitespace.h: Likewise.
14090         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
14091         * lib/unictype/pr_format_control.h: Likewise.
14092         * lib/unictype/pr_hex_digit.h: Likewise.
14093         * lib/unictype/pr_hyphen.h: Likewise.
14094         * lib/unictype/pr_ids_binary_operator.h: Likewise.
14095         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
14096         * lib/unictype/pr_iso_control.h: Likewise.
14097         * lib/unictype/pr_join_control.h: Likewise.
14098         * lib/unictype/pr_left_of_pair.h: Likewise.
14099         * lib/unictype/pr_line_separator.h: Likewise.
14100         * lib/unictype/pr_math.h: Likewise.
14101         * lib/unictype/pr_non_break.h: Likewise.
14102         * lib/unictype/pr_not_a_character.h: Likewise.
14103         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
14104         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
14105         * lib/unictype/pr_other_id_continue.h: Likewise.
14106         * lib/unictype/pr_other_id_start.h: Likewise.
14107         * lib/unictype/pr_other_lowercase.h: Likewise.
14108         * lib/unictype/pr_other_math.h: Likewise.
14109         * lib/unictype/pr_other_uppercase.h: Likewise.
14110         * lib/unictype/pr_paired_punctuation.h: Likewise.
14111         * lib/unictype/pr_paragraph_separator.h: Likewise.
14112         * lib/unictype/pr_pattern_syntax.h: Likewise.
14113         * lib/unictype/pr_pattern_white_space.h: Likewise.
14114         * lib/unictype/pr_private_use.h: Likewise.
14115         * lib/unictype/pr_quotation_mark.h: Likewise.
14116         * lib/unictype/pr_radical.h: Likewise.
14117         * lib/unictype/pr_soft_dotted.h: Likewise.
14118         * lib/unictype/pr_space.h: Likewise.
14119         * lib/unictype/pr_titlecase.h: Likewise.
14120         * lib/unictype/pr_variation_selector.h: Likewise.
14121         * lib/unictype/pr_white_space.h: Likewise.
14122         * lib/unictype/sy_c_ident.h: Likewise.
14123         * lib/unictype/sy_c_whitespace.h: Likewise.
14124         * lib/unictype/sy_java_whitespace.h: Likewise.
14125         * modules/uni*/*: Bump version number of expected libunistring version.
14126         Reported by Simon Josefsson.
14127
14128 2011-01-09  Karl Heuer  <kwzh@gnu.org>
14129
14130         useless-if-before-free: fix typo in --help and make the internal,
14131         automatic version date update process work once again.
14132         --help output contained a NUL character instead of the
14133         backslash-zero that was intended.  Also, the "must lie within
14134         the first 8 lines" line is on line 9, and hence not getting
14135         automatically updated.
14136         * build-aux/useless-if-before-free: Fix the former by adding a
14137         backslash, and the latter by condensing the three lines of what-it-does
14138         to a single line, leaving one line of slack for the future.
14139
14140 2011-01-09  Bruno Haible  <bruno@clisp.org>
14141
14142         uniwidth/width: Fix width of U+1D173..U+1D17A.
14143         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
14144         symbolic_width, output_width_property_test): New functions.
14145         (main): Invoke output_nonspacing_property, output_width_property_test.
14146         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
14147         U+1D173..U+1D17A.
14148         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
14149         1.
14150         * modules/uniwidth/*: Bump version number of expected libunistring
14151         version.
14152         * modules/unilbrk/*: Likewise.
14153
14154 2011-01-08  Bruno Haible  <bruno@clisp.org>
14155
14156         uninorm tests: Preserve copyright of Unicode data file.
14157         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
14158         Mention modifications.
14159
14160 2011-01-08  Bruno Haible  <bruno@clisp.org>
14161
14162         gen-uni-tables: Prepare for Unicode 5.2.0.
14163         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
14164         (debug_output_lbp, output_lbp): Update.
14165
14166 2011-01-08  Bruno Haible  <bruno@clisp.org>
14167
14168         unilbrk: Clarify gen-uni-tables.c code.
14169         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
14170         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
14171         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
14172
14173 2011-01-07  Bruno Haible  <bruno@clisp.org>
14174
14175         strtod: Restore errno when successfully parsing Infinity or NaN.
14176         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
14177         restore the original errno.
14178
14179 2011-01-07  Bruno Haible  <bruno@clisp.org>
14180
14181         remove test: Avoid failure on HP-UX 11.
14182         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
14183
14184 2011-01-07  Bruno Haible  <bruno@clisp.org>
14185
14186         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
14187         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
14188         error code.
14189
14190 2011-01-07  Pádraig Brady <P@draigBrady.com>
14191
14192         ignore-value: fixup comments, and add Eric Blake
14193         as an author since he rewrote the macros.
14194         * lib/ignore-value.h (ignore_value):  State that
14195         we now support aggregates.  Also specify exactly
14196         when the GCC warn_unused_result feature was added.
14197
14198 2011-01-06  Eric Blake  <eblake@redhat.com>
14199
14200         ignore-value: support aggregate types
14201         * lib/ignore-value.h (ignore_value): Provide separate gcc
14202         definition.
14203         * modules/ignore-value-tests: New test module.
14204         * tests/test-ignore-value.c: New test.
14205
14206         maint.mk: improve sc_prohibit_strcmp regex
14207         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
14208         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
14209         definition of STRNEQ.
14210
14211         signal: work around Haiku issue with SIGBUS
14212         * lib/siglist.h: Add comment.
14213         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
14214         strsignal's favoring of SIGSEGV.
14215         * tests/test-signal.c (main): Avoid test failure.
14216         * doc/posix-headers/signal.texi (signal.h): Document the issue.
14217         Reported by Scott McCreary.
14218
14219         maint.mk: add pre-release check to ensure submodule commits are public
14220         * top/maint.mk (public-submodule-commit): New rule.
14221         (submodule-checks): New variable.
14222         (alpha beta stable): Depend on the variable.
14223
14224 2011-01-05  Pádraig Brady <P@draigBrady.com>
14225         and Jim Meyering  <meyering@redhat.com>
14226
14227         ignore-value: make ignore_value more generic; deprecate ignore_ptr
14228         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
14229         (ATTRIBUTE_DEPRECATED): Define.
14230         (_ignore_case): New function.
14231         (ignore_value): New macro, to replace the old function.
14232         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
14233         * modules/ignore-value (Depends-on): Add stdint.
14234
14235 2011-01-04  Eric Blake  <eblake@redhat.com>
14236
14237         doc: regenerate INSTALL
14238         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
14239         @firstparagraphindent support, now that autoconf dropped it.
14240         (INSTALL_PRELUDE): Reinstate old macro.
14241         * doc/install.texi: Resync from autoconf.
14242         * doc/INSTALL: Reflect recent autoconf update.
14243         * doc/INSTALL.ISO: Likewise.
14244         * doc/INSTALL.UTF-8: Likewise.
14245         Reported by Karl Berry.
14246
14247 2011-01-04  Bruce Korb  <address@hidden>
14248
14249         git-version-gen: avoid a sub-shell
14250         * build-aux/git-version-gen: Redirect stderr in `...` via
14251         "exec 2>...", rather than via an added sub-shell.
14252
14253 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
14254
14255         git-version-gen: use (...) rather than sh -c '...'
14256         * build-aux/git-version-gen: Rather than hard-coding a shell's name
14257         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
14258
14259 2011-01-03  Jim Meyering  <meyering@redhat.com>
14260
14261         git-version-gen: convert leading TABs to spaces
14262         * build-aux/git-version-gen: Expand leading TABs.
14263
14264         git-version-gen: handle failed "git rev-list"
14265         * build-aux/git-version-gen: Rather than leaking a "fatal" error
14266         from git and proceeding as if it had succeeded but printed no SHA1
14267         checksums, suppress the diagnostic and handle the failure.
14268         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
14269
14270         git-version-gen: include command name in one more diagnostic
14271         * build-aux/git-version-gen: When the required .tarball-version file
14272         was missing or unreadable, you might see the diagnostic from "cat",
14273         but no trace of the name of the invoking script.  Now, you still see
14274         the diagnostic from cat, but also get one from "git-version-gen: ".
14275         Inspired by a patch from Bruce Korb.
14276
14277         update-copyright: adjust test to match changed code
14278         * tests/test-update-copyright.sh: Change test's expected output
14279         to match new actual output.
14280
14281 2011-01-02  Bruno Haible  <bruno@clisp.org>
14282
14283         getlogin_r: Avoid test failure on HP-UX 11.
14284         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
14285         ERANGE when the second argument is zero.
14286         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
14287         portability problem.
14288
14289 2011-01-02  Bruce Korb  <bkorb@gnu.org>
14290
14291         * build-aux/update-copyright: doc Simon's changes
14292
14293 2011-01-02  Simon Josefsson  <simon@josefsson.org>
14294
14295         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
14296         environment variable.
14297
14298 2011-01-02  Bruno Haible  <bruno@clisp.org>
14299
14300         unigbrk: Avoid gcc warnings.
14301         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
14302         unused variable.
14303         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
14304         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
14305         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
14306         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
14307         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
14308         Change type of first argument to 'const char *'.
14309         (main): Remove unused variable.
14310         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
14311         type of first argument to 'const char *'.
14312         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
14313         Likewise.
14314         (main): Change type of variable 's'.
14315         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
14316         to 'int'.
14317
14318 2011-01-02  Bruno Haible  <bruno@clisp.org>
14319
14320         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
14321         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
14322         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
14323         bug.
14324         * lib/pwrite.c: Undo 2010-12-31 patch.
14325         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
14326
14327 2011-01-02  Bruno Haible  <bruno@clisp.org>
14328
14329         pread: Fix test whether it works.
14330         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
14331
14332 2011-01-02  Bruno Haible  <bruno@clisp.org>
14333
14334         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
14335         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
14336         ends in "6". Don't require a specific month name. Try also the locale
14337         names found on HP-UX 11 and Solaris 7.
14338
14339 2011-01-02  Bruno Haible  <bruno@clisp.org>
14340
14341         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
14342         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
14343         C linkage.
14344         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
14345
14346 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
14347
14348         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
14349         for consistency, since the "cluster" term is not used elsewhere.
14350         * lib/unigbrk.in.h: Update name.
14351         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
14352         * lib/unigbrk/u16-grapheme-next.c: Update name.
14353         * lib/unigbrk/u16-grapheme-prev.c: Update name.
14354         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
14355         * lib/unigbrk/u32-grapheme-next.c: Update name.
14356         * lib/unigbrk/u32-grapheme-prev.c: Update name.
14357         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
14358         * lib/unigbrk/u8-grapheme-next.c: Update name.
14359         * lib/unigbrk/u8-grapheme-prev.c: Update name.
14360         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
14361         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
14362         Suggested by Bruno Haible.
14363
14364 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
14365
14366         Remove module 'u8-grapheme-len' as too redundant with
14367         'u8-grapheme-next'.
14368         * modules/unigbrk/u8-grapheme-len: Delete file.
14369         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
14370         * lib/unigbrk.in.h: Remove prototype for deleted function.
14371         * lib/unigbrk/u8-grapheme-len.c: Delete file.
14372         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
14373
14374         Remove module 'u16-grapheme-len' as too redundant with
14375         'u16-grapheme-next'.
14376         * modules/unigbrk/u16-grapheme-len: Delete file.
14377         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
14378         * lib/unigbrk.in.h: Remove prototype for deleted function.
14379         * lib/unigbrk/u16-grapheme-len.c: Delete file.
14380         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
14381
14382         Remove module 'u32-grapheme-len' as too redundant with
14383         'u32-grapheme-next'.
14384         * modules/unigbrk/u32-grapheme-len: Delete file.
14385         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
14386         * lib/unigbrk.in.h: Remove prototype for deleted function.
14387         * lib/unigbrk/u32-grapheme-len.c: Delete file.
14388         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
14389
14390         Suggested by Bruno Haible.
14391
14392 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
14393
14394         * unigbrk.in.h: Fix typo: "ben" => "been".
14395         Reported by Bruno Haible.
14396
14397 2011-01-01  Jim Meyering  <meyering@redhat.com>
14398
14399         maint: update almost all copyright ranges to include 2011
14400         Run the new "make update-copyright" rule.
14401
14402 2011-01-01  Jim Meyering  <meyering@redhat.com>
14403
14404         maint: update-copyright: exempt doc/INSTALL*
14405         * Makefile (update-copyright): Also exclude doc/INSTALL*,
14406         since they are generated.  Suggested by Bruno Haible.
14407
14408 2011-01-01  Jim Meyering  <meyering@redhat.com>
14409
14410         maint: refine the update-copyright rule
14411         * Makefile (update-copyright): Also exclude any file that includes
14412         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
14413         code that merely generates the comment.
14414
14415 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
14416
14417         New module 'u8-grapheme-len'.
14418         * modules/unigbrk/u8-grapheme-len: New file.
14419         * modules/unigbrk/u8-grapheme-len-tests: New file.
14420         * lib/unigbrk.in.h: Add prototype for new function.
14421         * lib/unigbrk/u8-grapheme-len.c: New file.
14422         * tests/unigbrk/test-u8-grapheme-len.c: New file.
14423
14424         New module 'u16-grapheme-len'.
14425         * modules/unigbrk/u16-grapheme-len: New file.
14426         * modules/unigbrk/u16-grapheme-len-tests: New file.
14427         * lib/unigbrk.in.h: Add prototype for new function.
14428         * lib/unigbrk/u16-grapheme-len.c: New file.
14429         * tests/unigbrk/test-u16-grapheme-len.c: New file.
14430
14431         New module 'u32-grapheme-len'.
14432         * modules/unigbrk/u32-grapheme-len: New file.
14433         * modules/unigbrk/u32-grapheme-len-tests: New file.
14434         * lib/unigbrk.in.h: Add prototype for new function.
14435         * lib/unigbrk/u32-grapheme-len.c: New file.
14436         * tests/unigbrk/test-u32-grapheme-len.c: New file.
14437
14438         New module 'u8-grapheme-next'.
14439         * modules/unigbrk/u8-grapheme-next: New file.
14440         * modules/unigbrk/u8-grapheme-next-tests: New file.
14441         * lib/unigbrk.in.h: Add prototype for new function.
14442         * lib/unigbrk/u8-grapheme-next.c: New file.
14443         * tests/unigbrk/test-u8-grapheme-next.c: New file.
14444
14445         New module 'u16-grapheme-next'.
14446         * modules/unigbrk/u16-grapheme-next: New file.
14447         * modules/unigbrk/u16-grapheme-next-tests: New file.
14448         * lib/unigbrk.in.h: Add prototype for new function.
14449         * lib/unigbrk/u16-grapheme-next.c: New file.
14450         * tests/unigbrk/test-u16-grapheme-next.c: New file.
14451
14452         New module 'u32-grapheme-next'.
14453         * modules/unigbrk/u32-grapheme-next: New file.
14454         * modules/unigbrk/u32-grapheme-next-tests: New file.
14455         * lib/unigbrk.in.h: Add prototype for new function.
14456         * lib/unigbrk/u32-grapheme-next.c: New file.
14457         * tests/unigbrk/test-u32-grapheme-next.c: New file.
14458
14459         New module 'u8-grapheme-prev'.
14460         * modules/unigbrk/u8-grapheme-prev: New file.
14461         * modules/unigbrk/u8-grapheme-prev-tests: New file.
14462         * lib/unigbrk.in.h: Add prototype for new function.
14463         * lib/unigbrk/u8-grapheme-prev.c: New file.
14464         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
14465
14466         New module 'u16-grapheme-prev'.
14467         * modules/unigbrk/u16-grapheme-prev: New file.
14468         * modules/unigbrk/u16-grapheme-prev-tests: New file.
14469         * lib/unigbrk.in.h: Add prototype for new function.
14470         * lib/unigbrk/u16-grapheme-prev.c: New file.
14471         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
14472
14473         New module 'u32-grapheme-prev'.
14474         * modules/unigbrk/u32-grapheme-prev: New file.
14475         * modules/unigbrk/u32-grapheme-prev-tests: New file.
14476         * lib/unigbrk.in.h: Add prototype for new function.
14477         * lib/unigbrk/u32-grapheme-prev.c: New file.
14478         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
14479
14480         New module 'u8-grapheme-breaks'.
14481         * modules/unigbrk/u8-grapheme-breaks: New file.
14482         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
14483         * lib/unigbrk.in.h: Add prototype for new function.
14484         * lib/unigbrk/u8-grapheme-breaks.c: New file.
14485         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
14486
14487         New module 'u16-grapheme-breaks'.
14488         * modules/unigbrk/u16-grapheme-breaks: New file.
14489         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
14490         * lib/unigbrk.in.h: Add prototype for new function.
14491         * lib/unigbrk/u16-grapheme-breaks.c: New file.
14492         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
14493
14494         New module 'u32-grapheme-breaks'.
14495         * modules/unigbrk/u32-grapheme-breaks: New file.
14496         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
14497         * lib/unigbrk.in.h: Add prototype for new function.
14498         * lib/unigbrk/u32-grapheme-breaks.c: New file.
14499         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
14500
14501         New module 'ulc-grapheme-breaks'.
14502         * modules/unigbrk/ulc-grapheme-breaks: New file.
14503         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
14504         * m4/locale-ar.m4: New file.
14505         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
14506         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
14507         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
14508
14509 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
14510
14511         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
14512         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
14513         modified how this file was generated before I initially submitted
14514         the module, but failed to regenerate it.  This meant that several
14515         of the level2 entries were wrong.
14516         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
14517         Remove the division-by-2 that is folded into the table now that
14518         gbrkprop.h has been regenerated properly.  Now -1 entries are
14519         handled correctly.
14520
14521         New module 'unigbrk/uc-gbrk-prop-tests'.
14522         * modules/unigbrk/uc-gbrk-prop-tests: New file.
14523         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
14524         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
14525         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
14526
14527 2011-01-01  Bruno Haible  <bruno@clisp.org>
14528
14529         Avoid use of hexadecimal escapes.
14530         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
14531         instead of hexadecimal escapes.
14532
14533 2011-01-01  Jim Meyering  <meyering@redhat.com>
14534
14535         maint: new rule to update copyright year ranges
14536         * Makefile (update-copyright): New rule.
14537
14538         maint: indent with TABs in Makefile
14539         * Makefile: Expand leading sequences of spaces to TABs
14540
14541         version-etc: update the copyright year it reports
14542         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
14543
14544 2010-12-31  Bruno Haible  <bruno@clisp.org>
14545
14546         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
14547         * lib/isfinite.c (zerof, zerod, zerol): New variables.
14548         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
14549         zero.
14550
14551 2010-12-31  Bruno Haible  <bruno@clisp.org>
14552
14553         pwrite: Work around HP-UX 11.11 bug.
14554         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
14555         works and set REPLACE_PWRITE if not.
14556         * lib/pwrite.c (pwrite): Add an implementation that uses the system
14557         function.
14558         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
14559
14560 2010-12-31  Bruno Haible  <bruno@clisp.org>
14561
14562         pread: Work around HP-UX 11 bugs.
14563         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
14564         and set REPLACE_PREAD if not.
14565         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
14566
14567 2010-12-31  Eric Blake  <eblake@redhat.com>
14568
14569         nl_langinfo: fix YESEXPR on Irix 6.5
14570         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
14571         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
14572         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
14573         it.
14574
14575 2010-12-31  Bruno Haible  <bruno@clisp.org>
14576
14577         iconv: Document HP-UX 11 bug.
14578         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
14579
14580 2010-12-31  Bruno Haible  <bruno@clisp.org>
14581
14582         ldexpl: Fix link error on HP-UX 11.
14583         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
14584         LDEXPL_LIBM, using $ISNANL_LIBM.
14585
14586 2010-12-31  Eric Blake  <eblake@redhat.com>
14587
14588         ftello: avoid compilation failure with SunStudio c89
14589         * lib/ftello.c (ftello): Use lseek, not llseek.
14590
14591         tests: avoid failing coreutils tests on cygwin
14592         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
14593         (create_exe_shims_): Return 0 when skipping.
14594
14595 2010-12-31  Bruno Haible  <bruno@clisp.org>
14596
14597         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
14598         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
14599
14600 2010-12-31  Bruno Haible  <bruno@clisp.org>
14601
14602         waitpid: Fix link error in C++ mode.
14603         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
14604
14605 2010-12-31  Bruno Haible  <bruno@clisp.org>
14606
14607         isnan: Use GCC built-ins when possible.
14608         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
14609         __builtin_isnan.
14610         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
14611         (isnan): Define using GCC built-ins for GCC >= 4.0.
14612
14613 2010-12-31  Bruno Haible  <bruno@clisp.org>
14614
14615         isnand: Fix mistake.
14616         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
14617         __builtin_isnand.
14618
14619 2010-12-31  Bruno Haible  <bruno@clisp.org>
14620
14621         open: Avoid C++ error on HP-UX 11.
14622         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
14623
14624 2010-12-31  Bruno Haible  <bruno@clisp.org>
14625
14626         time_r: Add missing declarations on HP-UX 11.
14627         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
14628         instead of HAVE_LOCALTIME_R.
14629         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
14630         HAVE_LOCALTIME_R always.
14631         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
14632         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
14633         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
14634         HAVE_LOCALTIME_R.
14635         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
14636         * doc/posix-functions/localtime_r.texi: Likewise.
14637
14638 2010-12-29  Eric Blake  <eblake@redhat.com>
14639
14640         mountlist: tweak previous commit
14641         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
14642         Reported by Paul Eggert.
14643
14644         mountlist: fix local drive detection on cygwin
14645         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
14646         that works for cygwin.
14647
14648 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
14649
14650         ftoastr, snprintf: ftoastr + snprintf module
14651         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
14652         since the snprintf module now should be good enough here.
14653         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
14654         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
14655         and gl_MODULE_INDICATOR([snprintf]), but the former enables
14656         GNULIB_SNPRINTF only for the test directory, and the latter
14657         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
14658         seems to suffice by itself.
14659
14660 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
14661
14662         alloca: one step towards thread-safety
14663         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
14664         need for a static variable.  All callers changed.  This does not
14665         make the alloca replacement thread-safe, but it's one step.
14666
14667         tests: minor indenting change
14668         * tests/init.sh: Sync from coreutils housekeeping patch
14669         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
14670         to keep lines within 80 columns.
14671
14672 2010-12-28  Jim Meyering  <meyering@redhat.com>
14673
14674         regex: don't infloop on persistent failing calloc
14675         * lib/regexec.c (build_trtable): Return failure indication upon
14676         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
14677         In glibc, this was fixed for version 2.13:
14678         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
14679
14680 2010-12-28  Bruno Haible  <bruno@clisp.org>
14681             Paul Eggert <eggert@cs.ucla.edu>
14682
14683         linkat: Make implementation robust against system behaviour variations.
14684         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
14685         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
14686         way, and to -2 if it needs a generic runtime test.
14687         * lib/linkat.c (solaris_optimized_link_immediate,
14688         solaris_optimized_link_follow): New functions.
14689         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
14690         (check_same_link): Use it.
14691
14692 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
14693
14694         New module 'unigbrk/base'.
14695         * modules/unigbrk/base: New file.
14696         * lib/unigbrk.in.h: New file.
14697
14698         New module 'unigbrk/uc-gbrk-prop'.
14699         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
14700         * modules/unigbrk/uc-gbrk-prop: New file.
14701         * lib/unigbrk/gbrkprop.h: New file.
14702         * lib/unigbrk/uc-gbrk-prop.c: New file.
14703
14704         New module 'unigbrk/uc-is-grapheme-break'.
14705         * modules/unigbrk/uc-is-grapheme-break: New file.
14706         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
14707         * lib/unigbrk/uc-is-grapheme-break.c: New file.
14708         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
14709         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
14710         * tests/unigbrk/GraphemeBreakTest.txt: New file.
14711
14712         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
14713
14714 2010-12-27  Bruno Haible  <bruno@clisp.org>
14715
14716         linkat test: Avoid failure on Solaris 11 2010-11.
14717         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
14718
14719 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
14720
14721         utimens: work around glibc rounding bug on more platforms
14722         * lib/utimens.c (fdutimens): Work around rounding bug even if
14723         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
14724         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
14725
14726 2010-12-27  Bruno Haible  <bruno@clisp.org>
14727
14728         select tests: Improve comments.
14729         * tests/test-select.c (do_select): Add comments.
14730
14731 2010-12-27  Bruno Haible  <bruno@clisp.org>
14732
14733         select tests: Safer way of handling timeout.
14734         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
14735         at every invocation.
14736
14737 2010-12-27  Bruno Haible  <bruno@clisp.org>
14738
14739         select tests: Use 'bool' where appropriate.
14740         * tests/test-select.c (connect_to_socket): Change argument type to
14741         'bool'.
14742
14743 2010-12-27  Bruno Haible  <bruno@clisp.org>
14744
14745         select tests: Use existing modules.
14746         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
14747         (configure.ac): Don't test for unistd.h.
14748         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
14749         declared in <unistd.h>.
14750
14751 2010-12-27  Bruno Haible  <bruno@clisp.org>
14752
14753         mbrtowc: Work around a Solaris 7 bug.
14754         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
14755         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
14756         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
14757         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
14758         MBRTOWC_NULL_ARG1_BUG.
14759         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
14760         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
14761         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
14762         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
14763
14764 2010-12-27  Jim Meyering  <meyering@redhat.com>
14765
14766         read-file.c: tweak syntax
14767         * lib/read-file.c (fread_file): Remove space after "*" in function
14768         definitions.
14769
14770 2010-12-27  Bruno Haible  <bruno@clisp.org>
14771
14772         times test: Avoid gcc warnings on OSF/1.
14773         * tests/test-times.c (main): Cast printf arguments from clock_t to
14774         'long int'.
14775
14776 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
14777
14778         utimens: work around glibc rounding bug on older Linux kernels
14779         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
14780         on Linux with a glibc whose utimes might not work, then work
14781         around a longstanding glibc bug involving rounding rather than
14782         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
14783         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
14784
14785 2010-12-26  Bruno Haible  <bruno@clisp.org>
14786
14787         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
14788         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
14789         _GL_CXXALIAS_SYS.
14790         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
14791
14792 2010-12-26  Bruno Haible  <bruno@clisp.org>
14793
14794         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
14795         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
14796         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
14797         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
14798         looking for the declaration.
14799         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
14800         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
14801         problem.
14802         * doc/posix-functions/inet_pton.texi: Likewise.
14803
14804 2010-12-26  Bruno Haible  <bruno@clisp.org>
14805
14806         arpa_inet: Use the common idioms with C++ support.
14807         * lib/arpa_inet.in.h: Include c++defs.h.
14808         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
14809         support.
14810         * modules/arpa_inet (Depends-on): Add c++defs.
14811         (Makefile.am): Substitute the contents of c++defs.h.
14812         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
14813         * modules/arpa_inet-c++-tests: New file.
14814         * tests/test-arpa_inet-c++.cc: New file.
14815
14816 2010-12-25  Bruno Haible  <bruno@clisp.org>
14817
14818         Fix more C++ link errors on Solaris 8.
14819         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
14820         $(LIB_EACCESS).
14821         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
14822         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
14823         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
14824         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
14825         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
14826
14827 2010-12-25  Bruno Haible  <bruno@clisp.org>
14828
14829         printf-posix: Fix link error when a non-GCC compiler is used.
14830         * lib/stdio.in.h (printf): When not using GCC, override printf
14831         correctly.
14832         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
14833
14834 2010-12-25  Bruno Haible  <bruno@clisp.org>
14835
14836         strerror_r-posix: Update doc.
14837         * doc/posix-functions/strerror_r.texi: Update doc about the return
14838         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
14839
14840 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
14841
14842         utimens: simplify the logic of the previous change
14843         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
14844         This should not affect whether the test succeeds or fails.
14845
14846         utimens: configure better on hosts with NFS clock skew
14847         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
14848         uses the clock of the local host.  It might use the clock of the
14849         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
14850         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
14851
14852 2010-12-25  Bruno Haible  <bruno@clisp.org>
14853
14854         ptsname test: Avoid failure on Solaris.
14855         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
14856         open a pseudo-terminal; don't use BSD-style ptys.
14857         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
14858
14859 2010-12-25  Bruno Haible  <bruno@clisp.org>
14860
14861         ptsname: Avoid ERANGE failure on some systems.
14862         * lib/ptsname.c (buffer): Increase size.
14863
14864 2010-12-25  Bruno Haible  <bruno@clisp.org>
14865
14866         rename, renameat: Avoid test failures at NFS mounted locations.
14867         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
14868         so that subsequent mkdir calls succeed.
14869
14870 2010-12-25  Bruno Haible  <bruno@clisp.org>
14871
14872         iswblank: Fix C++ link error on Solaris 8.
14873         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
14874         _GL_FUNCDECL_SYS.
14875
14876 2010-12-25  Bruno Haible  <bruno@clisp.org>
14877
14878         unistd: Fix C++ link error on Solaris 8.
14879         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
14880
14881 2010-12-25  Bruno Haible  <bruno@clisp.org>
14882
14883         readlink doc: Mention an old glibc bug.
14884         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
14885
14886 2010-12-25  Bruno Haible  <bruno@clisp.org>
14887
14888         fcntl-h: Fix for use of C++ on glibc systems.
14889         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
14890         also on glibc systems in C++ mode.
14891         Reported by Gary V. Vaughan <gary@gnu.org>.
14892
14893 2010-12-25  Bruno Haible  <bruno@clisp.org>
14894
14895         roundl-ieee: Make it work on OSF/1 5.1 with cc.
14896         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
14897
14898 2010-12-25  Bruno Haible  <bruno@clisp.org>
14899
14900         truncl-ieee: Make it work on OSF/1 5.1 with cc.
14901         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
14902         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
14903         test whether truncl works according to ISO C 99 with IEC 60559.
14904         * m4/truncl-ieee.m4: New file.
14905         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
14906         m4/signbit.m4.
14907         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
14908
14909 2010-12-25  Bruno Haible  <bruno@clisp.org>
14910
14911         ceill-ieee: Make it work on OSF/1 5.1 with cc.
14912         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
14913         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
14914         test whether ceill works according to ISO C 99 with IEC 60559.
14915         * m4/ceill-ieee.m4: New file.
14916         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
14917         m4/signbit.m4.
14918         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
14919
14920 2010-12-25  Bruno Haible  <bruno@clisp.org>
14921
14922         Ensure all prerequisites of <wchar.h> are included.
14923         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
14924         before <wchar.h>.
14925         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
14926         gl_MBRLEN_NUL_RETVAL): Likewise.
14927         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
14928         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
14929         AC_FUNC_MBRTOWC): Likewise.
14930         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
14931         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
14932         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
14933         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
14934         Likewise.
14935         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
14936         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
14937         (gl_WCHAR_H): Improve comments.
14938         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
14939
14940 2010-12-25  Bruno Haible  <bruno@clisp.org>
14941
14942         strtok_r: Fix C syntax error in autoconf macro.
14943         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
14944         characters in test program.
14945
14946 2010-12-24  Bruno Haible  <bruno@clisp.org>
14947
14948         ceil, trunc, round: Fix gcc warnings.
14949         * lib/ceil.c (MIN): Undefine before redefining.
14950         * lib/trunc.c (MIN): Likewise.
14951         * lib/round.c (MIN): Likewise.
14952         Include <math.h> first.
14953
14954 2010-12-24  Bruno Haible  <bruno@clisp.org>
14955
14956         select tests: Avoid failures on OSF/1 5.1.
14957         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
14958         failure of closing the last socket; it may fail with ECONNRESET.
14959
14960 2010-12-24  Eric Blake  <eblake@redhat.com>
14961
14962         stdint: avoid HP-UX 10.20 preprocessor bug
14963         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
14964         than #if.
14965         * tests/test-floor2.c (main): Likewise.
14966         Reported by Peter O'Gorman.
14967
14968         pipe: make obsoletion transition easier
14969         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
14970         * modules/pipe (Files): Include revived file.
14971         (Include): Drop reference, to mirror getdate's behavior.
14972
14973 2010-12-24  Bruno Haible  <bruno@clisp.org>
14974
14975         sys_socket: Hide mismatch of declarations on NonStop Kernel.
14976         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
14977         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
14978         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
14979
14980 2010-12-24  Bruno Haible  <bruno@clisp.org>
14981
14982         gethostname: Ensure declaration on NonStop Kernel.
14983         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
14984         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
14985
14986 2010-12-24  Bruno Haible  <bruno@clisp.org>
14987
14988         sys_select: Ensure all necessary types on NonStop Kernel.
14989         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
14990         include <sys/time.h>.
14991         * doc/posix-headers/sys_select.texi: Mention that it's missing on
14992         NonStop Kernel.
14993         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
14994
14995 2010-12-24  Bruno Haible  <bruno@clisp.org>
14996
14997         sys_select: Remove unneeded include.
14998         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
14999         have <sys/select.h>.
15000
15001 2010-12-24  Bruno Haible  <bruno@clisp.org>
15002
15003         gethostname: Provide a fallback for HOST_NAME_MAX.
15004         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
15005         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
15006         instead.
15007         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
15008
15009 2010-12-24  Bruno Haible  <bruno@clisp.org>
15010
15011         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
15012         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
15013         (SA_RESTART): Likewise.
15014         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
15015
15016 2010-12-24  Bruno Haible  <bruno@clisp.org>
15017
15018         signal: Define NSIG.
15019         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
15020         * tests/test-signal.c (nsig): New variable.
15021         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
15022
15023 2010-12-24  Bruno Haible  <bruno@clisp.org>
15024
15025         rename, renameat: Avoid test failures on OSF/1 5.1.
15026         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
15027         alternative error codes.
15028         * tests/test-renameat.c (main): Likewise.
15029
15030 2010-12-24  Bruno Haible  <bruno@clisp.org>
15031
15032         *printf: Detect large precisions bug on Solaris 10/SPARC.
15033         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
15034         by Paul Eggert.
15035         * tests/test-snprintf-posix.h (test_function): Add this test code here
15036         too.
15037         * tests/test-sprintf-posix.h (test_function): Likewise.
15038         * tests/test-vasnprintf-posix.c (test_function): Likewise.
15039         * tests/test-vasprintf-posix.c (test_function): Likewise.
15040         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
15041         around by gnulib.
15042         * doc/posix-functions/printf.texi: Likewise.
15043         * doc/posix-functions/snprintf.texi: Likewise.
15044         * doc/posix-functions/sprintf.texi: Likewise.
15045         * doc/posix-functions/vfprintf.texi: Likewise.
15046         * doc/posix-functions/vprintf.texi: Likewise.
15047         * doc/posix-functions/vsnprintf.texi: Likewise.
15048         * doc/posix-functions/vsprintf.texi: Likewise.
15049         * doc/posix-functions/dprintf.texi: Undo last commit.
15050         * doc/posix-functions/vdprintf.texi: Likewise.
15051
15052 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
15053
15054         tests: port test-fdutimensat.c to Solaris 8
15055         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
15056         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
15057         On Solaris 8, it fails with errno == ENOSYS, because there is no
15058         futimens (so it can't use the fd), and there is no lutimens (so it
15059         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
15060
15061         vsnprintf: make more consistent with snprintf; doc fixes
15062
15063         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
15064         the byte count return problem was promoted from the snprintf-posix
15065         to the snprintf module.
15066         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
15067         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
15068         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
15069         * tests/test-snprintf.c (main): Check the byte count returned.
15070         * tests/test-vsnprintf.c (main): Likewise.
15071
15072 2010-12-23  Eric Blake  <eblake@redhat.com>
15073
15074         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
15075         * modules/sigpipe (License): Relax license.
15076
15077 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
15078
15079         doc: document Solaris printf bug with large float precisions
15080         * doc/posix-functions/dprintf.texi (dprintf):
15081         * doc/posix-functions/fprintf.texi (fprintf):
15082         * doc/posix-functions/printf.texi (printf):
15083         * doc/posix-functions/snprintf.texi (snprintf):
15084         * doc/posix-functions/sprintf.texi (sprintf):
15085         * doc/posix-functions/vdprintf.texi (vdprintf):
15086         * doc/posix-functions/vfprintf.texi (vfprintf):
15087         * doc/posix-functions/vprintf.texi (vprintf):
15088         * doc/posix-functions/vsnprintf.texi (vsnprintf):
15089         * doc/posix-functions/vsprintf.texi (vsprintf):
15090         Mention that these functions mishandle large floating point
15091         precisions on Solaris 10.  The same bug is also present in Solaris
15092         8, and I assume earlier.  This causes "cd gnulib-tests; make
15093         check" to fail on Solaris 8 (and I assume, later) when building
15094         the latest coreutils, in test-vasprintf-posix's call to
15095         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
15096         the wide flavors (e.g., wprintf) so this patch just updates the
15097         documentation for the narrow ones.
15098
15099         test-posixtm.c: add two tests
15100         * tests/test-posixtm.c: Add two tests, to highlight the
15101         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
15102         around this bug; this is merely to document it.
15103
15104 2010-12-22  Bruno Haible  <bruno@clisp.org>
15105
15106         getlogin_r: Work around portability problem on OSF/1.
15107         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
15108         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
15109         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
15110         test for a truncated result.
15111         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
15112         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
15113         * modules/getlogin_r (Depends-on): Add memchr.
15114         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
15115
15116 2010-12-22  Bruno Haible  <bruno@clisp.org>
15117
15118         ptsname: Avoid test failure on OSF/1 5.1.
15119         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
15120         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
15121         (same_slave): New function.
15122         (main): Use it to compare ptsname's result with the expected file name.
15123
15124 2010-12-22  Bruno Haible  <bruno@clisp.org>
15125
15126         Port extended stdio modules to HP NonStop Kernel.
15127         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
15128         macros.
15129         * lib/fbufmode.c: Update comments.
15130         * lib/fflush.c: Likewise.
15131         * lib/fpurge.c: Likewise.
15132         * lib/freadable.c: Likewise.
15133         * lib/freadahead.c: Likewise.
15134         * lib/freading.c: Likewise.
15135         * lib/freadptr.c: Likewise.
15136         * lib/freadseek.c: Likewise.
15137         * lib/fseeko.c: Likewise.
15138         * lib/fseterr.c: Likewise.
15139         * lib/fwritable.c: Likewise.
15140         * lib/fwriting.c: Likewise.
15141         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
15142
15143 2010-12-22  Bruno Haible  <bruno@clisp.org>
15144
15145         ttyname_r: Work around bug on OSF/1 5.1.
15146         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
15147         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
15148         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
15149         present.
15150         * lib/ttyname_r.c (ttyname_r): Update comments.
15151
15152 2010-12-22  Bruno Haible  <bruno@clisp.org>
15153
15154         round: Implement result sign according to IEEE 754.
15155         * lib/round.c (MIN, MINUS_ZERO): New macros.
15156         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
15157         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
15158         * tests/test-round-ieee.c (main): Likewise.
15159         * tests/test-roundl-ieee.c (main): Likewise.
15160
15161         trunc: Implement result sign according to IEEE 754.
15162         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
15163         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
15164         * tests/test-trunc2.c: Include minus-zero.h.
15165         (MINUS_ZERO): New macro.
15166         (trunc_reference): Keep in sync with lib/trunc.c.
15167         * tests/test-truncf2.c: Include minus-zero.h.
15168         (MINUS_ZERO): New macro.
15169         (truncf_reference): Keep in sync with lib/trunc.c.
15170         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
15171         * tests/test-trunc-ieee.c (main): Likewise.
15172         * tests/test-truncl-ieee.c (main): Likewise.
15173
15174         ceil: Implement result sign according to IEEE 754.
15175         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
15176         (FUNC): Return -0.0 for -1 < x < 0.
15177         * tests/test-ceil2.c: Include minus-zero.h.
15178         (MINUS_ZERO): New macro.
15179         (ceil_reference): Keep in sync with lib/ceil.c.
15180         * tests/test-ceilf2.c: Include minus-zero.h.
15181         (MINUS_ZERO): New macro.
15182         (ceilf_reference): Keep in sync with lib/ceil.c.
15183         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
15184         * tests/test-ceil-ieee.c (main): Likewise.
15185         * tests/test-ceill-ieee.c (main): Likewise.
15186
15187         floor: Implement result sign according to IEEE 754.
15188         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
15189         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
15190         * tests/test-floorf2.c (floorf_reference): Likewise.
15191         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
15192         * tests/test-floor-ieee.c (main): Likewise.
15193         * tests/test-floorl-ieee.c (main): Likewise.
15194
15195 2010-12-22  Bruno Haible  <bruno@clisp.org>
15196
15197         getaddrinfo: Update doc.
15198         * doc/posix-functions/gai_strerror.texi: Return type is also different
15199         on AIX and HP-UX.
15200
15201 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
15202
15203         getaddrinfo, inet_ntop: Update doc for Solaris.
15204         * doc/posix-functions/gai_strerror.texi: Return type is also an
15205         issue on Solaris 9 and earlier.
15206         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
15207         on Solaris 10 and earlier.
15208
15209 2010-12-21  Bruno Haible  <bruno@clisp.org>
15210
15211         New module 'roundl-ieee'.
15212         * modules/roundl-ieee: New file.
15213         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
15214         test whether roundl works according to ISO C 99 with IEC 60559.
15215         * m4/roundl-ieee.m4: New file.
15216         * modules/roundl-ieee-tests: New file.
15217         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
15218         * tests/test-roundl.c (main): Remove signbit tests.
15219         * modules/roundl-tests (Depends-on): Remove signbit.
15220         * doc/posix-functions/roundl.texi: Mention the new module.
15221
15222 2010-12-21  Bruno Haible  <bruno@clisp.org>
15223
15224         New module 'truncl-ieee'.
15225         * modules/truncl-ieee: New file.
15226         * modules/truncl-ieee-tests: New file.
15227         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
15228         * tests/test-truncl.c (main): Remove signbit tests.
15229         * modules/truncl-tests (Depends-on): Remove signbit.
15230         * doc/posix-functions/truncl.texi: Mention the new module.
15231
15232 2010-12-21  Bruno Haible  <bruno@clisp.org>
15233
15234         New module 'ceill-ieee'.
15235         * modules/ceill-ieee: New file.
15236         * modules/ceill-ieee-tests: New file.
15237         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
15238         * tests/test-ceill.c (main): Remove signbit tests.
15239         * modules/ceill-tests (Depends-on): Remove signbit.
15240         * doc/posix-functions/ceill.texi: Mention the new module.
15241
15242 2010-12-21  Bruno Haible  <bruno@clisp.org>
15243
15244         New module 'floorl-ieee'.
15245         * modules/floorl-ieee: New file.
15246         * modules/floorl-ieee-tests: New file.
15247         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
15248         * tests/test-floorl.c (main): Remove signbit tests.
15249         * modules/floorl-tests (Depends-on): Remove signbit.
15250         * doc/posix-functions/floorl.texi: Mention the new module.
15251
15252 2010-12-21  Bruno Haible  <bruno@clisp.org>
15253
15254         New module 'round-ieee'.
15255         * modules/round-ieee: New file.
15256         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
15257         whether round works according to ISO C 99 with IEC 60559.
15258         * m4/round-ieee.m4: New file.
15259         * modules/round-ieee-tests: New file.
15260         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
15261         * tests/test-round1.c (main): Remove signbit tests.
15262         * modules/round-tests (Depends-on): Remove 'signbit'.
15263         * doc/posix-functions/round.texi: Mention the new module.
15264
15265 2010-12-21  Bruno Haible  <bruno@clisp.org>
15266
15267         New module 'trunc-ieee'.
15268         * modules/trunc-ieee: New file.
15269         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
15270         whether trunc works according to ISO C 99 with IEC 60559.
15271         * m4/trunc-ieee.m4: New file.
15272         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
15273         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
15274         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
15275         * modules/trunc-ieee-tests: New file.
15276         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
15277         * tests/test-trunc1.c (main): Remove signbit tests.
15278         * modules/trunc-tests (Depends-on): Remove 'signbit'.
15279         * doc/posix-functions/trunc.texi: Mention the new module.
15280
15281 2010-12-21  Bruno Haible  <bruno@clisp.org>
15282
15283         New module 'ceil-ieee'.
15284         * modules/ceil-ieee: New file.
15285         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
15286         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
15287         ISO C 99 with IEC 60559.
15288         * m4/ceil-ieee.m4: New file.
15289         * modules/ceil (Files): Add lib/ceil.c.
15290         (Depends-on): Add 'float'.
15291         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
15292         * lib/math.in.h (ceil): New declaration.
15293         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
15294         REPLACE_CEIL.
15295         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
15296         * modules/ceil-ieee-tests: New file.
15297         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
15298         * tests/test-math-c++.cc: Check the signature of 'ceil'.
15299         * doc/posix-functions/ceil.texi: Mention the new module.
15300
15301 2010-12-21  Bruno Haible  <bruno@clisp.org>
15302
15303         New module 'floor-ieee'.
15304         * modules/floor-ieee: New file.
15305         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
15306         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
15307         ISO C 99 with IEC 60559.
15308         * m4/floor-ieee.m4: New file.
15309         * modules/floor (Files): Add lib/floor.c.
15310         (Depends-on): Add 'float'.
15311         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
15312         * lib/math.in.h (floor): New declaration.
15313         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
15314         REPLACE_FLOOR.
15315         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
15316         * modules/floor-ieee-tests: New file.
15317         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
15318         * tests/test-math-c++.cc: Check the signature of 'floor'.
15319         * doc/posix-functions/floor.texi: Mention the new module.
15320
15321 2010-12-21  Bruno Haible  <bruno@clisp.org>
15322
15323         New module 'roundf-ieee'.
15324         * modules/roundf-ieee: New file.
15325         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
15326         test whether roundf works according to ISO C 99 with IEC 60559.
15327         * m4/roundf-ieee.m4: New file.
15328         * modules/roundf-ieee-tests: New file.
15329         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
15330         * tests/test-roundf1.c (main): Remove signbit tests.
15331         * modules/roundf-tests (Depends-on): Remove 'signbit'.
15332         * doc/posix-functions/roundf.texi: Mention the new module.
15333
15334 2010-12-21  Bruno Haible  <bruno@clisp.org>
15335
15336         New module 'truncf-ieee'.
15337         * modules/truncf-ieee: New file.
15338         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
15339         test whether truncf works according to ISO C 99 with IEC 60559.
15340         * m4/truncf-ieee.m4: New file.
15341         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
15342         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
15343         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
15344         * modules/truncf-ieee-tests: New file.
15345         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
15346         * tests/test-truncf1.c (main): Remove signbit tests.
15347         * modules/truncf-tests (Depends-on): Remove 'signbit'.
15348         * doc/posix-functions/truncf.texi: Mention the new module.
15349
15350 2010-12-21  Bruno Haible  <bruno@clisp.org>
15351
15352         New module 'ceilf-ieee'.
15353         * modules/ceilf-ieee: New file.
15354         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
15355         test whether ceilf works according to ISO C 99 with IEC 60559.
15356         * m4/ceilf-ieee.m4: New file.
15357         * modules/ceilf-ieee-tests: New file.
15358         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
15359         * tests/test-ceilf1.c (main): Remove signbit tests.
15360         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
15361         * doc/posix-functions/ceilf.texi: Mention the new module.
15362
15363 2010-12-21  Bruno Haible  <bruno@clisp.org>
15364
15365         New module 'floorf-ieee'.
15366         * modules/floorf-ieee: New file.
15367         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
15368         test whether floorf works according to ISO C 99 with IEC 60559.
15369         * m4/floorf-ieee.m4: New file.
15370         * modules/floorf-ieee-tests: New file.
15371         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
15372         * tests/test-floorf1.c (main): Remove signbit tests.
15373         * modules/floorf-tests (Depends-on): Remove 'signbit'.
15374         * doc/posix-functions/floorf.texi: Mention the new module.
15375
15376 2010-12-21  Bruno Haible  <bruno@clisp.org>
15377
15378         Support for minus zero in autoconf macros.
15379         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
15380         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
15381         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
15382         * tests/minus-zero.h: Update comments.
15383
15384 2010-12-21  Bruno Haible  <bruno@clisp.org>
15385
15386         Tests for module 'ceil'.
15387         * modules/ceil-tests: New file.
15388         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
15389         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
15390
15391 2010-12-21  Bruno Haible  <bruno@clisp.org>
15392
15393         Tests for module 'floor'.
15394         * modules/floor-tests: New file.
15395         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
15396         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
15397
15398 2010-12-21  Bruno Haible  <bruno@clisp.org>
15399
15400         math: Fix indentation.
15401         * lib/math.in.h (floorf): Fix indentation.
15402
15403 2010-12-21  Bruno Haible  <bruno@clisp.org>
15404
15405         Fix cross-compilation guesses on Solaris.
15406         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
15407         not match "solaris2.10".
15408         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
15409         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
15410         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
15411
15412 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
15413
15414         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
15415         This fixes a problem observed with the latest coreutils snapshot
15416         that caused a test to fail on Solaris 8.  src/csplit.c's call
15417         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
15418         earlier, instead of returning the number of bytes that would have
15419         been generated; this causes csplit to incorrectly report memory
15420         exhaustion.
15421         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
15422         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
15423         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
15424         comments to match.
15425         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
15426         Fix typo in matching older versions of Solaris: "solaris2.10"
15427         is matched by the shell pattern "solaris2.[0-9]*".  This matters
15428         only for guessing while cross-compiling.
15429         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
15430
15431 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
15432
15433         ftoastr: fix comment again
15434         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
15435         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
15436         Also, simplify example a bit by using flags = 0.
15437
15438 2010-12-20  Bruno Haible  <bruno@clisp.org>
15439
15440         round*, trunc*: Update documentation regarding glibc.
15441         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
15442         * doc/posix-functions/round.texi: Likewise.
15443         * doc/posix-functions/roundl.texi: Likewise.
15444         * doc/posix-functions/truncf.texi: Likewise.
15445         * doc/posix-functions/trunc.texi: Likewise.
15446         * doc/posix-functions/truncl.texi: Likewise.
15447
15448 2010-12-20  Bruno Haible  <bruno@clisp.org>
15449
15450         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
15451         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
15452         * doc/posix-functions/round.texi: Likewise.
15453         * doc/posix-functions/roundl.texi: Likewise.
15454
15455 2010-12-20  Bruno Haible  <bruno@clisp.org>
15456
15457         ttyname_r: Add missing declaration on HP-UX 11.
15458         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
15459         HAVE_TTYNAME_R.
15460         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
15461         declared. Set HAVE_TTYNAME_R always.
15462         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15463         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
15464         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
15465         HAVE_TTYNAME_R.
15466         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
15467
15468 2010-12-20  Bruno Haible  <bruno@clisp.org>
15469
15470         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
15471         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
15472         * doc/posix-functions/getlogin_r.texi: Likewise.
15473         * tests/test-getlogin.c: Include <errno.h>.
15474         (main): Avoid test failure on HP-UX 11.11.
15475         * tests/test-getlogin_r.c (main): Likewise.
15476
15477 2010-12-20  Bruno Haible  <bruno@clisp.org>
15478
15479         getlogin_r: Add missing declaration on HP-UX 11.
15480         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
15481         declared also when it exists as a function.
15482         * doc/posix-functions/getlogin_r.texi: Document this workaround.
15483
15484 2010-12-20  Bruno Haible  <bruno@clisp.org>
15485
15486         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
15487         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
15488         through wcrtomb.
15489
15490 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
15491
15492         ftoastr: fix comment
15493         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
15494         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
15495
15496 2010-12-19  Bruno Haible  <bruno@clisp.org>
15497
15498         isnan: Ensure it is a macro.
15499         * lib/math.in.h (isnan): Define as a macro if not already a macro.
15500         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
15501         Solaris.
15502
15503 2010-12-19  Bruno Haible  <bruno@clisp.org>
15504
15505         ldexpl test: Fix link error on OSF/1 5.1.
15506         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
15507
15508 2010-12-19  Bruno Haible  <bruno@clisp.org>
15509
15510         wctype: Make it work in C++ mode on OSF/1 5.1.
15511         * lib/wctype.in.h (iswblank): Declare but not define here.
15512         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
15513         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
15514         * modules/wctype (Files): Add lib/iswblank.c.
15515
15516 2010-12-19  Bruno Haible  <bruno@clisp.org>
15517
15518         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
15519         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
15520         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
15521
15522 2010-12-19  Bruno Haible  <bruno@clisp.org>
15523
15524         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
15525         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
15526         _POSIX_PII_SOCKET.
15527         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
15528         * doc/posix-functions/recvfrom.texi: Likewise.
15529         * doc/posix-functions/send.texi: Likewise.
15530         * doc/posix-functions/sendto.texi: Likewise.
15531
15532 2010-12-19  Bruno Haible  <bruno@clisp.org>
15533
15534         tcgetsid: Add missing declaration on OSF/1 5.1.
15535         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
15536         HAVE_TCGETSID.
15537         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
15538         Don't set HAVE_TCGETSID.
15539         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
15540         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
15541         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
15542         HAVE_TCGETSID.
15543         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
15544
15545 2010-12-19  Bruno Haible  <bruno@clisp.org>
15546
15547         stdio: Fix problem with popen() declaration on OSF/1 5.1.
15548         * lib/stdio.in.h: During the include_next statement, let recursive
15549         includes of this file include only the system header file.
15550
15551 2010-12-19  Bruno Haible  <bruno@clisp.org>
15552
15553         iconv_open: Fix regression from 2010-12-04.
15554         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
15555         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
15556
15557 2010-12-19  Bruno Haible  <bruno@clisp.org>
15558
15559         stdbool test: Avoid a gcc warning.
15560         * tests/test-stdbool.c (main): Fail if e1 is false.
15561         Reported by Jim Meyering.
15562
15563 2010-12-19  Jim Meyering  <meyering@redhat.com>
15564
15565         setenv: restore to working order
15566         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
15567         mistakenly removed.
15568         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
15569         HAVE_SETENV.
15570         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
15571         HAVE_SETENV.
15572
15573 2010-12-19  Bruno Haible  <bruno@clisp.org>
15574
15575         Document some different function declarations on OSF/1 5.1.
15576         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
15577         * doc/posix-functions/inet_ntop.texi: Likewise.
15578         * doc/posix-functions/gethostname.texi: Likewise.
15579         * lib/unistd.in.h (gethostname): Update comment.
15580
15581 2010-12-19  Bruno Haible  <bruno@clisp.org>
15582
15583         doc: Mention vasprintf-posix module.
15584         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
15585         the 'vasprintf-posix' module.
15586         * doc/glibc-functions/vasprintf.texi: Likewise.
15587
15588 2010-12-19  Bruno Haible  <bruno@clisp.org>
15589
15590         unsetenv: Add missing declaration on OSF/1 5.1.
15591         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
15592         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
15593         Don't set HAVE_UNSETENV. In the test program, set _BSD.
15594         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
15595         not HAVE_UNSETENV.
15596         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
15597         HAVE_UNSETENV.
15598         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
15599
15600 2010-12-19  Bruno Haible  <bruno@clisp.org>
15601
15602         setenv: Add missing declaration on OSF/1 5.1.
15603         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
15604         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
15605         declared. Don't set HAVE_SETENV.
15606         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
15607         not HAVE_SETENV.
15608         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
15609         HAVE_SETENV.
15610         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
15611
15612 2010-12-19  Bruno Haible  <bruno@clisp.org>
15613
15614         nl_langinfo tests: Avoid gcc warning.
15615         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
15616
15617 2010-12-19  Bruno Haible  <bruno@clisp.org>
15618
15619         mknod: Avoid error in C++ mode on OSF/1 with GCC.
15620         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
15621         _GL_CXXALIAS_SYS.
15622
15623 2010-12-19  Bruno Haible  <bruno@clisp.org>
15624
15625         stdbool: Relax test.
15626         * tests/test-stdbool.c (e): Don't require that casts from a variable's
15627         address to 'bool' work in static initializer, for compilers other than
15628         GCC.
15629
15630 2010-12-19  Bruno Haible  <bruno@clisp.org>
15631
15632         ftello: Add missing declaration on OSF/1 5.1.
15633         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
15634         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
15635         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
15636         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
15637         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
15638
15639 2010-12-19  Bruno Haible  <bruno@clisp.org>
15640
15641         fseeko: Add missing declaration on OSF/1 5.1.
15642         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
15643         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
15644         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
15645         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
15646         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
15647
15648 2010-12-19  Bruno Haible  <bruno@clisp.org>
15649
15650         fchdir: Add missing declaration on OSF/1 5.1.
15651         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
15652         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
15653         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
15654         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
15655         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
15656
15657 2010-12-19  Bruno Haible  <bruno@clisp.org>
15658
15659         relocatable-prog-wrapper: Separate from relocatable-prog.
15660         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
15661         uninstall-relocwrapper rule here.
15662         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
15663         Reported by Ian Beckwith <ianb@erislabs.net>.
15664
15665 2010-12-19  Bruno Haible  <bruno@clisp.org>
15666
15667         unistr/u8-mbsnlen: Add missing dependency.
15668         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
15669         Reported by Ian Beckwith <ianb@erislabs.net>.
15670
15671 2010-12-19  Bruno Haible  <bruno@clisp.org>
15672
15673         iconv: Make it possible again to use this module without 'iconv-h'.
15674         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
15675         if it is not defined.
15676         Reported by Ian Beckwith <ianb@erislabs.net>.
15677
15678 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
15679
15680         acl: port to Solaris 8 when copying from tmpfs to ufs
15681         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
15682         error number.  Problem observed on Solaris 8 with latest
15683         coreutils, with "mv A B", where A is on a tmpfs file system and B
15684         is on a ufs file system.  This caused coreutils' mv/part-symlink
15685         test to fail.
15686
15687         tests: set fail=0 at start
15688         * tests/init.sh (setup_): Move fail=0 initialization here ...
15689         (mktempd_): ... from here, so that tests can rely on fail being
15690         set to 0 initially.  This fixes a problem in coreutils; see:
15691         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
15692
15693 2010-12-18  Bruno Haible  <bruno@clisp.org>
15694
15695         memmem-simple: Stylistic changes.
15696         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
15697         Fix preprocessor directive indentation.
15698
15699 2010-12-15  Pádraig Brady <P@draigBrady.com>
15700
15701         memmem, memmem-simple: reorganize and expand empty needle check
15702         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
15703         functional checks to memmem-simple so that one has a fully functional
15704         memmem by using just this module.
15705         Restrict the performance only check to the memmem module.
15706         Also expand the empty needle check to ensure the correct
15707         pointer is returned, not just a non NULL pointer.
15708         * doc/glibc-functions/memmem.texi: Rearrange the portability
15709         documentation to correlate with the rearranged checks.
15710         Clarify exactly how the memmem and memmem-simple modules
15711         relate to each other.
15712
15713 2010-12-15  Pádraig Brady <P@draigBrady.com>
15714             Bruno Haible  <bruno@clisp.org>
15715
15716         Improve cross-compilation guesses for uClibc.
15717         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
15718         that uClibc does not have the glibc bug.
15719         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
15720         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
15721
15722 2010-12-14  Eric Blake  <eblake@redhat.com>
15723
15724         configmake: provide fallbacks for oldest supported autotools
15725         * m4/configmake.m4: New file.
15726         * modules/configmake (Files): Ship it.
15727         (configure.ac): Use it to guarantee fallbacks.
15728
15729 2010-12-13  Pádraig Brady <P@draigBrady.com>
15730
15731         read-file: Improve handling of large files
15732         * lib/read-file.c (fread_file): Minimize realloc()s
15733         for regular files, and better manage sizes around SIZE_MAX.
15734
15735 2010-12-13  Eric Blake  <eblake@redhat.com>
15736
15737         cloexec, fcntl: relax license
15738         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
15739         consent from all contributors.
15740         * modules/fcntl (License): Likewise.
15741
15742 2010-12-10  Bruno Haible  <bruno@clisp.org>
15743
15744         Tests for module 'pipe-posix'.
15745         * modules/pipe-posix-tests: New file.
15746         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
15747
15748 2010-12-10  Bruno Haible  <bruno@clisp.org>
15749
15750         pipe-posix: Make it work in C++ mode.
15751         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
15752         (pipe): Use common idiom, not a macro definition.
15753         * lib/pipe.c: New file.
15754         * m4/pipe.m4: New file.
15755         * modules/pipe-posix (Description): Enhance.
15756         (Files): Add lib/pipe.c, m4/pipe.m4.
15757         (configure.ac): Invoke gl_FUNC_PIPE.
15758         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
15759         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
15760         * tests/test-unistd-c++.cc: Check the signature of pipe.
15761
15762 2010-12-10  Bruno Haible  <bruno@clisp.org>
15763
15764         Rename module 'pipe' to 'spawn-pipe'.
15765         * modules/spawn-pipe: New file, renamed from modules/pipe.
15766         (Files, configure.ac, Makefile.am): Update.
15767         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
15768         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
15769         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
15770         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
15771         "spawn-pipe.h" instead of "pipe.h".
15772         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
15773         to gl_SPAWN_PIPE.
15774         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
15775         (Files, Makefile.am): Update.
15776         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
15777         Update.
15778         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
15779         Include "spawn-pipe.h" instead of "pipe.h".
15780         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
15781         * lib/javacomp.c: Likewise.
15782         * lib/javaversion.c: Likewise.
15783         * lib/pipe-filter-gi.c: Likewise.
15784         * lib/pipe-filter-ii.c: Likewise.
15785         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
15786         * modules/javacomp (Depends-on): Likewise.
15787         * modules/javaversion (Depends-on): Likewise.
15788         * modules/pipe-filter-gi (Depends-on): Likewise.
15789         * modules/pipe-filter-ii (Depends-on): Likewise.
15790         * MODULES.html.sh (Executing programs): Update.
15791         * NEWS: Mention the change.
15792
15793 2010-12-10  Eric Blake  <eblake@redhat.com>
15794
15795         pipe-posix: new module
15796         * modules/pipe-posix: New file.
15797         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
15798         (gl_UNISTD_H): Check for declaration.
15799         * modules/unistd (Makefile.am): Substitute it.
15800         * lib/unistd.in.h (pipe): Provide it for mingw.
15801         * doc/posix-functions/pipe.texi (pipe): Update documentation.
15802         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
15803
15804 2010-12-07  Bruno Haible  <bruno@clisp.org>
15805
15806         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
15807         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
15808         u8_strcmp_gnu.
15809         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
15810
15811 2010-12-06  Bruno Haible  <bruno@clisp.org>
15812
15813         Update internal documentation.
15814         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
15815
15816 2010-12-04  Bruno Haible  <bruno@clisp.org>
15817
15818         Put more information about failed tests into the test return codes.
15819         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
15820         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
15821         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
15822         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
15823         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
15824         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
15825         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
15826         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
15827         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
15828         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
15829         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
15830         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
15831         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
15832         * m4/stdint.m4 (gl_STDINT_H): Likewise.
15833         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
15834         returns a bit mask.
15835         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
15836         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
15837         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
15838         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
15839         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
15840         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
15841         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
15842         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
15843         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
15844         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
15845         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
15846         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
15847         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
15848         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
15849         * m4/link.m4 (gl_FUNC_LINK): Likewise.
15850         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
15851         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
15852         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
15853         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
15854         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
15855         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
15856         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
15857         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
15858         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
15859         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
15860         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
15861         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
15862         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
15863         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
15864         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
15865         gl_PRINTF_PRECISION): Likewise.
15866         * m4/regex.m4 (gl_REGEX): Likewise.
15867         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
15868         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
15869         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
15870         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
15871         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
15872         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
15873         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
15874         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
15875         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
15876         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
15877         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
15878         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
15879         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
15880         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
15881         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
15882         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
15883         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
15884         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
15885         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
15886         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
15887         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
15888         enumerated value.
15889         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
15890
15891 2010-12-04  Bruno Haible  <bruno@clisp.org>
15892
15893         Update for Solaris 11 2010-11.
15894         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
15895         Express, released in November 2010.
15896
15897 2010-12-04  Bruno Haible  <bruno@clisp.org>
15898
15899         nproc: Relax license.
15900         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
15901         and Paul Eggert.
15902         Requested by Ludovic Courtès <ludo@gnu.org>.
15903
15904 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
15905
15906         utimecmp: fine-grained src to nearby coarse-grained dest
15907
15908         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
15909         and the source is on a file system with higher-resolution time
15910         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
15911         not work, and the time stamps are close together, the algorithm to
15912         determine the exact resolution from the read-back mtime was buggy:
15913         it had a "!=" where it should have had an "==".  This bug has been
15914         in the code ever since it was introduced to gnulib.
15915         Problem reported by Dan Jacobson in
15916         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
15917
15918 2010-11-30  Bruno Haible  <bruno@clisp.org>
15919
15920         strerror_r-posix: Fix autoconf test.
15921         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
15922
15923 2010-11-28  Bruno Haible  <bruno@clisp.org>
15924             Paul Eggert  <eggert@cs.ucla.edu>
15925
15926         Tests for module 'getdomainname'.
15927         * modules/getdomainname-tests: New file.
15928         * tests/test-getdomainname.c: New file, based on
15929         tests/test-gethostname.c.
15930
15931 2010-11-28  Bruno Haible  <bruno@clisp.org>
15932             Paul Eggert  <eggert@cs.ucla.edu>
15933
15934         getdomainname: Use the system function when possible.
15935         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
15936         (getdomainname): Replace if needed. Provide the declaration if it is
15937         missing. Don't use _GL_CXXALIAS_SYS_CAST.
15938         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
15939         (getdomainname): When the system has getdomainname, call the system
15940         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
15941         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
15942         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
15943         found in libnsl. Look for the declaration also in <netdb.h>. Replace
15944         the function if its second argument is of type 'int' or if it is found
15945         in libnsl.
15946         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
15947         <sys/systeminfo.h> and sysinfo().
15948         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
15949         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15950         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
15951         HAVE_GETDOMAINNAME.
15952         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
15953         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
15954         * doc/glibc-functions/getdomainname.texi: Document the problems with
15955         the getdomainname declaration.
15956
15957 2010-11-28  Bruno Haible  <bruno@clisp.org>
15958
15959         sys_socket: Ensure ss_family field on AIX.
15960         * lib/sys_socket.in.h (ss_family): New macro definition.
15961         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
15962         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
15963         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
15964         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
15965         * modules/sys_socket (Makefile.am): Substitute
15966         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
15967         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
15968
15969 2010-11-27  Bruno Haible  <bruno@clisp.org>
15970
15971         readline: Improve configure output.
15972         * m4/readline.m4 (gl_FUNC_READLINE): Make the
15973         "checking for readline..." result understandable.
15974
15975 2010-11-27  Bruno Haible  <bruno@clisp.org>
15976
15977         *printf-posix: Detect a bug on Solaris 10/x86.
15978         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
15979         for floating-point output.
15980         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
15981         directive.
15982         * tests/test-snprintf-posix.h (test_function): Likewise.
15983         * tests/test-sprintf-posix.h (test_function): Likewise.
15984         * tests/test-vasprintf-posix.c (test_function): Likewise.
15985         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
15986         * doc/posix-functions/printf.texi: Likewise.
15987         * doc/posix-functions/snprintf.texi: Likewise.
15988         * doc/posix-functions/sprintf.texi: Likewise.
15989         * doc/posix-functions/vfprintf.texi: Likewise.
15990         * doc/posix-functions/vprintf.texi: Likewise.
15991         * doc/posix-functions/vsnprintf.texi: Likewise.
15992         * doc/posix-functions/vsprintf.texi: Likewise.
15993         * doc/glibc-functions/obstack_printf.texi: Likewise.
15994         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
15995
15996 2010-11-27  Bruno Haible  <bruno@clisp.org>
15997
15998         Fix link error when module libunistring-optional is in use.
15999         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
16000         * modules/striconveha-tests (Makefile.am): Likewise.
16001
16002 2010-11-27  Bruno Haible  <bruno@clisp.org>
16003
16004         regex: Mention link dependencies.
16005         * modules/regex (Link): New section.
16006         * modules/rpmatch (Link): Likewise.
16007         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
16008
16009 2010-11-27  Bruno Haible  <bruno@clisp.org>
16010
16011         ftoastr: Fix compilation error on Solaris.
16012         * lib/ftoastr.c: Include <config.h>.
16013
16014 2010-11-27  Bruno Haible  <bruno@clisp.org>
16015
16016         getloadavg: Update documentation.
16017         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
16018
16019 2010-11-27  Bruno Haible  <bruno@clisp.org>
16020
16021         sys_socket: Fix test whether the functions are declared.
16022         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
16023         not <sys/select.h>.
16024
16025 2010-11-27  Bruno Haible  <bruno@clisp.org>
16026
16027         getpass: Make sure to get system declaration on some platforms.
16028         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
16029         gl_USE_SYSTEM_EXTENSIONS.
16030         * modules/getpass (Depends-on): Add extensions.
16031
16032 2010-11-26  Bruno Haible  <bruno@clisp.org>
16033
16034         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
16035         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
16036         'iconv' module is present.
16037         (ICONV_CONST): New macro.
16038         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
16039         ICONV_CONST.
16040         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
16041         set ICONV_CONST.
16042         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
16043         here.
16044         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
16045         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
16046         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
16047         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
16048         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
16049         present.
16050
16051 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
16052
16053         ftoastr: comment fix
16054         * lib/ftoastr.c: "little" -> "little or no" in comment
16055
16056 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
16057
16058         stdint: port to GCC 4.3 + OSX + Octave
16059         On this platform, stdint.h is buggy and defines int64_t to long
16060         long int.  The replacement defined it to long int, causing
16061         problems with C++ style name mangling.  Instead, trust the system
16062         definition if INT64_MAX is defined, and likewise for the unsigned
16063         variant.   Problem reported by Jarno Rajahalme in
16064         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
16065         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
16066         and don't mess with int64_t and INT64_MAX in this case.
16067         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
16068
16069 2010-11-24  Bruno Haible  <bruno@clisp.org>
16070
16071         doc: Corrections regarding MacOS X 10.4 and 10.5.
16072         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
16073         MacOS X.
16074         Reported by Simon Josefsson.
16075
16076 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
16077
16078         Uninstall ".bin" files installed by relocwrapper.
16079         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
16080         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
16081         unless it is already there.
16082
16083 2010-11-21  Bruno Haible  <bruno@clisp.org>
16084
16085         Update for NetBSD 5.0.
16086         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
16087         NetBSD; the test fails on NetBSD 5.0.
16088         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
16089         about NetBSD.
16090
16091 2010-11-21  Bruno Haible  <bruno@clisp.org>
16092
16093         Update for HP-UX 11.23 and HP-UX 11.31.
16094         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
16095         HP-UX.
16096
16097 2010-11-21  Bruno Haible  <bruno@clisp.org>
16098
16099         Update for MacOS X 10.5.
16100         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
16101         MacOS X; the test fails on MacOS X 10.5.8.
16102         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
16103         about MacOS X.
16104
16105 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
16106
16107         bootstrap: add bootstrap_sync option.
16108         See discussion at
16109         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
16110         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
16111         * build-aux/bootstrap: Accept --bootstrap-sync to update
16112         bootstrap if it is not identical to the local gnulib's
16113         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
16114         enable this by default.  Accept --no-bootstrap-sync to disable
16115         it.
16116
16117 2010-11-20  Bruno Haible  <bruno@clisp.org>
16118
16119         Ensure that <features.h> is included before __GLIBC__ is tested.
16120         * lib/printf-parse.h: Include <features.h>.
16121         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
16122         Reported by Mike Frysinger <vapier@gentoo.org>.
16123
16124         Ensure that <features.h> is included before __GLIBC__ is tested.
16125         * lib/wchar.in.h: Include <features.h>.
16126         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
16127         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
16128         Reported by Mike Frysinger <vapier@gentoo.org>.
16129
16130         Ensure that <features.h> is included before __GLIBC__ is tested.
16131         * lib/arpa_inet.in.h: Include <features.h>.
16132         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
16133         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
16134         Reported by Mike Frysinger <vapier@gentoo.org>.
16135
16136         Ensure that <features.h> is included before __GLIBC__ is tested.
16137         * build-aux/link-warning.h: Include <features.h>.
16138         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
16139         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
16140         Reported by Mike Frysinger <vapier@gentoo.org>.
16141
16142         Ensure that <features.h> is included before __GLIBC__ is tested.
16143         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
16144         Reported by Mike Frysinger <vapier@gentoo.org>.
16145
16146 2010-11-20  Bruno Haible  <bruno@clisp.org>
16147
16148         memmem: Fix autoconf test.
16149         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
16150
16151 2010-11-20  Bruno Haible  <bruno@clisp.org>
16152
16153         Port to uClibc.
16154         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
16155         * lib/fcntl.in.h: Likewise.
16156         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
16157         * lib/mbrtowc.c (mbrtowc): Likewise.
16158         * lib/relocatable.c (find_shared_library_fullname): Likewise.
16159         * lib/strerror_r.c: Likewise.
16160         * lib/unistr/u8-strnlen.c: Likewise.
16161         * lib/vasnprintf.c (decimal_point_char): Likewise.
16162         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
16163         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
16164         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
16165         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
16166         * tests/test-sigaction.c (handler, main): Likewise.
16167         * lib/freading.h: Treat uClibc like a non-glibc platform.
16168         * lib/freading.c: Likewise.
16169         * lib/gettext.h: Likewise.
16170         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
16171         Likewise.
16172         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
16173         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
16174         * lib/propername.c (proper_name_utf8): Likewise.
16175         * lib/spawn.in.h: Likewise.
16176         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
16177         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
16178         mem_cd_iconveh_internal): Likewise.
16179         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
16180         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
16181         strstr, strcasestr): Likewise.
16182         * lib/unicodeio.c (unicode_to_mb): Likewise.
16183         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
16184         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
16185         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
16186         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
16187         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
16188         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
16189         * lib/unistr/u8-stpncpy.c: Likewise.
16190         * lib/vasnprintf.c (VASNPRINTF): Likewise.
16191         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
16192         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
16193         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
16194         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
16195         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
16196         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
16197         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
16198         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
16199         Likewise.
16200         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
16201         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
16202         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
16203         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
16204         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
16205         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
16206         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
16207         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
16208         * tests/test-getopt.h (OPTIND_MIN): Likewise.
16209         * tests/test-striconveha.c (main): Likewise.
16210         * tests/test-vasnprintf-posix.c (test_function): Likewise.
16211         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
16212         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
16213         * doc/posix-functions/getline.texi: Likewise.
16214         Reported by Mike Frysinger <vapier@gentoo.org>.
16215
16216 2010-11-20  Bruno Haible  <bruno@clisp.org>
16217
16218         nproc: Fix condition.
16219         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
16220         HAVE_PTHREAD_AFFINITY_NP.
16221
16222 2010-11-20  Bruno Haible  <bruno@clisp.org>
16223
16224         Fix a comment.
16225         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
16226
16227 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
16228
16229         ftoastr: don't assume snprintf
16230         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
16231         Implement a subset of snprintf here, by using sprintf safely.
16232         * modules/ftoastr (Depends-on): Remove snprintf.
16233
16234 2010-11-19  Jim Meyering  <meyering@redhat.com>
16235
16236         test-rename.h: fix compilation failure
16237         * tests/test-rename.h (test_rename): Add omitted "}".
16238
16239 2010-11-17  Jim Meyering  <meyering@redhat.com>
16240
16241         maint.mk: add a URL discussing the no-@acronym policy
16242         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
16243
16244 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
16245
16246         ftoastr: depend on snprintf, improve comments
16247         * lib/ftoastr.c: Also mention Loitsch's draft.
16248         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
16249         needed in the current implementation, but it might simplify
16250         speeding up the code later.
16251         * modules/ftoastr: Depend on snprintf; this improves portability.
16252         Suggested by Bruno Haible in the same email.
16253
16254         ftoastr: port to hosts lacking strtof and strtold
16255         Problem reported by Bruno Haible in
16256         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
16257         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
16258         environment and strtold (and presumably strtof) are not available.
16259         * modules/ftoastr (Files): Add m4/c-strtod.m4.
16260         (configure.ac): Require gl_C99_STRTOLD.
16261
16262 2010-11-18  Bruno Haible  <bruno@clisp.org>
16263
16264         c-strtold: Avoid link error on AIX 7.
16265         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
16266         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
16267         (gl_C_STRTOLD): Test whether strtold_l exists.
16268         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
16269
16270 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
16271
16272         intprops: new macro INT_BITS_STRLEN_BOUND
16273         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
16274         ftoastr.h.  This exposes an internal of intprops.h that was formerly
16275         not exposed.  Also, it uses a slightly tighter bound than before;
16276         though this makes no practical difference, we might as well be as
16277         tight as we easily can.
16278
16279         ftoastr: new module, for lossless conversion of floats to short strings
16280         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
16281         * modules/ftoastr: New files.
16282
16283 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
16284
16285         bootstrap: port to Solaris sed
16286         * build-aux/bootstrap (get_version): Port to Solaris sed.
16287         See Ralf Wildenhues's note in
16288         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
16289
16290 2010-11-14  Jim Meyering  <meyering@redhat.com>
16291
16292         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
16293         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
16294         and move definition closer to sole use.
16295
16296 2010-11-13  Jim Meyering  <meyering@redhat.com>
16297
16298         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
16299         Now we require at least autoconf-2.59, which means the work-around
16300         is no longer needed.
16301         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
16302         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
16303         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
16304         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
16305         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
16306
16307 2010-11-13  Bruno Haible  <bruno@clisp.org>
16308
16309         rename, renameat: Avoid test failures at NFS mounted locations.
16310         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
16311         functions.
16312         (test_rename): Use assert_nonexistent.
16313         * tests/test-rename.c: Include <dirent.h>.
16314         * tests/test-renameat.c: Likewise.
16315         Reported by Gary V. Vaughan <gary@gnu.org>.
16316
16317         rename, renameat: Document Linux bug with NFS
16318         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
16319         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
16320         * doc/posix-functions/renameat.texi: Likewise.
16321         Suggested by Eric Blake.
16322
16323 2010-11-13  Bruno Haible  <bruno@clisp.org>
16324
16325         rename test: Add comments.
16326         * tests/test-rename.h (test_rename): Add structure and comments.
16327
16328 2010-11-13  Eric Blake  <eblake@redhat.com>
16329
16330         maintainer-makefile: cover a few more files
16331         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
16332         scripts generated within C files, for libvirt.
16333
16334 2010-11-13  Bruno Haible  <bruno@clisp.org>
16335
16336         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
16337         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
16338         character, return the number of bytes that belong together, not always
16339         1.
16340         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
16341         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
16342         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
16343         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
16344         number of bytes of an invalid character.
16345         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
16346         (main): Invoke it.
16347         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
16348         results.
16349         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
16350         malformed byte sequences.
16351         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
16352         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
16353         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
16354         Reported by Ben Pfaff and Paolo Bonzini.
16355
16356 2010-11-13  Bruno Haible  <bruno@clisp.org>
16357
16358         openat: Work around glibc bug with fchownat() and empty file names.
16359         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
16360         (gl_FUNC_FCHOWNAT): Invoke it.
16361         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
16362         * doc/posix-functions/fchownat.texi: Document the glibc bug.
16363         Reported by Gary V. Vaughan <gary@gnu.org>.
16364
16365 2010-11-13  Bruno Haible  <bruno@clisp.org>
16366
16367         openat: Ensure autoconf macro ordering.
16368         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
16369         gl_USE_SYSTEM_EXTENSIONS.
16370         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
16371
16372 2010-11-13  Bruno Haible  <bruno@clisp.org>
16373
16374         Update comments.
16375         * lib/unistr/u8-check.c: Update file name in comments.
16376         * lib/unistr/u8-mblen.c: Likewise.
16377         * lib/unistr/u8-prev.c: Likewise.
16378         * lib/unistr/u8-strmblen.c: Likewise.
16379         * lib/unistr/u8-strmbtouc.c: Likewise.
16380
16381 2010-11-13  Jim Meyering  <meyering@redhat.com>
16382
16383         tests: avoid test failure on Solaris 10 due to lack of PATH export
16384         * tests/test-update-copyright.sh: Don't forget to export PATH.
16385
16386         init.sh: ensure that IFS is defined, just in case...
16387         * tests/init.sh (setup_): Ensure that IFS is defined,
16388         so that saving and restoring it works as expected.  This
16389         appears to be useful at least for an old version of dash
16390         from a long time ago (RH 6).  See here for details:
16391         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
16392
16393         maint.mk: tighten "test a == b" check
16394         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
16395         test to files that contain something like #!/bin/sh.
16396         Without this, coreutils would get two false positives in
16397         the comments of C source files.
16398
16399 2010-11-12  Eric Blake  <eblake@redhat.com>
16400
16401         bootstrap: fix typo in previous attempt
16402         * build-aux/bootstrap (buildreq): Correct the grouping.
16403         Reported by Paul Eggert.
16404
16405         maintainer-makefile: prohibit test x == x
16406         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
16407         Based on a report by Matthias Bolte.
16408
16409         bootstrap: allow FreeBSD gzip
16410         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
16411         which has no '.' and goes to stderr.
16412         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
16413         Reported by Matthias Bolte.
16414
16415         maintainer-makefile: check for i18n setup
16416         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
16417         will likely work.
16418
16419 2010-11-12  Bruno Haible  <bruno@clisp.org>
16420
16421         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
16422         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
16423         * lib/nanosleep.c (nanosleep): Likewise.
16424
16425 2010-11-11  Bruno Haible  <bruno@clisp.org>
16426
16427         fcntl-h: Fix for use of C++ on glibc systems.
16428         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
16429         also on glibc systems in C++ mode.
16430         Reported by Gary V. Vaughan <gary@gnu.org>.
16431
16432 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
16433
16434         mknod: avoid false failure with dash
16435         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
16436
16437 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
16438
16439         unlink: Fix "is it should" typo in diagnostic.
16440         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
16441         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
16442
16443 2010-11-11  Bruno Haible  <bruno@clisp.org>
16444
16445         Tests for module 'strerror_r-posix'.
16446         * modules/strerror_r-posix-tests: New file.
16447         * tests/test-strerror_r.c: New file.
16448         * tests/test-string-c++.cc: Check the signature of strerror_r.
16449
16450         New module 'strerror_r-posix'.
16451         * lib/string.in.h (strerror_r): New declaration.
16452         * lib/strerror_r.c: New file.
16453         * m4/strerror_r.m4: New file.
16454         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
16455         of strerror_r.
16456         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
16457         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
16458         * modules/strerror_r-posix: New file.
16459         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
16460         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
16461         * doc/posix-functions/strerror_r.texi: Mention the new module and the
16462         portability problems.
16463
16464 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
16465
16466         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
16467         line is also considered for output. Quoted function name in shell
16468         command, so temporary files for functions like MyClass::operator()
16469         are removed correctly without errors.
16470
16471 2010-11-09  Bruno Haible  <bruno@clisp.org>
16472
16473         * doc/posix-functions/strerror.texi: List more failing platforms.
16474
16475         * doc/posix-functions/strerror.texi: Add a comment.
16476
16477 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
16478
16479         fdopendir: fix bug on MacOS X when low on file descriptors
16480
16481         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
16482         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
16483         All callers changed.
16484         (fdopendir): Invoke save_cwd at the top level, not after using
16485         multiple dup() calls to use up file descriptors.  Then retry
16486         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
16487         less than the maximum number of open file descriptors, because
16488         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
16489         on Mac OS X 10.6.4 for tar 1.24
16490         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
16491         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
16492         and for tar 1.25
16493         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
16494
16495 2010-11-07  Bruno Haible  <bruno@clisp.org>
16496
16497         vasnprintf: Support I flag on glibc systems.
16498         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
16499         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
16500         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
16501         snprintf function.
16502         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
16503         glibc systems.
16504         * tests/test-vasnprintf-posix3.c: New file.
16505         * modules/vasnprintf-posix-tests (Files): Add it.
16506         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
16507
16508 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
16509
16510         [html] Fix copy/paste bug: Use unique name for compiler warnings.
16511         * MODULES.html.sh: For compiler warnings, use name
16512         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
16513
16514 2010-11-05  Eric Blake  <eblake@redhat.com>
16515
16516         ceil, floor: avoid spurious failure with icc
16517         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
16518         [denormals-as-zero] when optimizing without -mieee-fp option.
16519         * tests/test-floorf2.c (floorf_reference): Likewise.
16520         * tests/test-ceilf1.c (dummy): New function.
16521         (main): Use it to outsmart icc's optimization.
16522         * tests/test-floorf1.c (dummy, main): Likewise.
16523
16524         tests: require working signbit
16525         * modules/ceilf-tests (Depends-on): Add signbit.
16526         * modules/ceill-tests (Depends-on): Likewise.
16527         * modules/floorf-tests (Depends-on): Likewise.
16528         * modules/floorl-tests (Depends-on): Likewise.
16529         * modules/round-tests (Depends-on): Likewise.
16530         * modules/roundf-tests (Depends-on): Likewise.
16531         * modules/roundl-tests (Depends-on): Likewise.
16532         * modules/trunc-tests (Depends-on): Likewise.
16533         * modules/truncf-tests (Depends-on): Likewise.
16534         * modules/truncl-tests (Depends-on): Likewise.
16535
16536         strtod: work around icc bug
16537         * lib/strtod.c (minus_zero): Define to working value.
16538         (strtod): Use it to avoid icc bug.
16539
16540         copysign: enhance tests
16541         * modules/copysign-tests (Files): Add minus-zero.h.
16542         * tests/test-copysign.c (main): Also test zeros.
16543
16544 2010-11-04  Eric Blake  <eblake@redhat.com>
16545
16546         ceil, floor, round, trunc: enhance tests of -0
16547         * tests/test-ceilf1.c (main): Ensure correct sign of result.
16548         * tests/test-ceill.c (main): Likewise.
16549         * tests/test-floorf1.c (main): Likewise.
16550         * tests/test-floorl.c (main): Likewise.
16551         * tests/test-round1.c (main): Likewise.
16552         * tests/test-roundf1.c (main): Likewise.
16553         * tests/test-roundl.c (main): Likewise.
16554         * tests/test-trunc1.c (main): Likewise.
16555         * tests/test-truncf1.c (main): Likewise.
16556         * tests/test-truncl.c (main): Likewise.
16557
16558 2010-11-04  Eric Blake  <eblake@redhat.com>
16559
16560         frexp, tests: work around ICC bug with -zero
16561         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
16562         works with more compilers.
16563         * tests/minus-zero.h: New file.
16564         * modules/ceilf-tests (Files): Include it.
16565         * modules/ceill-tests (Files): Likewise.
16566         * modules/floorf-tests (Files): Likewise.
16567         * modules/floorl-tests (Files): Likewise.
16568         * modules/frexp-nolibm-tests (Files): Likewise.
16569         * modules/frexp-tests (Files): Likewise.
16570         * modules/frexpl-nolibm-tests (Files): Likewise.
16571         * modules/frexpl-tests (Files): Likewise.
16572         * modules/isnan-tests (Files): Likewise.
16573         * modules/isnand-nolibm-tests (Files): Likewise.
16574         * modules/isnand-tests (Files): Likewise.
16575         * modules/isnanf-nolibm-tests (Files): Likewise.
16576         * modules/isnanf-tests (Files): Likewise.
16577         * modules/isnanl-nolibm-tests (Files): Likewise.
16578         * modules/isnanl-tests (Files): Likewise.
16579         * modules/round-tests (Files): Likewise.
16580         * modules/roundf-tests (Files): Likewise.
16581         * modules/roundl-tests (Files): Likewise.
16582         * modules/ldexpl-tests (Files): Likewise.
16583         * modules/signbit-tests (Files): Likewise.
16584         * modules/snprintf-posix-tests (Files): Likewise.
16585         * modules/sprintf-posix-tests (Files): Likewise.
16586         * modules/strtod-tests (Files): Likewise.
16587         * modules/trunc-tests (Files): Likewise.
16588         * modules/truncf-tests (Files): Likewise.
16589         * modules/truncl-tests (Files): Likewise.
16590         * modules/vsnprintf-posix-tests (Files): Likewise.
16591         * modules/vsprintf-posix-tests (Files): Likewise.
16592         * modules/vasnprintf-posix-tests (Files): Likewise.
16593         * modules/vasprintf-posix-tests (Files): Likewise.
16594         * tests/test-ceilf1.c (main): Use it.
16595         * tests/test-ceill.c (main): Likewise.
16596         * tests/test-floorf1.c (main): Likewise.
16597         * tests/test-floorl.c (main): Likewise.
16598         * tests/test-frexp.c (main): Likewise.
16599         * tests/test-frexpl.c (main): Likewise.
16600         * tests/test-isnan.c (main): Likewise.
16601         * tests/test-isnand.h (main): Likewise.
16602         * tests/test-isnanf.h (main): Likewise.
16603         * tests/test-isnanl.h (main): Likewise.
16604         * tests/test-ldexpl.c (main): Likewise.
16605         * tests/test-round.c (main): Likewise.
16606         * tests/test-roundf.c (main): Likewise.
16607         * tests/test-roundl.c (main): Likewise.
16608         * tests/test-signbit.c (test_signbitf, test_signbitd)
16609         (test_signbitl): Likewise.
16610         * tests/test-snprintf-posix.h (test_function): Likewise.
16611         * tests/test-sprintf-posix.h (test_function): Likewise.
16612         * tests/test-strtod.c (main): Likewise.
16613         * tests/test-trunc1.c (main): Likewise.
16614         * tests/test-truncf1.c (main): Likewise.
16615         * tests/test-truncl.c (main): Likewise.
16616
16617         isnanl: work around icc bug
16618         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
16619
16620 2010-11-03  Eric Blake  <eblake@redhat.com>
16621
16622         tests: fix compiler warnings
16623         * tests/test-getopt.h (test_getopt): Fix condition.
16624         * tests/test-getopt_long.h (test_getopt_long): Likewise.
16625         * tests/test-pipe2.c (main): Likewise.
16626         * tests/test-quotearg-simple.c (main): Avoid icc warning.
16627
16628         utimens: fix broken m4 test
16629         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
16630
16631 2010-10-28  Bruno Haible  <bruno@clisp.org>
16632
16633         posix_spawn*, getdtablesize: Relax license.
16634         * modules/posix_spawn (License): Change to LGPLv2+.
16635         * modules/posix_spawnp (License): Likewise.
16636         * modules/posix_spawn-internal (License): Likewise.
16637         * modules/posix_spawnattr_init (License): Likewise.
16638         * modules/posix_spawnattr_getflags (License): Likewise.
16639         * modules/posix_spawnattr_setflags (License): Likewise.
16640         * modules/posix_spawnattr_getpgroup (License): Likewise.
16641         * modules/posix_spawnattr_setpgroup (License): Likewise.
16642         * modules/posix_spawnattr_getschedparam (License): Likewise.
16643         * modules/posix_spawnattr_setschedparam (License): Likewise.
16644         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
16645         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
16646         * modules/posix_spawnattr_getsigdefault (License): Likewise.
16647         * modules/posix_spawnattr_setsigdefault (License): Likewise.
16648         * modules/posix_spawnattr_getsigmask (License): Likewise.
16649         * modules/posix_spawnattr_setsigmask (License): Likewise.
16650         * modules/posix_spawnattr_destroy (License): Likewise.
16651         * modules/posix_spawn_file_actions_init (License): Likewise.
16652         * modules/posix_spawn_file_actions_addclose (License): Likewise.
16653         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
16654         * modules/posix_spawn_file_actions_addopen (License): Likewise.
16655         * modules/posix_spawn_file_actions_destroy (License): Likewise.
16656         * modules/getdtablesize (License): Likewise.
16657         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
16658
16659 2010-10-26  Bruno Haible  <bruno@clisp.org>
16660
16661         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
16662         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
16663         Cygwin and mingw.
16664         Suggested by Eric Blake.
16665
16666 2010-10-26  Bruno Haible  <bruno@clisp.org>
16667
16668         stdio: Work around compilation error due to renameat() on Solaris 10.
16669         * lib/stdio.in.h: Include <unistd.h> on Solaris.
16670         * lib/renameat.c: Don't include <unistd.h> here.
16671         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
16672         Reported by Paul Eggert and Eric Blake.
16673
16674 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
16675
16676         renameat: port to Solaris 10, which declares renameat in unistd.h
16677
16678         * lib/renameat.c: Include unistd.h before stdio.h, because
16679         Solaris 10 declares renameat in unistd.h.  Problem encountered
16680         when building GNU tar 1.24 on Solaris 10.
16681
16682 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
16683
16684         fdopendir: fix C89 compilation
16685         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
16686         compilers.
16687
16688 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
16689
16690         inttostr: simplify by removing unnecessary redundancy
16691         * lib/anytostr.c: Don't include verify.h.
16692         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
16693         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
16694         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
16695         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
16696         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
16697         Likewise.
16698         * modules/inttostr (Depends-on): Remove 'verify'.
16699
16700 2010-10-23  Bruno Haible  <bruno@clisp.org>
16701
16702         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
16703         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
16704         Reported by Eric Blake.
16705
16706 2010-10-23  Bruno Haible  <bruno@clisp.org>
16707
16708         Tests: Fix LOCALE_JA on MirBSD 10.
16709         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
16710         to an UTF-8 locale.
16711         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
16712         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
16713         Reported by Eric Blake.
16714
16715 2010-10-21  Bruno Haible  <bruno@clisp.org>
16716
16717         nl_langinfo test: Avoid test failure on NetBSD 5.
16718         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
16719         Reported by Eric Blake.
16720
16721 2010-10-21  Eric Blake  <eblake@redhat.com>
16722
16723         c-stack: work around libsigsegv 2.8 bug
16724         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
16725         overflow on at least PowerPC64.
16726
16727 2010-10-17  Bruno Haible  <bruno@clisp.org>
16728
16729         userspec: Drop redundant file.
16730         * modules/userspec (Files): Remove lib/inttostr.h.
16731
16732 2010-10-17  Bruno Haible  <bruno@clisp.org>
16733
16734         nl_langinfo tests: Silence some warnings.
16735         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
16736         Reported by Jim Meyering.
16737
16738 2010-10-17  Bruno Haible  <bruno@clisp.org>
16739
16740         Make use of GCC's attribute __alloc_size__.
16741         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
16742         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
16743         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
16744         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
16745         __alloc_size__.
16746         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
16747         Suggested by Jim Meyering.
16748
16749 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
16750
16751         bootstrap: anchor .gitignore entries.
16752         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
16753         with...
16754         (insert_vc_ignore): ... this new function, which prepends `/' to
16755         all .gitignore entries before passing them to
16756         insert_sorted_if_absent.
16757
16758 2010-10-16  Bruno Haible  <bruno@clisp.org>
16759
16760         nextafter: Fix configure check.
16761         * modules/nextafter (configure.ac): Correct expected prototype.
16762
16763 2010-10-16  Bruno Haible  <bruno@clisp.org>
16764
16765         termios: Update documentation.
16766         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
16767
16768 2010-10-16  Bruno Haible  <bruno@clisp.org>
16769
16770         tests: Make them compile with TinyCC.
16771         * tests/test-strstr.c (main): Remove parentheses around array
16772         initializer.
16773
16774 2010-10-15  Eric Blake  <eblake@redhat.com>
16775
16776         ignore-value: make header idempotent
16777         * lib/ignore-value.h: Add double-inclusion guards.
16778         Reported by Stefan Berger.
16779
16780 2010-10-15  Jim Meyering  <meyering@redhat.com>
16781
16782         GNUmakefile: handle "stable" target, not "major"
16783         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
16784         lists in maint.mk and announce-gen.  Without this, "make stable"
16785         would fail to ensure that $(VERSION) is up to date.
16786
16787 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
16788
16789         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
16790         & co.
16791
16792 2010-10-14  Bruno Haible  <bruno@clisp.org>
16793
16794         vasnprintf: Don't set errno to 0.
16795         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
16796         block that sets it to 0.
16797         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
16798
16799 2010-10-14  Bruno Haible  <bruno@clisp.org>
16800
16801         socketlib: Fix.
16802         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
16803         gl_PREREQ_SYS_H_WINSOCK2.
16804         Reported by Ian Beckwith <ianb@erislabs.net>.
16805
16806 2010-10-13  Jim Meyering  <meyering@redhat.com>
16807
16808         test-select-stdin.c: avoid warn_unused_result warnings
16809         * tests/test-select-stdin.c: Include "macros.h".
16810         ASSERT that read and fflush succeed.
16811
16812 2010-10-13  Jim Meyering  <meyering@redhat.com>
16813
16814         git-version-gen: do require git-VC'd files in cwd
16815         * build-aux/git-version-gen: Reject a git version string
16816         if there are no commits associated with the current directory.
16817         This avoids an unlikely false-positive (unrelated dir whose parent
16818         repository also contains a tag matching v*), as pointed out
16819         by Giuseppe Scrivano in
16820         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
16821
16822 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
16823
16824         argv-iter: omit nonconforming declaration
16825         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
16826         enum arg_iter_err declaration, which doesn't conform to C99.
16827         Solaris 10 cc warns about this.
16828
16829 2010-10-13  Eric Blake  <eblake@redhat.com>
16830
16831         termios: fix compilation on mingw
16832         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
16833         (gl_TERMIOS_H): Adjust it on mingw.
16834         * modules/termios (Makefile.am): Substitute new key.
16835         * lib/termios.in.h (includes): Make include_next conditional.
16836         * doc/posix-headers/termios.texi (termios.h): Update
16837         documentation.
16838         Reported by Daniel P. Berrange.
16839
16840 2010-10-13  Jim Meyering  <meyering@redhat.com>
16841
16842         git-version-gen: don't require that .git/ be in the current dir
16843         * build-aux/git-version-gen: Adjust this script so that it works
16844         when run from any working directory beneath the top-level .git/-
16845         containing directory.  Inspired by a patch from Giuseppe Scrivano,
16846         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
16847
16848         test-select: avoid warn_unused_result warnings
16849         * tests/test-select.c: Include "macros.h".
16850         ASSERT that each call to read, write, and pipe succeeds.
16851         While not technically required, also check each "close".
16852         * modules/select-tests (Files): Add tests/macros.h.
16853
16854         test-symlinkat: remove declaration of unused local
16855         * tests/test-symlinkat.c (main): Remove unused local, "buf".
16856
16857         test-inttostr: avoid shadowing warnings
16858         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
16859         and use malloc rather than the stack for the same reason as
16860         mentioned in the comment justifying the other allocation.
16861
16862 2010-10-11  Bruno Haible  <bruno@clisp.org>
16863
16864         stdlib: Allow multiple gnulib generated replacements to coexist.
16865         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
16866         Reported by Sam Steingold <sds@gnu.org>.
16867
16868 2010-10-11  Jim Meyering  <meyering@redhat.com>
16869
16870         fix a documentation typo
16871         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
16872
16873 2010-10-11  Eric Blake  <eblake@redhat.com>
16874
16875         futimens: work around Solaris 11 bug
16876         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
16877         * tests/test-futimens.h (test_futimens): Enhance, rather than
16878         weaken test.
16879         * doc/posix-functions/futimens.texi (futimens): Document the bug.
16880
16881 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
16882
16883         Indentation.
16884         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
16885         higher-level operators more to the left.
16886
16887 2010-10-11  Jim Meyering  <meyering@redhat.com>
16888
16889         test-futimens: avoid unwarranted test failure on Solaris 5.11
16890         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
16891         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
16892         because it tries to dereference the NULL name argument.
16893
16894 2010-10-11  Bruno Haible  <bruno@clisp.org>
16895
16896         Indentation.
16897         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
16898         indentation.
16899
16900 2010-10-11  Jim Meyering  <meyering@redhat.com>
16901
16902         spawn.in.h: make indentation consistent with parentheses
16903         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
16904         Make indentation consistent with parentheses.
16905
16906 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
16907
16908         Fix mismatched parens in previous commit
16909         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
16910         parens.
16911
16912 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
16913
16914         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
16915
16916         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
16917         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
16918         * lib/malloca.c: Include "verify.h".
16919         (verify1): Remove, replacing with a verify call.
16920         * lib/relocwrapper.c (verify1): Likewise.
16921         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
16922         Likewise.
16923         * modules/malloca (Depends-on): Add 'verify'.
16924         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
16925         * modules/vasnprintf (Depends-on): Add 'verify'.
16926         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
16927         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
16928         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
16929         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
16930         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
16931         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
16932         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
16933
16934         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
16935
16936         Formerly the style was sometimes 2*X - 1, because the C standard
16937         was wrongly thought to disallow ?: in integral constant expressions.
16938         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
16939         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
16940         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
16941         * lib/stdint.in.h (_verify_intmax_size): Likewise.
16942         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
16943         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
16944         verify that time_t cannot be floating.
16945
16946 2010-10-08  Eric Blake  <eblake@redhat.com>
16947
16948         time: enforce recent POSIX ruling that time_t is integral
16949         * lib/time.in.h (__time_t_must_be_integral): Detect any
16950         problematic systems, allowing the rest of gnulib to assume POSIX.
16951
16952 2010-10-08  Jim Meyering  <meyering@redhat.com>
16953
16954         fdopendir: fix a bug on systems lacking openat and /proc support
16955         OpenBSD 4.7 is one such system.  The most noticeable effect was
16956         failure of any application making nontrivial use of fts: rm, du,
16957         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
16958           ./rm: traversal failed: `a': Bad file descriptor
16959         Debugging that, you see that even though FD 6 was closed just
16960         prior to the opendir call in fd_clone_opendir, its resulting
16961         dir->dd_fd was 8, rather than the expected value of 6:
16962
16963         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
16964         93                close (fd);
16965         (gdb) n
16966         94                dir = fd_clone_opendir (dupfd);
16967         (gdb) n
16968         95                saved_errno = errno;
16969         (gdb) p dir->dd_fd
16970         $11 = 8
16971
16972         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
16973         The problem is that on OpenBSD, fd_clone_opendir has to resort
16974         to using the old-style save/restore CWD mechanism, due to its
16975         lack of openat/proc support, and *that* would steal the FD (6)
16976         that opendir was supposed to use.
16977
16978         The fix is to squirrel away the desired FD so that save_cwd uses a
16979         different one, and then free the dest FD right before calling opendir.
16980         That guarantees opendir will use the required file descriptor.
16981
16982         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
16983
16984 2010-10-08  Bruno Haible  <bruno@clisp.org>
16985
16986         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
16987         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
16988
16989 2010-10-08  Bruno Haible  <bruno@clisp.org>
16990
16991         nanosleep: Make replacement POSIX compliant.
16992         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
16993         is out of range.
16994         Reported by Jim Meyering.
16995
16996 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
16997
16998         bootstrap: add hook for altering gnulib.mk, for Bison
16999         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
17000         the Bison bootstrapping process can rewrite file names and variables
17001         in this file before later parts of 'bootstrap' use the file.
17002         Bison wants to include lib/gnulib.mk from the top-level makefile,
17003         so it needs the file names in this file to be relative to the top
17004         level, not relative to lib; plus it needs variable names to be
17005         rewritten.
17006         (slurp): Use the new function.
17007
17008         bootstrap: reformat for readability
17009         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
17010
17011 2010-10-08  Eric Blake  <eblake@redhat.com>
17012
17013         docs: update cygwin progress
17014         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
17015         1.7.7.
17016         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
17017         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
17018         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
17019         * doc/posix-functions/carg.texi (carg): Likewise.
17020         * doc/posix-functions/cargf.texi (cargf): Likewise.
17021         * doc/posix-functions/casin.texi (casin): Likewise.
17022         * doc/posix-functions/casinf.texi (casinf): Likewise.
17023         * doc/posix-functions/casinh.texi (casinh): Likewise.
17024         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
17025         * doc/posix-functions/catan.texi (catan): Likewise.
17026         * doc/posix-functions/catanf.texi (catanf): Likewise.
17027         * doc/posix-functions/catanh.texi (catanh): Likewise.
17028         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
17029         * doc/posix-functions/ccos.texi (ccos): Likewise.
17030         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
17031         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
17032         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
17033         * doc/posix-functions/cexp.texi (cexp): Likewise.
17034         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
17035         * doc/posix-functions/cimag.texi (cimag): Likewise.
17036         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
17037         * doc/posix-functions/clog.texi (clog): Likewise.
17038         * doc/posix-functions/clogf.texi (clogf): Likewise.
17039         * doc/posix-functions/conj.texi (conj): Likewise.
17040         * doc/posix-functions/conjf.texi (conjf): Likewise.
17041         * doc/posix-functions/cpow.texi (cpow): Likewise.
17042         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
17043         * doc/posix-functions/cproj.texi (cproj): Likewise.
17044         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
17045         * doc/posix-functions/creal.texi (creal): Likewise.
17046         * doc/posix-functions/crealf.texi (crealf): Likewise.
17047         * doc/posix-functions/csin.texi (csin): Likewise.
17048         * doc/posix-functions/csinf.texi (csinf): Likewise.
17049         * doc/posix-functions/csinh.texi (csinh): Likewise.
17050         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
17051         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
17052         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
17053         * doc/posix-functions/ctan.texi (ctan): Likewise.
17054         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
17055         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
17056         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
17057         * doc/posix-headers/complex.texi (complex.h): Likewise.
17058
17059 2010-10-07  Jim Meyering  <meyering@redhat.com>
17060
17061         parse-datetime: avoid compilation failure on OpenBSD 4.7
17062         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
17063         This works around a compilation failure on OpenBSD 4.7:
17064         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
17065
17066 2010-10-07  Eric Blake  <eblake@redhat.com>
17067
17068         docs: update cygwin progress
17069         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
17070         1.7.6.
17071         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
17072         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
17073         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
17074         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
17075         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
17076         Likewise.
17077         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
17078         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
17079         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
17080         Likewise.
17081         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
17082         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
17083         Likewise.
17084         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
17085         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
17086         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
17087         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
17088         Likewise.
17089         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
17090         Likewise.
17091         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
17092
17093         docs: update parse-datetime history
17094         * doc/parse-datetime.texi (Authors of parse_datetime): Better
17095         documentation of this function's history and alternatives.
17096
17097         cygwin: use more robust version check
17098         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
17099         exclude an eventual cygwin 1.9.1.
17100         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
17101         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
17102         (gl_FUNC_STRCASESTR): Likewise.
17103         Reported by Bruno Haible.
17104
17105 2010-10-06  Bruno Haible  <bruno@clisp.org>
17106
17107         string, sys_select: Avoid #including large headers unless necessary.
17108         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
17109         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
17110         OSF/1, BeOS, Haiku.
17111         Reported by Jim Meyering.
17112
17113 2010-10-05  Eric Blake  <eblake@redhat.com>
17114
17115         memmem, strstr, strcasestr: fix bug with long periodic needle
17116         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
17117         periodic needle having false positive.
17118         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
17119         and cygwin 1.7.7.
17120         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
17121         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
17122         (gl_FUNC_STRCASESTR): Likewise.
17123         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
17124         * tests/test-memmem.c (main): Expose the bug.
17125         * tests/test-strcasestr.c (main): Likewise.
17126         * tests/test-strstr.c (main): Likewise.
17127         * tests/test-c-strcasestr.c (main): Likewise.
17128         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
17129         * doc/posix-functions/strstr.texi (strstr): Likewise.
17130         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
17131         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
17132
17133 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
17134
17135         parse-datetime: do some more renaming
17136         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
17137         parse_datetime, not get_date.  Mention the renaming.
17138         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
17139         in comments.
17140         * m4/bison.m4: Likewise.
17141
17142 2010-10-05  Eric Blake  <eblake@redhat.com>
17143
17144         parse-datetime: better name than get_date
17145         * NEWS: Reword the deprecation notice.
17146         * modules/get_date: Rename to modules/parse-datetime.
17147         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
17148         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
17149         * lib/get_date.y: Rename to lib/parse-datetime.y.
17150         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
17151         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
17152         * doc/getdate.texi: Provide fallback wrapper.
17153         * lib/getdate.h: Move guts, and wrap...
17154         * lib/parse-datetime.h: ...new file.
17155         * lib/parse-datetime.y (get_date): Rename...
17156         (parse_datetime): ...to this.
17157         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
17158         (gl_PARSE_DATETIME): ...to this.
17159         * doc/posix-functions/getdate.texi (get_date): Provide fallback
17160         documentation.
17161         * modules/getdate (Files): Provide fallback docs and header.
17162         (Notice, Depends-on): Update references.
17163         * tests/test-parse-datetime.c: Likewise.
17164         * DEPENDENCIES: Likewise.
17165         * MODULES.html.sh (Date and time <time.h>): Likewise.
17166         * doc/parse-datetime.texi (Date input formats)
17167         (Authors of parse_datetime): Likewise.
17168         * modules/parse-datetime (Files, configure.ac, Makefile.am)
17169         (Include): Likewise.
17170         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
17171         * gnulib-tool: Likewise.
17172         * m4/bison.m4 (gl_BISON): Likewise.
17173         Suggested by Bruno Haible.
17174
17175 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
17176
17177         more ports to Solaris tr, which needs [] around ranges
17178         * gnulib-tool: Solaris tr needs [] around ranges.
17179         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
17180         * tests/test-pipe-filter-gi1.c (main): Likewise.
17181         * tests/test-pipe-filter-ii1.c (main): Likewise.
17182
17183 2010-10-05  Eric Blake  <eblake@redhat.com>
17184
17185         bootstrap: fix Solaris regression
17186         * build-aux/bootstrap (check_versions): Solaris tr still needs []
17187         around ranges.
17188         Reported by Pádraig Brady.
17189
17190         bootstrap: work with pkg-config
17191         * build-aux/bootstrap (check_versions): Also transliterate - in
17192         prerequisite name.
17193         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
17194         prerequisites that were already found, to avoid confusion.
17195         Reported by Justin Clift.
17196
17197         faccessat: remove unused wrappers
17198         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
17199         presence of these wrappers dragged in -lgen on Solaris.
17200         Reported by Clemens Brogi; fix suggested by Paul Eggert.
17201
17202 2010-10-05  Jim Meyering  <meyering@redhat.com>
17203
17204         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
17205         * Makefile (sc_pragma_columns): New syntax-check rule.
17206
17207 2010-10-04  Bruno Haible  <bruno@clisp.org>
17208
17209         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
17210         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
17211         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
17212         Reported by Bruce Korb and Eric Blake.
17213
17214 2010-10-04  Bruno Haible  <bruno@clisp.org>
17215
17216         threadlib: Make option --with-libpth-prefix work.
17217         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
17218         use $LIBPTH, not just -lpth.
17219
17220 2010-10-04  Bruno Haible  <bruno@clisp.org>
17221
17222         Avoid line length limitation from HP NonStop system header files.
17223         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
17224         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
17225         * lib/ctype.in.h: Likewise.
17226         * lib/dirent.in.h: Likewise.
17227         * lib/errno.in.h: Likewise.
17228         * lib/fcntl.in.h: Likewise.
17229         * lib/float.in.h: Likewise.
17230         * lib/getopt.in.h: Likewise.
17231         * lib/iconv.in.h: Likewise.
17232         * lib/inttypes.in.h: Likewise.
17233         * lib/langinfo.in.h: Likewise.
17234         * lib/locale.in.h: Likewise.
17235         * lib/math.in.h: Likewise.
17236         * lib/netdb.in.h: Likewise.
17237         * lib/netinet_in.in.h: Likewise.
17238         * lib/poll.in.h: Likewise.
17239         * lib/pthread.in.h: Likewise.
17240         * lib/pty.in.h: Likewise.
17241         * lib/sched.in.h: Likewise.
17242         * lib/se-selinux.in.h: Likewise.
17243         * lib/search.in.h: Likewise.
17244         * lib/signal.in.h: Likewise.
17245         * lib/spawn.in.h: Likewise.
17246         * lib/stdarg.in.h: Likewise.
17247         * lib/stddef.in.h: Likewise.
17248         * lib/stdint.in.h: Likewise.
17249         * lib/stdio.in.h: Likewise.
17250         * lib/stdlib.in.h: Likewise.
17251         * lib/string.in.h: Likewise.
17252         * lib/strings.in.h: Likewise.
17253         * lib/sys_file.in.h: Likewise.
17254         * lib/sys_ioctl.in.h: Likewise.
17255         * lib/sys_select.in.h: Likewise.
17256         * lib/sys_socket.in.h: Likewise.
17257         * lib/sys_stat.in.h: Likewise.
17258         * lib/sys_time.in.h: Likewise.
17259         * lib/sys_times.in.h: Likewise.
17260         * lib/sys_utsname.in.h: Likewise.
17261         * lib/sys_wait.in.h: Likewise.
17262         * lib/sysexits.in.h: Likewise.
17263         * lib/termios.in.h: Likewise.
17264         * lib/time.in.h: Likewise.
17265         * lib/unistd.in.h: Likewise.
17266         * lib/wchar.in.h: Likewise.
17267         * lib/wctype.in.h: Likewise.
17268         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
17269         * modules/ctype (Makefile.am): Likewise.
17270         * modules/dirent (Makefile.am): Likewise.
17271         * modules/errno (Makefile.am): Likewise.
17272         * modules/fcntl-h (Makefile.am): Likewise.
17273         * modules/float (Makefile.am): Likewise.
17274         * modules/getopt-posix (Makefile.am): Likewise.
17275         * modules/iconv-h (Makefile.am): Likewise.
17276         * modules/inttypes (Makefile.am): Likewise.
17277         * modules/langinfo (Makefile.am): Likewise.
17278         * modules/locale (Makefile.am): Likewise.
17279         * modules/math (Makefile.am): Likewise.
17280         * modules/netdb (Makefile.am): Likewise.
17281         * modules/netinet_in (Makefile.am): Likewise.
17282         * modules/poll-h (Makefile.am): Likewise.
17283         * modules/pthread (Makefile.am): Likewise.
17284         * modules/pty (Makefile.am): Likewise.
17285         * modules/sched (Makefile.am): Likewise.
17286         * modules/search (Makefile.am): Likewise.
17287         * modules/selinux-h (Makefile.am): Likewise.
17288         * modules/signal (Makefile.am): Likewise.
17289         * modules/spawn (Makefile.am): Likewise.
17290         * modules/stdarg (Makefile.am): Likewise.
17291         * modules/stddef (Makefile.am): Likewise.
17292         * modules/stdint (Makefile.am): Likewise.
17293         * modules/stdio (Makefile.am): Likewise.
17294         * modules/stdlib (Makefile.am): Likewise.
17295         * modules/string (Makefile.am): Likewise.
17296         * modules/strings (Makefile.am): Likewise.
17297         * modules/sys_file (Makefile.am): Likewise.
17298         * modules/sys_ioctl (Makefile.am): Likewise.
17299         * modules/sys_select (Makefile.am): Likewise.
17300         * modules/sys_socket (Makefile.am): Likewise.
17301         * modules/sys_stat (Makefile.am): Likewise.
17302         * modules/sys_time (Makefile.am): Likewise.
17303         * modules/sys_times (Makefile.am): Likewise.
17304         * modules/sys_utsname (Makefile.am): Likewise.
17305         * modules/sys_wait (Makefile.am): Likewise.
17306         * modules/sysexits (Makefile.am): Likewise.
17307         * modules/termios (Makefile.am): Likewise.
17308         * modules/time (Makefile.am): Likewise.
17309         * modules/unistd (Makefile.am): Likewise.
17310         * modules/wchar (Makefile.am): Likewise.
17311         * modules/wctype (Makefile.am): Likewise.
17312
17313 2010-10-04  Bruno Haible  <bruno@clisp.org>
17314
17315         read-file tests: Avoid a test failure on NonStop Kernel.
17316         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
17317         a regular file.
17318         Reported by Joachim Schmitz <schmitz@hp.com>.
17319
17320 2010-10-03  Bruno Haible  <bruno@clisp.org>
17321
17322         gnulib-tool: Fixes for --create-testdir with --libtool.
17323         * gnulib-tool (func_get_automake_snippet): Don't augment
17324         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
17325         an executable.
17326         (func_create_testdir): Handle module 'alloca' like func_import.
17327         Reported by Bruce Korb <bruce.korb@gmail.com>.
17328
17329 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
17330
17331         Avoid some lines longer than 80 characters.
17332         * lib/stdint.in.h: Break long comment lines.
17333         * lib/math.in.h: Likewise.
17334         (_GL_NUM_UINT_WORDS): New macro, for readability.
17335         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
17336         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
17337         * lib/stdlib.in.h: Likewise.
17338         * lib/spawn.in.h: Likewise.
17339         * lib/sys_socket.in.h: Update an URL.
17340         * lib/sys_stat.in.h: Break long line.
17341
17342 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
17343
17344         Improve pmccabe2html.
17345         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
17346         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
17347         when the sources change. Remove the line in the HTML about "Used
17348         ranges" (which implied that there might be other unused ranges),
17349         rename "Resume" to "Summary" (easier to understand for more users).
17350         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
17351         styles, and some unnecessary blank lines.
17352
17353 2010-10-03  Bruno Haible  <bruno@clisp.org>
17354             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
17355
17356         acl: Add support for ACLs on NonStop Kernel.
17357         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
17358         Check whether the function aclsort() exists.
17359         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
17360         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
17361         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
17362         (acl_nontrivial [HAVE_ACLSORT]: New function.
17363         (file_has_acl): Implement for NonStop Kernel.
17364         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
17365         (qset_acl): Implement for NonStop Kernel.
17366         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
17367         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
17368         (main): Implement for NonStop Kernel.
17369         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
17370         Kernel. Handle this flavor.
17371         * tests/test-set-mode-acl.sh: Likewise.
17372         * tests/test-copy-acl.sh: Likewise.
17373         * tests/test-copy-file.sh: Likewise.
17374
17375 2010-10-03  Bruno Haible  <bruno@clisp.org>
17376
17377         Info about ACLs on NonStop Kernel.
17378         * doc/acl-resources.txt: Add info about NonStop Kernel.
17379         References by Joachim Schmitz <schmitz@hp.com>.
17380
17381 2010-10-02  Bruno Haible  <bruno@clisp.org>
17382
17383         Define missing EDQUOT on NonStop Kernel.
17384         * lib/errno.in.h (EDQUOT): Assign a value if missing.
17385         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
17386         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
17387         missing.
17388         * doc/posix-headers/errno.texi: Mention the NSK bug.
17389         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
17390         Reported by Joachim Schmitz <schmitz@hp.com>.
17391
17392 2010-10-02  Bruno Haible  <bruno@clisp.org>
17393
17394         Update doc for POSIX:2008.
17395         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
17396         Update URL of POSIX specification.
17397
17398 2010-10-02  Bruno Haible  <bruno@clisp.org>
17399
17400         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
17401         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
17402         from gnulib, not from Automake.
17403
17404 2010-10-02  Bruno Haible  <bruno@clisp.org>
17405
17406         New module 'system-posix'.
17407         * modules/system-posix: New file.
17408         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
17409         module is present.
17410         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
17411         GNULIB_SYSTEM_POSIX.
17412         * modules/stdlib (Depends-on): Remove sys_wait.
17413         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
17414         * doc/posix-functions/system.texi: Mention the new module.
17415         * doc/posix-headers/stdlib.texi: Likewise.
17416         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
17417         define test_sys_wait_macros to a no-op.
17418         Reported by Sam Steingold <sds@gnu.org>.
17419
17420 2010-09-30  Bruno Haible  <bruno@clisp.org>
17421
17422         More renaming from 'getdate' to 'get_date'.
17423         * doc/get_date.texi: Renamed from doc/getdate.texi.
17424         * modules/get_date (Files): Update.
17425         * MODULES.html.sh (Date and time <time.h>): Update.
17426         * DEPENDENCIES: Update.
17427         * gnulib-tool: Update comment.
17428         * m4/bison.m4 (gl_BISON): Likewise.
17429         * m4/get_date.m4 (gl_GET_DATE): Likewise.
17430
17431 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
17432
17433         bootstrap: support ACLOCAL_FLAGS during aclocal
17434         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
17435         can add additional -I dir for third-party .m4 files.
17436
17437 2010-09-30  Eric Blake  <eblake@redhat.com>
17438
17439         bootstrap: use glibtoolize on MacOS
17440         * build-aux/bootstrap (check_versions): Convert libtool into
17441         libtoolize.
17442         (tool search): Move libtool check earlier, and look for
17443         glibtoolize for MacOS.
17444         (gnulib_tool_options): Auto-add --libtool when appropriate.
17445         Reported by Justin Clift.
17446
17447         poll: fix typo that broke test on MacOS
17448         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
17449         Reported by Justin Clift.
17450
17451         getdate: rename to get_date
17452         Note: getdate.h is not renamed, to minimize client impact.
17453         * modules/getdate: Mark obsolete.  Move old contents...
17454         * modules/get_date: ...to new module name.
17455         * modules/getdate-tests: Move...
17456         * modules/get_date-tests: ...here.
17457         * m4/getdate.m4: Move...
17458         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
17459         * lib/getdate.y: Move...
17460         * lib/get_date.y: ...here.
17461         * tests/test-getdate.c: Move...
17462         * tests/test-get_date.c: ...here.
17463         * doc/posix-functions/getdate.texi (getdate): Update name.
17464         * NEWS: Mention the change.
17465
17466 2010-09-29  Bruno Haible  <bruno@clisp.org>
17467
17468         Separate the module 'waitpid' from the module 'sys_wait'.
17469         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
17470         present.
17471         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
17472         gl_MODULE_INDICATOR_FOR_TESTS.
17473         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
17474         * modules/sys_wait (Depends-on): Remove waitpid.
17475         (Makefile.am): Substitute GNULIB_WAITPID.
17476         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
17477         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
17478         signature only if the 'waitpid' module is present.
17479         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
17480         * NEWS: Mention the change.
17481         * modules/grantpt (Depends-on): Add waitpid.
17482         * modules/wait-process (Depends-on): Likewise.
17483
17484 2010-09-29  Bruno Haible  <bruno@clisp.org>
17485
17486         More tests for module 'sys_wait'.
17487         * modules/sys_wait-c++-tests: New file.
17488         * tests/test-sys_wait-c++.cc: New file.
17489         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
17490         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
17491
17492 2010-09-29  Bruno Haible  <bruno@clisp.org>
17493
17494         New module 'waitpid'.
17495         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
17496         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
17497         Don't include <process.h>.
17498         (waitpid): Declare only, using modern idiom.
17499         * m4/waitpid.m4: New file.
17500         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
17501         * modules/waitpid: New file.
17502         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
17503         (Makefile.am): Update.
17504         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
17505
17506 2010-09-28  Bruno Haible  <bruno@clisp.org>
17507
17508         poll: Assume ANSI C.
17509         * lib/poll.c (poll): Use an ANSI C declaration.
17510
17511 2010-09-28  Bruno Haible  <bruno@clisp.org>
17512
17513         poll-h: Create poll.h on all platforms.
17514         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
17515         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
17516         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
17517         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
17518         (gl_REPLACE_POLL_H): Don't set POLL_H.
17519         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
17520         * modules/poll-h (Depends-on): Add include_next.
17521         (Makefile.am): Create poll.h unconditionally. Substitute also
17522         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
17523
17524 2010-09-28  Bruno Haible  <bruno@clisp.org>
17525
17526         Tests for module 'poll-h'.
17527         * modules/poll-h-c++-tests: New file.
17528         * tests/test-poll-h-c++.cc: New file.
17529
17530         Tests for module 'poll-h'.
17531         * modules/poll-h-tests: New file.
17532         * tests/test-poll-h.c: New file.
17533
17534 2010-09-28  Bruno Haible  <bruno@clisp.org>
17535
17536         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
17537         * modules/poll-h (Depends-on): Add 'extensions'.
17538
17539 2010-09-28  Bruno Haible  <bruno@clisp.org>
17540
17541         New module 'poll-h'.
17542         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
17543         (poll): Use modern idiom.
17544         * modules/poll-h: New file.
17545         * modules/poll (Files): Remove lib/poll.in.h.
17546         (Depends-on): Add poll-h.
17547         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
17548         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
17549         * m4/poll_h.m4: New file.
17550         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
17551         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
17552         and invoke gl_REPLACE_POLL_H.
17553         * lib/poll.c: Use common idiom.
17554         * tests/test-poll.c: Likewise.
17555         * doc/posix-headers/poll.texi: Mention the poll-h module.
17556         Suggested by Eric Blake.
17557
17558 2010-09-26  Bruno Haible  <bruno@clisp.org>
17559
17560         sys_wait: Implement WSTOPSIG.
17561         * lib/sys_wait.in.h (WSTOPSIG): New macro.
17562         Reported by Simon Josefsson.
17563
17564 2010-09-26  Simon Josefsson  <simon@josefsson.org>
17565
17566         stdlib, sys_wait: Avoid compilation error on mingw.
17567         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
17568
17569 2010-09-26  Bruno Haible  <bruno@clisp.org>
17570
17571         stdlib tests: Avoid code duplication.
17572         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
17573         * modules/sys_wait-tests (Files): Likewise.
17574         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
17575         * tests/test-stdlib.c: Include test-sys_wait.h.
17576         (main): Invoke test_sys_wait_macros.
17577         * tests/test-sys_wait.c: Include test-sys_wait.h.
17578         (main): Invoke test_sys_wait_macros.
17579
17580 2010-09-25  Simon Josefsson  <simon@josefsson.org>
17581
17582         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
17583         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
17584         sure Windows sockets are working before calling getaddrinfo.
17585         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
17586         * doc/gnulib.texi (Windows sockets): Fix typo.
17587
17588 2010-09-25  Bruno Haible  <bruno@clisp.org>
17589
17590         Tests for module 'regex-quote'.
17591         * modules/regex-quote-tests: New file.
17592         * tests/test-regex-quote.c: New file.
17593
17594         New module 'regex-quote'.
17595         * lib/regex-quote.h: New file.
17596         * lib/regex-quote.c: New file.
17597         * modules/regex-quote: New file.
17598         Suggested by Reuben Thomas <rrt@sc3d.org>.
17599
17600 2010-09-24  Bruno Haible  <bruno@clisp.org>
17601
17602         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
17603         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
17604
17605 2010-09-23  Bruno Haible  <bruno@clisp.org>
17606
17607         setenv: Relax license.
17608         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
17609         Blake.
17610         Requested by Eric Blake.
17611
17612 2010-09-22  Bruno Haible  <bruno@clisp.org>
17613
17614         termios: Relax license.
17615         * modules/termios (License): Change to LGPLv2+.
17616         Requested by Eric Blake.
17617
17618 2010-09-22  Bruno Haible  <bruno@clisp.org>
17619
17620         threadlib: Allow the package to change the default to 'no'.
17621         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
17622         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
17623         Reported by Paul Eggert.
17624
17625 2010-09-22  Pádraig Brady  <P@draigbrady.com>
17626             Bruno Haible  <bruno@clisp.org>
17627
17628         Fix endless loop in mbmemcasecoll.
17629         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
17630         byte.
17631         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
17632
17633 2010-09-22  Bruno Haible  <bruno@clisp.org>
17634
17635         Tests for module 'memcoll'.
17636         * modules/memcoll-tests: New file.
17637         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
17638
17639         memcoll, xmemcoll: Clarify size vs. length.
17640         * modules/memcoll.c (memcoll0): Clarify specification.
17641         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
17642         passed to collate_error.
17643
17644 2010-09-22  Bruno Haible  <bruno@clisp.org>
17645
17646         Tests for module 'memcasecmp'.
17647         * modules/memcasecmp-tests: New file.
17648         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
17649
17650 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
17651
17652         * lib/pthread.in.h: Add split double-inclusion guard, and include
17653         system <pthread.h> if there is one.  Use @@-style as in other
17654         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
17655         pthread.h doesn't.
17656         (pthread_mutexattr_destroy, pthread_mutexattr_init):
17657         (pthread_mutexattr_settype, pthread_mutex_trylock):
17658         New static inline functions, if there's no system <pthread.h>.
17659         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
17660         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
17661         Approximate with mutexes if the system lacks spinlocks, as in
17662         MacOS.
17663         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
17664         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
17665         @@-style.  Check for spinlocks separately.
17666         (gl_PTHREAD_DEFAULTS): New macro.
17667         * modules/pthread: Redo to use a more typical style for in.h files.
17668
17669 2010-09-21  Eric Blake  <eblake@redhat.com>
17670
17671         net_if: enhance tests
17672         * tests/test-net_if.c (main): Move signature checks earlier.
17673         Print failures to stderr.
17674         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
17675         Document the bug that we do not yet fix.
17676
17677 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
17678
17679         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
17680         about gnulib, not GSS.
17681
17682 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
17683
17684         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
17685         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
17686         for Emacs.
17687         * build-aux/pmccabe2html: Make Makefile.am example code more
17688         cut-and-paste friendly.
17689
17690 2010-09-21  Simon Josefsson  <simon@josefsson.org>
17691
17692         * tests/test-net_if.c: New file.
17693         * modules/net_if-tests: New file.
17694
17695 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
17696
17697         pthread: add pthread_spin_destroy
17698         * lib/pthread.in.h (pthread_spin_destroy): New function.
17699
17700 2010-09-19  Bruno Haible  <bruno@clisp.org>
17701
17702         gnulib-tool: Fix --help output.
17703         * gnulib-tool (func_usage): Fix help message.
17704         Reported by Reuben Thomas <rrt@sc3d.org>.
17705
17706 2010-09-18  Jim Meyering  <meyering@redhat.com>
17707
17708         maint.mk: avoid unexpanded \n in two diagnostics
17709         * top/maint.mk (sc_prohibit_always_true_header_tests):
17710         Don't use a literal \n in a halt=... assignment.  It would not be
17711         expanded, and the two \n bytes would appear in the diagnostic output
17712         rather than the desired newline.  Use halt=$$(printf ... instead.
17713         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
17714
17715 2010-09-18  Bruno Haible  <bruno@clisp.org>
17716
17717         netinet_in: Doc tweak.
17718         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
17719         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
17720
17721 2010-09-18  Jim Meyering  <meyering@redhat.com>
17722
17723         init.sh: correct an outdated comment
17724         * tests/init.sh (create_exe_shims_):  s/function/alias/
17725
17726         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
17727         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
17728         a file named "*.exe" is removed between the glob expansion and the
17729         processing of that oddly named file.
17730
17731 2010-09-17  Eric Blake  <eblake@redhat.com>
17732
17733         mirbsd: add some more support
17734         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
17735         in BSD family.
17736         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
17737         devices as OpenBSD.
17738         * m4/host-os.m4 (mirbsd): Add MirBSD.
17739
17740         tests: fix unportable assumption on sys/wait.h
17741         * tests/test-sys_wait.c (main): Relax test.
17742         * tests/test-stdlib.c (main): Likewise.
17743
17744         init.sh: accomodate directory with no .exes
17745         * tests/init.sh: Accomodate directory containing only scripts.
17746
17747         tests: avoid compiler warning
17748         * tests/test-stdlib.c (main): Use the variable.
17749
17750         fdutimens, fdutimensat: update signature, again
17751         * lib/utimens.h (gl_futimens): Delete, and move signature...
17752         (fdutimens): ...here.
17753         (fdutimensat): Rearrange signature.
17754         (lutimensat): Rename variable for clarity.
17755         * lib/fdutimensat.c (fdutimensat): Update signature.
17756         * lib/utimens.c (fdutimens): Likewise.
17757         (gl_futimens): Delete.
17758         (utimens, lutimens): Update callers.
17759         * lib/futimens.c (futimens): Likewise.
17760         * tests/test-fdutimensat.c: Likewise.
17761         * tests/test-utimens.c: Likewise.
17762         * tests/test-futimens.h: Update comment.
17763         * NEWS: Mention this.
17764         Suggested by Paul Eggert.
17765
17766 2010-09-17  Bruno Haible  <bruno@clisp.org>
17767
17768         Take over the maintenance of some older macros from Autoconf.
17769         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
17770         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
17771         GNU Autoconf.
17772         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
17773         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
17774
17775 2010-09-17  Eric Blake  <eblake@redhat.com>
17776
17777         fdutimensat: drop atflag validation
17778         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
17779         with valid fd, to close a race scenario where futimens is
17780         unsupported and FILE was replaced by a symlink.
17781         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
17782         accordingly.
17783         Suggested by Paul Eggert.
17784
17785 2010-09-16  Bruno Haible  <bruno@clisp.org>
17786
17787         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
17788         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
17789
17790 2010-09-16  Bruno Haible  <bruno@clisp.org>
17791
17792         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
17793         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
17794         login_tty exists.
17795         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
17796
17797 2010-09-16  Bruno Haible  <bruno@clisp.org>
17798
17799         login_tty: Make the replacement code work on BSD systems.
17800         * lib/login_tty.c: Include <sys/ioctl.h>.
17801         (login_tty): Use ioctl TIOCSCTTY when available.
17802         * modules/login_tty (Depends-on): Add sys_ioctl.
17803         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
17804
17805 2010-09-16  Bruno Haible  <bruno@clisp.org>
17806
17807         login_tty: Stricter unit test.
17808         * modules/login_tty-tests (Depends-on): Add tcgetsid.
17809         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
17810         and tcgetsid() after login_tty.
17811         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
17812
17813 2010-09-16  Bruno Haible  <bruno@clisp.org>
17814
17815         New module 'tcgetsid'.
17816         * lib/tcgetsid.c: New file.
17817         * m4/tcgetsid.m4: New file.
17818         * modules/tcgetsid: New file.
17819         * modules/termios (Depends-on): Add c++defs, warn-on-use.
17820         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
17821         GNULIB_TCGETSID, HAVE_TCGETSID.
17822         * lib/termios.in.h: Include <sys/types.h>.
17823         (tcgetsid): New declaration.
17824         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
17825         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
17826         * doc/posix-functions/tcgetsid.texi: Mention the new module.
17827         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
17828
17829 2010-09-16  Bruno Haible  <bruno@clisp.org>
17830
17831         Tests for module 'termios'.
17832         * modules/termios-c++-tests: New file.
17833         * modules/termios-tests: New file.
17834         * tests/test-termios-c++.cc: New file.
17835         * tests/test-termios.c: New file.
17836
17837         New module 'termios'.
17838         * modules/termios: New file.
17839         * lib/termios.in.h: New file.
17840         * m4/termios_h.m4: New file.
17841         * doc/posix-headers/termios.texi: Mention the new module.
17842
17843 2010-09-16  Eric Blake  <eblake@redhat.com>
17844
17845         fdutimensat: add an atflag parameter
17846         * lib/fdutimensat.c (fdutimensat): Add new parameter.
17847         * lib/utimens.h (fdutimensat): Update prototype.
17848         * tests/test-fdutimensat.c: Adjust test to match.
17849         * NEWS: Document the change.
17850         Suggested by Paul Eggert.
17851
17852 2010-09-16  Bruno Haible  <bruno@clisp.org>
17853
17854         Fix typos in comments.
17855         * lib/striconveh.h: Fix typo in comment.
17856         * lib/login_tty.c (login_tty): Likewise.
17857
17858 2010-09-15  Bruno Haible  <bruno@clisp.org>
17859
17860         stdlib: clarify MirBSD WEXITSTATUS bug
17861         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
17862         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
17863
17864 2010-09-15  Eric Blake  <eblake@redhat.com>
17865
17866         stdlib: work around MirBSD WEXITSTATUS bug
17867         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
17868         * modules/stdlib (Depends-on): Add sys_wait.
17869         * tests/test-sys_wait.c (main): Enhance test.
17870         * tests/test-stdlib.c (main): Likewise.
17871         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
17872
17873         docs: mention MacOS issue with WEXITSTATUS(constant)
17874         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
17875         issue.
17876         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
17877
17878         strnlen: add tests
17879         * modules/strnlen-tests: New file.
17880         * tests/test-strnlen.c: Likewise.
17881
17882 2010-09-14  Bruno Haible  <bruno@clisp.org>
17883
17884         unistr/base: Avoid link errors when module 'libunistring' is also used.
17885         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
17886         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
17887         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
17888         Declare also when HAVE_LIBUNISTRING is set.
17889         Reported by Pádraig Brady <P@draigbrady.com>.
17890
17891 2010-09-14  Eric Blake  <eblake@redhat.com>
17892
17893         test-rawmemchr: make more robust
17894         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
17895         (Depends-on, configure.ac): Add needed prerequisites to use it.
17896         * modules/memchr-tests (Files, Depends-on, configure.ac):
17897         Likewise, to avoid implicit reliance on memchr module prereqs.
17898         * tests/test-memchr.c (main): Ensure proper masking.
17899         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
17900         reads.
17901
17902         memchr: detect glibc Alpha bug
17903         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
17904         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
17905         Alpha.
17906         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
17907         * tests/test-memchr.c (main): Enhance test.
17908         Reported by Nelson H. F. Beebe.
17909
17910 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17911
17912         fts, getcwd, glob: audit for dirfd returning -1
17913         * lib/fts.c (opendir): Remove #define; no longer used.
17914         (opendirat): New arg PDIR_FD.  All callers changed.
17915         (fts_build, _opendir2): Use new opendirat to avoid the need for
17916         dirfd, or for checking whether dirfd returns a negative value.
17917         Don't use opendir; always use openat followed by fdopendir.
17918         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
17919         it.
17920         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
17921         returns -1 here.
17922         * modules/fts (Depends-on): Remove dirfd.
17923         * modules/getcwd (Depends-on): Likewise.
17924
17925 2010-09-13  Eric Blake  <eblake@redhat.com>
17926
17927         float: fix broken MirBSD header
17928         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
17929         * doc/posix-headers/float.texi (float.h): Document it.
17930
17931 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17932
17933         fts: use O_NOFOLLOW to avoid race condition when opening a directory
17934         * lib/fts.c (opendirat): New arg extra_flags.
17935         (__opendir2): Use it to avoid following symlinks when opening
17936         a directory, if symlinks are not supposed to be followed.  See
17937         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
17938
17939         fdopendir: preserve argument fd before returning
17940         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
17941         (fdopendir_with_dup, fd_clone_opendir): New static functions.
17942         (fdopendir): Use them, arranging for FD to be open to the same
17943         directory that it was when it started.  (It might be temporarily
17944         closed while fdopendir is running, so this not thread- or
17945         signal-safe.)  Be careful to do the right thing even when file
17946         descriptors are scarce and dup fails with errno == EMFILE.  See
17947         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
17948
17949 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
17950
17951         regex: Pass the system regex if its only problem is 32-bit regoff_t.
17952         * NEWS: Document change.
17953         * m4/regex.m4: Disable test for regoff_t size.
17954
17955 2010-09-13  Jim Meyering  <meyering@redhat.com>
17956
17957         fts: don't operate on an invalid file descriptor after failed dup
17958         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
17959         negative file descriptor.
17960
17961 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
17962
17963         savedir: add streamsavedir, deprecate fdsavedir
17964         * NEWS: Mention deprecation of fdsavedir.
17965         * lib/savedir.c (streamsavedir): New extern function, whose name
17966         ends in "savedir" to be consistent with the others.  This differs
17967         from savedirstream in that it doesn't close its argument.  The
17968         next version of GNU tar will use this instead of fdsavedir, to
17969         avoid some race conditions and conserve file descriptors.
17970         (savedirstream): Reimplement as a wrapper around streamsavedir.
17971         (fdsavedir): Add a comment deprecating this function.  As far as
17972         I know, only GNU tar used it, and GNU tar doesn't need it any more.
17973         * lib/savedir.h (streamsavedir): New decl.
17974         (fdsavedir): Add a comment deprecating this.
17975
17976 2010-09-10  Bruno Haible  <bruno@clisp.org>
17977
17978         langinfo: Fix last commit.
17979         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
17980         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
17981         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17982
17983 2010-09-10  Bruno Haible  <bruno@clisp.org>
17984
17985         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
17986         * lib/progreloc.c (O_EXEC): Define fallback.
17987
17988 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
17989
17990         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
17991         * NEWS: Document recent changes to fcntl-h.
17992         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
17993         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
17994         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
17995         Similarly for O_SEARCH; this last was already true, but not documented.
17996         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
17997         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
17998         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
17999         Likewise.
18000         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
18001         is zero, not whether it is defined.
18002         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
18003         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
18004         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
18005
18006 2010-09-10  Bruno Haible  <bruno@clisp.org>
18007
18008         langinfo, nl_langinfo: Fix for IRIX 5.3.
18009         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
18010         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
18011         HAVE_LANGINFO_YESEXPR.
18012         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
18013         HAVE_LANGINFO_YESEXPR.
18014         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
18015         HAVE_LANGINFO_T_FMT_AMPM is 0.
18016         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
18017         HAVE_LANGINFO_YESEXPR is 0.
18018         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
18019         NOEXPR.
18020         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
18021         * doc/posix-functions/nl_langinfo.texi: Likewise.
18022         Reported by Eric Blake.
18023
18024 2010-09-10  Bruno Haible  <bruno@clisp.org>
18025
18026         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
18027         * doc/glibc-functions/login_tty.texi: Mention the include file problem
18028         on FreeBSD 8.0 and OpenBSD 4.6.
18029         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
18030         * m4/pty_h.m4 (gl_PTY_H): Likewise.
18031         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
18032         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
18033         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
18034         ac_includes_default.
18035         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
18036
18037 2010-09-09  Eric Blake  <eblake@redhat.com>
18038
18039         strsignal: work around NetBSD bug
18040         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
18041         * lib/string.in.h (includes): Likewise.
18042         * doc/posix-functions/strsignal.texi (strsignal): Document the
18043         bug.
18044         Reported by Nelson H. F. Beebe.
18045
18046         gnulib-tool: work with NetBSD /bin/sh
18047         * gnulib-tool (func_cache_var, func_cache_lookup_module)
18048         (func_get_description, func_get_comment, func_get_status)
18049         (func_get_notice, func_get_applicability, func_get_filelist)
18050         (func_get_dependencies, func_get_autoconf_early_snippet)
18051         (func_get_autoconf_snippet, func_get_automake_snippet)
18052         (func_get_include_directive, func_get_link_directive)
18053         (func_get_license, func_get_maintainer, func_import): Avoid
18054         shell syntax errors from parsing syntax extensions.
18055
18056 2010-09-09  Bruno Haible  <bruno@clisp.org>
18057
18058         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
18059         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
18060         a reliable way to determine whether the 'alias' command works.
18061
18062 2010-09-08  Jim Meyering  <meyering@redhat.com>
18063
18064         init.sh: penalize a set-x-impaired shell; don't disqualify it
18065         * tests/init.sh: Too many shells corrupt application stderr when
18066         you set -x, so we can't afford to disqualify them, since at least
18067         on Irix-6.5, that would disqualify all bourne shells.
18068         Instead, use a two-pass approach.
18069         On the first pass, try to find a shell that meets the stricter
18070         condition that set -x does not corrupt stderr.
18071         If no shell meets the stricter condition, retest each candidate
18072         shell, but without that extra condition.  Finally, when
18073         VERBOSE=yes is requested and set -x might cause trouble, simply
18074         issue a warning and refrain from enabling debug output.
18075
18076 2010-09-08  Eric Blake  <eblake@redhat.com>
18077
18078         unsetenv: fix OpenBSD bug
18079         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
18080         * doc/posix-functions/unsetenv.texi (unsetenv): Update
18081         documentation.
18082         Reported by Jim Meyering.
18083
18084         strtod: work around IRIX 6.5 bug
18085         * lib/strtod.c (strtod): Reparse number on shorter string if
18086         exponent parse was invalid.
18087         * tests/test-strtod.c (main): Add check for "0x1p 2".
18088         Reported by Tom G. Christensen.
18089
18090         getopt: optimize previous patch
18091         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
18092         empty variable.  Speed up awk script.
18093         Reported by Paolo Bonzini.
18094
18095 2010-09-08  Jim Meyering  <meyering@redhat.com>
18096
18097         test.sh: disqualify shells for which set -x corrupts stderr
18098         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
18099         and OpenBSD 4.7.  They make it so with "set -x", environment settings
18100         appear in stderr output.  For example, this command:
18101             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
18102         prints "P=1" on those two systems:
18103
18104 2010-09-08  Bruno Haible  <bruno@clisp.org>
18105
18106         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
18107         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
18108         commands, because some shells ignore redirections when there is an
18109         error in the command lookup.
18110         Reported by Eric Blake.
18111
18112 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
18113
18114         * lib/regex.h: Fix a mention of `regex_compile' (should be
18115         `re_compile_pattern').
18116         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
18117         (re_set_registers): Correct name of parameter in comment.
18118
18119         * doc/regex.texi: Add documentation for missing syntax flags.
18120         Remove commented-out documentation of defunct syntax option
18121         RE_NO_EMPTY_ALTS.
18122         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
18123         Add documentation of re_set_registers.
18124         Document trick to re-use a pattern buffer by setting fastmap manually.
18125         Update documentation of struct re_pattern_buffer per public members.
18126         Uncomment documentation of equivalence class operators and
18127         collating symbol operators, since they are now implemented,
18128         Explain leftmost-longest matching in relation to alternatives.
18129         Tidy documentation of substring matching.
18130         Remove POSIX documentation, which is done better in
18131         glibc, and refer the reader there. Keep BSD API documentation, as
18132         that is not readily available elsewhere.
18133
18134 2010-09-07  Eric Blake  <eblake@redhat.com>
18135
18136         getopt: handle POSIXLY_CORRECT set but not exported
18137         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
18138         export state of POSIXLY_CORRECT, due to bash set -o posix.
18139         Reported by Dustin J. Mitchell.
18140
18141 2010-09-05  Bruno Haible  <bruno@clisp.org>
18142
18143         gnulib-tool: Highlight the changed options.
18144         * gnulib-tool (func_usage): Display the --import, --add-import,
18145         --remove-import explanations in bold font.
18146
18147 2010-09-06  Karl Berry  <karl@gnu.org>
18148
18149         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
18150
18151 2010-09-05  Bruno Haible  <bruno@clisp.org>
18152
18153         uniwidth/width: Update comment.
18154         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
18155         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
18156
18157 2010-09-05  Bruno Haible  <bruno@clisp.org>
18158
18159         isinf, isnan: Relax license.
18160         * modules/isinf (License): Change from GPL to LGPL, with consent from
18161         Ben Pfaff.
18162         * modules/isnan (License): Likewise.
18163         Requested by Ludovic Courtès.
18164
18165 2010-09-04  Bruno Haible  <bruno@clisp.org>
18166
18167         gnulib-tool: Help migration from --import to --add-import or --update.
18168         * gnulib-tool: Emit a verbose error message when --import is used
18169         without any module name.
18170
18171 2010-09-04  Bruno Haible  <bruno@clisp.org>
18172
18173         Update doc about gnulib-tool.
18174         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
18175         'gnulib-tool --update' in more detail.
18176         Reported by Eric Blake.
18177
18178 2010-09-04  Bruno Haible  <bruno@clisp.org>
18179
18180         gnulib-tool: Change --import. New options --add/remove-import.
18181         * gnulib-tool: New options --add-import, --remove-import.
18182         (func_usage): Document them.
18183         (have_associative): Define always.
18184         (func_import): In import mode, don't merge the specified settings with
18185         the cached settings. Implement remove-import mode.
18186         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
18187         Explain when to use them versus --import.
18188         (Simple update): Use --add-import instead of --import.
18189         * NEWS: Mention the change.
18190
18191 2010-09-04  Bruno Haible  <bruno@clisp.org>
18192
18193         * doc/gnulib-tool.texi (Initial import): Update paragraph about
18194         separate gnulib.mk.
18195
18196 2010-09-04  Bruno Haible  <bruno@clisp.org>
18197
18198         gnulib-tool: Don't talk about CVS any more.
18199         * gnulib-tool (func_usage, func_import): Write "version control"
18200         instead of CVS.
18201
18202 2010-09-04  Jim Meyering  <meyering@redhat.com>
18203
18204         maint.mk: avoid obscure sc_copyright_check failure in coreutils
18205         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
18206         false positives (whose names may be ill-chosen) when searching
18207         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
18208         would cause a false-positive.
18209
18210         avoid coreutils "make distcheck" failure
18211         Coreutils tests with an absolute build directory name that contains
18212         a space.  Not quoting this directory name caused a failure.
18213         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
18214         * tests/test-vc-list-files-cvs.sh: Likewise.
18215
18216 2010-09-04  Bruno Haible  <bruno@clisp.org>
18217
18218         gnulib-tool: Avoid error when run in a package without Makefile.am.
18219         * gnulib-tool: When collecting the m4dirs in a package that does not
18220         have a Makefile.am, eliminate those directories that contain no
18221         gnulib-cache.m4. Fix expression that counts these directories.
18222
18223 2010-09-04  Bruno Haible  <bruno@clisp.org>
18224
18225         update-copyright test: Improve output when perl is missing or too old.
18226         * tests/test-update-copyright.sh: Move test of Perl version down after
18227         the test whether Perl exists. Provide an explanation relating Perl's
18228         error message to Automake's SKIP: message.
18229
18230 2010-09-04  Bruno Haible  <bruno@clisp.org>
18231
18232         Don't augment PATH in TESTS_ENVIRONMENT.
18233         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
18234         set abs_aux_dir instead of augmenting PATH.
18235         * modules/vc-list-files-tests (Makefile.am): Likewise.
18236         * tests/test-update-copyright.sh: Augment PATH here.
18237         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
18238         path_prepend_.
18239         * tests/test-vc-list-files-git.sh: Likewise.
18240
18241 2010-09-04  Jim Meyering  <meyering@redhat.com>
18242
18243         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
18244         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
18245
18246 2010-09-04  Bruno Haible  <bruno@clisp.org>
18247
18248         strdup: Fix compilation error in C++ mode.
18249         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
18250         the macro.
18251
18252 2010-09-04  Bruno Haible  <bruno@clisp.org>
18253
18254         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
18255         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
18256         macro into a function.
18257         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
18258
18259 2010-09-04  Bruno Haible  <bruno@clisp.org>
18260
18261         Set PATH_SEPARATOR the same way autoconf does.
18262         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
18263         the value of PATH_SEPARATOR the same way autoconf-generated configure
18264         scripts do.
18265         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
18266         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
18267
18268 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
18269
18270         Set PATH_SEPARATOR the same way autoconf does.
18271         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
18272         the same way autoconf-generated configure scripts do.
18273         * posix-modules: Likewise.
18274
18275 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
18276
18277         hash: fix safe_hasher const typo
18278         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
18279         const; otherwise, there is a type error later.
18280
18281 2010-09-02  Jim Meyering  <meyering@redhat.com>
18282
18283         test-update-copyright.sh: require perl 5.8.0
18284         * tests/test-update-copyright.sh: Require 5.8.0,
18285         which Tom G. Christensen has confirmed is adequate,
18286         while 5.6.1 is not.
18287
18288 2010-09-02  Eric Blake  <eblake@redhat.com>
18289
18290         tests: init.sh improvements for re-exec'ing with zsh
18291         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
18292         -vx through shell re-exec.
18293         Reported by Tom G. Christensen.
18294
18295         wctype: fix typo in previous commit
18296         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
18297         Reported by Ludovic Courtès.
18298
18299 2010-09-02  Jim Meyering  <meyering@redhat.com>
18300
18301         test-update-copyright.sh: skip test if Perl is too old
18302         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
18303         Reported by Tom G. Christensen.
18304
18305 2010-09-02  Bruno Haible  <bruno@clisp.org>
18306
18307         wctype: Avoid compilation error on IRIX 6.5.30.
18308         * lib/wctype.in.h (iswblank): Declare with a replacement if
18309         REPLACE_ISWBLANK is set.
18310         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
18311         declared. Set REPLACE_ISWBLANK.
18312         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
18313         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
18314         * doc/posix-headers/wctype.texi: Likewise.
18315         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18316
18317 2010-09-01  Bruno Haible  <bruno@clisp.org>
18318
18319         New module 'socketlib'.
18320         * modules/socketlib: New file.
18321         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
18322         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
18323         * modules/sockets (Depends-on): Add socketlib.
18324         Suggested by Sam Steingold <sds@gnu.org>.
18325
18326 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
18327
18328         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
18329
18330         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
18331         when one needs search access to a directory but not read access.
18332         On systems where it is available, it works in some cases where
18333         O_RDONLY does not, namely on directories that are searchable but
18334         not readable, and which need only to be searchable.  If O_SEARCH
18335         is not available, fall back to the traditional method of using
18336         O_RDONLY.
18337
18338         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
18339         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
18340         when opening a directory that needs only to be searchable.
18341         * lib/chdir-safer.c (chdir_no_follow): Likewise.
18342         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
18343         * lib/openat-proc.c (openat_proc_name): Likewise.
18344         * lib/openat.c (openat_needs_fchdir): Likewise.
18345         * lib/save-cwd.c (save_cwd): Likewise.
18346         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
18347
18348 2010-08-28  Bruno Haible  <bruno@clisp.org>
18349
18350         New module 'host-cpu-c-abi'.
18351         * modules/host-cpu-c-abi: New file.
18352         * m4/host-cpu-c-abi.m4: New file, based on part of
18353         clisp/src/m4/general.m4.
18354         Requested by Sam Steingold <sds@gnu.org>.
18355
18356 2010-08-31  Eric Blake  <eblake@redhat.com>
18357         and Jim Meyering  <meyering@redhat.com>
18358
18359         hash: factor, and guard against misbehaving hasher function
18360         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
18361         of table->hasher's return value.  Also protect against a hash value
18362         so large that adding it to table->bucket results in a NULL pointer.
18363         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
18364         Use it in place of open-coded check-and-abort.
18365
18366 2010-08-30  Bruno Haible  <bruno@clisp.org>
18367
18368         hash: silence spurious clang warning
18369         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
18370         Reported by Eric Blake.
18371
18372 2010-08-30  Eric Blake  <eblake@redhat.com>
18373
18374         strstr, memmem, strcasestr: avoid leaked shell message
18375         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
18376         FreeBSD.
18377         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
18378         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
18379
18380         tests: silence clang warning
18381         * tests/test-malloca.c (do_allocation): Avoid dead store.
18382
18383 2010-08-29  Bruno Haible  <bruno@clisp.org>
18384
18385         gettext: Fix recent mistake.
18386         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
18387
18388 2010-08-29  Bruno Haible  <bruno@clisp.org>
18389
18390         selinux-h: Offer a --without-selinux option.
18391         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
18392         --without-selinux was specified, skip all tests and define
18393         HAVE_SELINUX_SELINUX_H to 0.
18394         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
18395         set LIB_SELINUX to empty.
18396         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
18397         gl_LIBSELINUX. If --without-selinux was specified, replace
18398         selinux/context.h.
18399         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
18400
18401 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18402             Bruno Haible  <bruno@clisp.org>
18403
18404         Make the module 'realloc-gnu' work again on AIX and OSF/1.
18405         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
18406         of HAVE_REALLOC.
18407         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
18408         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
18409         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
18410         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
18411
18412 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18413             Bruno Haible  <bruno@clisp.org>
18414
18415         Make the module 'calloc-gnu' work again on AIX and OSF/1.
18416         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
18417         HAVE_CALLOC.
18418         * lib/xmalloc.c: Update accordingly.
18419         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
18420         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
18421         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
18422
18423 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18424             Bruno Haible  <bruno@clisp.org>
18425
18426         Make the module 'malloc-gnu' work again on AIX and OSF/1.
18427         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
18428         HAVE_MALLOC.
18429         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
18430         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
18431         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
18432
18433 2010-08-29  Bruno Haible  <bruno@clisp.org>
18434
18435         Update modules list.
18436         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
18437         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
18438         (String handling <string.h>): Add astrxfrm.
18439         (File system functions): Add readlinkat.
18440
18441 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18442
18443         Tests for module 'realloc-gnu'.
18444         * modules/realloc-gnu-tests: New file.
18445         * tests/test-realloc-gnu.c: New file.
18446
18447         Tests for module 'calloc-gnu'.
18448         * modules/calloc-gnu-tests: New file.
18449         * tests/test-calloc-gnu.c: New file.
18450
18451         Tests for module 'malloc-gnu'.
18452         * modules/malloc-gnu-tests: New file.
18453         * tests/test-malloc-gnu.c: New file.
18454
18455 2010-08-28  Bruno Haible  <bruno@clisp.org>
18456
18457         Rename module 'realloc' -> 'realloc-gnu'.
18458         * modules/realloc-gnu: New file, copied from modules/realloc.
18459         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
18460         obsolete.
18461         * modules/mgetgroups (Depends-on): Update.
18462         * doc/posix-functions/realloc.texi: Update.
18463         * NEWS: Mention the change.
18464
18465         Rename module 'calloc' -> 'calloc-gnu'.
18466         * modules/calloc-gnu: New file, copied from modules/calloc.
18467         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
18468         obsolete.
18469         * doc/posix-functions/calloc.texi: Update.
18470         * NEWS: Mention the change.
18471
18472         Rename module 'malloc' -> 'malloc-gnu'.
18473         * modules/malloc-gnu: New file, copied from modules/malloc.
18474         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
18475         obsolete.
18476         * modules/argp (Depends-on): Update.
18477         * modules/regex (Depends-on): Update.
18478         * doc/posix-functions/malloc.texi: Update.
18479         * NEWS: Mention the change.
18480
18481 2010-08-28  Eric Blake  <eblake@redhat.com>
18482
18483         pread, pwrite: add missing dependency
18484         * modules/pread (Depends-on): Add extensions.
18485         * modules/pwrite (Depends-on): Likewise.
18486
18487 2010-08-28  Bruno Haible  <bruno@clisp.org>
18488
18489         unistr/u*-strchr: Fix tests dependencies.
18490         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
18491         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
18492         Reported by Ian Beckwith <ianb@erislabs.net>.
18493
18494 2010-08-28  Bruno Haible  <bruno@clisp.org>
18495
18496         read-file: Don't occupy too much unused memory.
18497         * lib/read-file.c (fread_file): Shrink the buffer at the end.
18498
18499 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
18500             Eric Blake  <eblake@redhat.com>
18501             Bruno Haible  <bruno@clisp.org>
18502
18503         read-file: Avoid memory reallocations with regular files.
18504         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
18505         (fread_file): With regular files, use the remaining length as the
18506         initial buffer size.  Check against overflow.
18507         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
18508         sys_stat.
18509
18510 2010-08-28  Bruno Haible  <bruno@clisp.org>
18511
18512         ftello: Relax license.
18513         * modules/ftello (License): Relax to LGPLv2+.
18514         Reported by Eric Blake.
18515
18516 2010-08-28  Bruno Haible  <bruno@clisp.org>
18517
18518         Avoid relocwrapper link errors due to gnulib replacement functions.
18519         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
18520         function.
18521         Reported by Ben Pfaff <blp@cs.stanford.edu>.
18522
18523 2010-08-28  Bruno Haible  <bruno@clisp.org>
18524
18525         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
18526         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
18527         defined.
18528         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
18529         Suggested by Eric Blake.
18530
18531 2010-08-28  Bruno Haible  <bruno@clisp.org>
18532
18533         sys_socket, netdb: Ensure socklen_t gets defined.
18534         * modules/sys_socket (Depends-on): Add socklen.
18535         * modules/netdb (Depends-on): Likewise.
18536         * modules/getaddrinfo (Depends-on): Remove socklen.
18537         * modules/getsockopt (Depends-on): Likewise.
18538         * modules/setsockopt (Depends-on): Likewise.
18539         * tests/test-sys_socket.c: Check that socklen_t is defined.
18540         * tests/test-netdb.c: Likewise.
18541         * m4/socklen.m4: Update comments.
18542         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18543
18544 2010-08-27  Eric Blake  <eblake@redhat.com>
18545
18546         login_tty: add missing dependency
18547         * modules/login_tty (Depends-on): Add pty.
18548
18549 2010-08-26  Eric Blake  <eblake@redhat.com>
18550
18551         lib-symbol-versions: fix m4 quoting
18552         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
18553         format for AC_LINK_IFELSE.
18554
18555         glob: fix compile test
18556         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
18557
18558         btowc: fix missing file
18559         * modules/btowc (Files): Also ship locale-fr.m4.
18560
18561         lseek: fix link test
18562         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
18563         AC_LINK_IFELSE.
18564
18565         include_next: silence autoconf 2.68 warning
18566         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
18567         AC_COMPILE_IFELSE as special.
18568         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
18569         autoconf < 2.68.
18570
18571         acl: fix compilation test
18572         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
18573         AC_COMPILE_IFELSE.
18574
18575 2010-08-26  Bruno Haible  <bruno@clisp.org>
18576
18577         Modernize AC_TRY_RUN invocations.
18578         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
18579         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
18580         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
18581         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
18582         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
18583         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
18584         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
18585         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
18586         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
18587         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
18588         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
18589         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
18590         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
18591         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
18592         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
18593         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
18594         gl_MBRLEN_NUL_RETVAL): Likewise.
18595         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
18596         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
18597         Likewise.
18598         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
18599         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
18600         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
18601         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
18602         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
18603         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
18604         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
18605         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
18606         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
18607         Likewise.
18608         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
18609         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
18610         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
18611         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
18612         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
18613         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
18614         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
18615         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
18616         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
18617         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
18618
18619 2010-08-26  Bruno Haible  <bruno@clisp.org>
18620
18621         Modernize AC_TRY_LINK invocations.
18622         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
18623         AC_TRY_LINK.
18624         * m4/argp.m4 (gl_ARGP): Likewise.
18625         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
18626         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
18627         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
18628         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
18629         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
18630         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
18631         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
18632         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
18633         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
18634         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
18635         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
18636         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
18637         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
18638         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
18639         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
18640         * m4/hostent.m4 (gl_HOSTENT): Likewise.
18641         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
18642         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
18643         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
18644         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
18645         Likewise.
18646         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
18647         Likewise.
18648         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
18649         Likewise.
18650         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
18651         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
18652         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
18653         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
18654         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
18655         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
18656         * m4/servent.m4 (gl_SERVENT): Likewise.
18657         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
18658         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
18659         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
18660         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
18661         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
18662         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
18663         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
18664         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
18665         * modules/tsearch-tests (configure.ac): Likewise.
18666
18667 2010-08-26  Bruno Haible  <bruno@clisp.org>
18668
18669         Modernize AC_TRY_COMPILE invocations.
18670         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
18671         AC_TRY_COMPILE.
18672         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
18673         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
18674         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
18675         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
18676         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
18677         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
18678         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
18679         * m4/lock.m4 (gl_LOCK): Likewise.
18680         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
18681         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
18682         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
18683         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
18684         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
18685         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
18686         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
18687         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
18688         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
18689         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
18690         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
18691         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
18692         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
18693         extraneous semicolon.
18694
18695 2010-08-26  Jim Meyering  <meyering@redhat.com>
18696
18697         stat-time: relax license LGPL
18698         * modules/stat-time (License): Change from GPL to LGPL,
18699         with consent from all contributors, for use in libguile.
18700         Requested by Ludovic Courtès.
18701
18702 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
18703
18704         poll: return immediately on POLLHUP.
18705         * lib/poll.c (poll): Always set timeout before wait_timeout is
18706         computed.
18707
18708 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18709
18710         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
18711         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
18712         rmdir ("dir/.//"), unlinkat.
18713
18714 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
18715
18716         stdbool: avoid spurious failure with modern xlc
18717         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
18718
18719 2010-08-24  Bruno Haible  <bruno@clisp.org>
18720
18721         getloadavg: simplify code
18722         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
18723         gl_have_func. Update comments.
18724
18725 2010-08-24  Eric Blake  <eblake@redhat.com>
18726
18727         getloadavg: don't define SVR4 on cygwin
18728         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
18729         only define SVR4 when -lkvm is required.
18730         Reported by Yaakov Selkowitz.
18731
18732 2010-08-24  Bruno Haible  <bruno@clisp.org>
18733
18734         priv-set: fix comment
18735         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
18736
18737 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
18738
18739         priv-set: fix comments
18740         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
18741         to match code, as suggested by David Bartley in:
18742         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
18743
18744 2010-08-23  Eric Blake  <eblake@redhat.com>
18745
18746         stdbool: avoid rejecting clang
18747         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
18748         * tests/test-stdbool.c: Enable more tests if using the system
18749         <stdbool.h> instead of the gnulib replacement.
18750         (main): Move xlc bug test to a runtime test for all compilers.
18751         Reported by Anders Kaseorg.
18752
18753         argz: fix shell quoting issue
18754         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
18755         Reported by Charles Wilson.
18756
18757 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
18758             Erik Faye-Lund <kusmabite@gmail.com>
18759
18760         poll, select: handle ERROR_BROKEN_PIPE.
18761         * lib/poll.c (win32_compute_revents): Return POLLHUP when
18762         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
18763         * lib/select.c (win32_compute_revents): Do not mark a pipe
18764         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
18765
18766 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
18767
18768         fts: allow compilation with C++
18769         * lib/fts_.h: Specify extern "C" linkage with C++.
18770
18771 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18772
18773         Fix gnulib-tool sed script de-commentation for AIX sed.
18774         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
18775         sed.
18776
18777 2010-08-17  Eric Blake  <eblake@redhat.com>
18778
18779         test-stddef: test for (some) offsetof bugs
18780         * tests/test-stddef.c: Enhance test to ensure correct type of
18781         offsetof.
18782         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
18783         that we are not fixing at this time.
18784
18785 2010-08-15  Bruno Haible  <bruno@clisp.org>
18786
18787         stpncpy: Allow stpncpy to be defined as a macro.
18788         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
18789         if it's already correctly declared.
18790         * lib/string.in.h (stpncpy): Undefine before redefining.
18791         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
18792
18793 2010-08-14  Bruno Haible  <bruno@clisp.org>
18794
18795         Rename module 'memxfrm' to 'amemxfrm'.
18796         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
18797         (amemxfrm): Renamed from memxfrm.
18798         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
18799         (amemxfrm): Renamed from memxfrm.
18800         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
18801         * NEWS: Mention the change.
18802         * MODULES.html.sh (String handling <string.h>): Update.
18803         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
18804         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
18805         * lib/unicase/u16-casexfrm.c: Likewise.
18806         * lib/unicase/u32-casexfrm.c: Likewise.
18807         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
18808         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
18809         * lib/uninorm/u16-normxfrm.c: Likewise.
18810         * lib/uninorm/u32-normxfrm.c: Likewise.
18811         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
18812         memxfrm.
18813         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
18814         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
18815         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
18816         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
18817         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
18818         Suggested by Paul Eggert.
18819
18820 2010-08-14  Bruno Haible  <bruno@clisp.org>
18821
18822         Tests for module 'astrxfrm'.
18823         * modules/astrxfrm-tests: New file.
18824         * tests/test-astrxfrm.c: New file.
18825
18826         New module 'astrxfrm'.
18827         * lib/astrxfrm.h: New file.
18828         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
18829         * modules/astrxfrm: New file.
18830
18831 2010-08-14  Reuben Thomas <rrt@sc3d.org>
18832
18833         regex: Tweak doc.
18834         * doc/regex.texi (Overview): Don't mention regex.c.
18835         (GNU Regular Expression Compiling): Likewise.
18836         (Match-end-of-line Operator): Mention 'not_eol'.
18837
18838 2010-08-14  Brian Gough  <bjg@gnu.org>
18839             Bruno Haible  <bruno@clisp.org>
18840
18841         git-merge-changelog: add doc relating to use with bzr and hg.
18842         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
18843
18844 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
18845
18846         pthread: fix pthread.h creation for srcdir != builddir
18847         * modules/pthread (Makefile.am): Fix the rule to work also in a
18848         non-srcdir build.
18849
18850 2010-08-13  Karl Berry  <karl@gnu.org>
18851
18852         * doc/regex.texi (Predefined Syntaxes): @smallexample.
18853         * doc/posix-*/*: force line break before @url of POSIX
18854         specifications.
18855         Suggested by Werner Lemberg.
18856
18857 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
18858
18859         strtod: fix const diagnostic
18860         * lib/strtod.c (strtod): Don't assign const char * to char *,
18861         as this elicits a warning from GCC when warnings are enabled.
18862
18863 2010-08-10  Pádraig Brady <P@draigbrady.com>
18864         and Eric Blake  <eblake@redhat.com>
18865
18866         copy-acl: ignore ENOTSUP on HP-UX
18867         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
18868         so that it is available for HP-UX.
18869         * lib/copy-acl.c (qcopy_acl): Use it.
18870         Reported by Patrick M. Callahan.
18871
18872 2010-08-10  Eric Blake  <eblake@redhat.com>
18873
18874         open, chown: relax license
18875         * modules/open (License): Change to LGPLv2+, with consent by all
18876         authors, for use in augeas.
18877         * modules/chown (License): Likewise.
18878         * modules/lchown (Likewise): Likewise.
18879         Requested by Adam Stokes.
18880
18881 2010-08-09  Karl Berry  <karl@gnu.org>
18882
18883         * build-aux/ar-lib: new file, import from Automake.
18884         * config/srclist.txt: autocheck for updates.
18885
18886 2010-08-09  Eric Blake  <eblake@redhat.com>
18887
18888         readlinkat: adjust client modules
18889         * modules/areadlinkat (Depends-on): Use readlinkat, not
18890         symlinkat.
18891         * modules/areadlinkat-with-size (Depends-on): Likewise.
18892
18893         mknod: be more vocal about danger of running tests as root
18894         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
18895         root, since that is just asking for problems.
18896         Suggested by Bruno Haible, based on a report by Rainer Tammer.
18897
18898         readlinkat: split into its own module
18899         * modules/symlinkat: Split readlinkat...
18900         * modules/readlinkat: ...into separate module.
18901         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
18902         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
18903         * lib/symlinkat.c (readlinkat): Move...
18904         * lib/readlinkat.c: ...into new file.
18905         * modules/symlinkat-tests: Split readlinkat test...
18906         * modules/readlinkat-tests: ...into separate module.
18907         * tests/test-symlinkat.c: Split...
18908         * tests/test-readlinkat.c: ...into new file.
18909         * NEWS: Document the split.
18910         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
18911         * lib/unistd.in.h (readlinkat): Likewise.
18912         Suggested by Bruno Haible.
18913
18914 2010-08-08  Bruno Haible  <bruno@clisp.org>
18915
18916         memxfrm: Speed up.
18917         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
18918         that usually only one call to strxfrm is necessary for each string
18919         part.
18920         Reported by Paul Eggert <eggert@cs.ucla.edu>.
18921
18922 2010-08-07  Karl Berry  <karl@gnu.org>
18923
18924         * doc/posix-headers/limits.texi,
18925         * doc/posix-functions/malloc.texi,
18926         * doc/posix-functions/strsignal.texi: missing @item.
18927         * doc/ld-version-script.texi: spurious leading i.
18928         * doc/regex.texi (Interval Operators): no commas inside @var.
18929
18930 2010-08-01  Bruno Haible  <bruno@clisp.org>
18931
18932         Integrate the regex documentation.
18933         * doc/gnulib.texi: Define 'cn' index.
18934         (Regular expressions): New a chapter that includes regex.texi and
18935         regexprops-generic.texi.
18936         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
18937         syntax.
18938
18939         Whitespace cleanup.
18940         * doc/regex.texi: Remove trailing spaces.
18941
18942         Add regex documentation.
18943         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
18944         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
18945         Written by Kathy A. Hargreaves and Karl Berry.
18946
18947 2010-08-01  Bruno Haible  <bruno@clisp.org>
18948
18949         link: Update documentation.
18950         * doc/posix-functions/link.texi: Update regarding Solaris.
18951
18952 2010-07-31  Bruno Haible  <bruno@clisp.org>
18953
18954         Update modules list.
18955         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
18956         (String handling <string.h>): Add memcmp2, memxfrm.
18957         (Container data structures): Add xlist, xsublist, xoset.
18958         (Core language properties): Add alignof, unused-parameter.
18959         (Process control, Numeric conversion functions <stdlib.h>): Renamed
18960         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
18961         (Unibyte characters <ctype.h>): New section.
18962         (String handling <string.h>): New section.
18963         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
18964         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
18965         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
18966         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
18967         tan, tanh, tanl, y0, y1, yn.
18968         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
18969         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
18970         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
18971         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
18972         unlockpt, vdprintf, vdprintf-posix.
18973         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
18974         (File system functions): Add concat-filename, sys_file, sys_ioctl,
18975         xconcat-filename.
18976         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
18977         getdtablesize, pipe2, pipe2-safer.
18978         (Security): New section.
18979         (Networking functions): Add accept4.
18980         (Signal handling): Add sigpipe.
18981         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
18982         mbmemcasecoll.
18983         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
18984         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
18985         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
18986         pipe-filter-ii.
18987         (Misc): Add argp-version-etc, login_tty, parse-duration.
18988
18989 2010-07-31  Bruno Haible  <bruno@clisp.org>
18990
18991         Improve doc in MODULES.html.
18992         * modules/linkat (Description): Add the word "function".
18993         * modules/mkfifo (Description): Likewise.
18994         * modules/mknod (Description): Likewise.
18995         * modules/remove (Description): Likewise.
18996         * modules/renameat (Description): Likewise.
18997         * modules/stat (Description): Likewise.
18998         * modules/symlink (Description): Likewise.
18999         * modules/unlink (Description): Likewise.
19000
19001 2010-07-31  Bruno Haible  <bruno@clisp.org>
19002
19003         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
19004         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
19005         option --enable/disable-c++ instead of --enable/disable-cxx.
19006         * NEWS: Mention the change.
19007
19008 2010-07-31  Bruno Haible  <bruno@clisp.org>
19009
19010         readlink, areadlink: Relax test a bit.
19011         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
19012         alternative to ENOTDIR.
19013         * tests/test-areadlink.h (test_areadlink): Likewise.
19014         Reported by Rainer Tammer.
19015
19016 2010-07-31  Bruno Haible  <bruno@clisp.org>
19017
19018         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
19019         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
19020         character, perform the search using U_STRCHR.
19021         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
19022         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
19023         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
19024         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
19025         Suggested by Paolo Bonzini.
19026
19027 2010-07-31  Bruno Haible  <bruno@clisp.org>
19028
19029         unistr/u*-strstr: Fix dependencies.
19030         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
19031         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
19032         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
19033
19034 2010-07-31  Bruno Haible  <bruno@clisp.org>
19035
19036         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
19037         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
19038         the beginning of the loop.
19039         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
19040         cases in 'switch' statement.
19041
19042         unistr/u8-strchr: Fix several bugs.
19043         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
19044         the string. When not found, return NULL, not a pointer near the end.
19045
19046         More tests for unistr/u8-strchr.
19047         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
19048         that the function does not read past the first occurrence of the byte
19049         being searched.
19050         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
19051         * tests/unistr/test-u16-strchr.c (main): New function.
19052         * tests/unistr/test-u32-strchr.c (main): New function.
19053
19054 2010-07-31  Bruno Haible  <bruno@clisp.org>
19055
19056         posix-modules: Ignore backup files of documentation files.
19057         * posix-modules: grep only through files named *.texi.
19058
19059 2010-07-31  Bruno Haible  <bruno@clisp.org>
19060
19061         symlinkat: Fix documentation.
19062         * doc/posix-functions/readlinkat.texi: Fix module name.
19063
19064 2010-07-31  Bruno Haible  <bruno@clisp.org>
19065
19066         fchownat: Replace also when chown has the trailing slash bug.
19067         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
19068         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
19069         introduced on 2010-04-10.
19070         Reported by Rainer Tammer.
19071
19072 2010-07-31  Bruno Haible  <bruno@clisp.org>
19073
19074         linkat: Work around AIX 7.1 bug.
19075         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
19076         whether linkat handles trailing slash correctly. If not, replace linkat
19077         and define LINKAT_TRAILING_SLASH_BUG.
19078         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
19079         check whether (fd1,file1) points to a directory if file1 or file2 ends
19080         in a slash. Code taken from lib/link.c.
19081         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
19082         Reported by Rainer Tammer.
19083
19084 2010-07-31  Bruno Haible  <bruno@clisp.org>
19085
19086         Correctly determine whether pow is available in libc on AIX 7 with xlc.
19087         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
19088         This disables an xlc optimization that was causing wrong test results.
19089         Reported by Rainer Tammer.
19090
19091 2010-07-31  Bruno Haible  <bruno@clisp.org>
19092
19093         iconv: Work around AIX 6.1..7.1 bug.
19094         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
19095         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
19096         cross-compiling, guess no on all versions of AIX.
19097         Reported by Rainer Tammer.
19098
19099 2010-07-31  Bruno Haible  <bruno@clisp.org>
19100
19101         readlink: Relax test a bit.
19102         * tests/test-readlink.h (test_readlink): Allow different errno value
19103         when readlink is called with a file name that ends in / and refers to
19104         a file.
19105         Suggested by Eric Blake.
19106         Reported by Rainer Tammer.
19107
19108 2010-07-31  Bruno Haible  <bruno@clisp.org>
19109
19110         copysign: Does not require -lm on glibc systems.
19111         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
19112         gl_COMMON_DOUBLE_MATHFUNC.
19113         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
19114
19115 2010-07-31  Bruno Haible  <bruno@clisp.org>
19116
19117         duplocale: Work around AIX 7.1 bug.
19118         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
19119         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
19120         * lib/duplocale.c (rpl_duplocale): Update comment.
19121         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
19122         Reported by Rainer Tammer.
19123
19124 2010-07-30  Bruno Haible  <bruno@clisp.org>
19125
19126         dirfd: Avoid link error on AIX 7.1.
19127         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
19128         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
19129         exist, set REPLACE_DIRFD.
19130         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
19131         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
19132         * doc/posix-functions/dirfd.texi: Update.
19133         Reported by Rainer Tammer.
19134
19135 2010-07-30  Eric Blake  <eblake@redhat.com>
19136
19137         strtod: next round of AIX fixes
19138         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
19139         exponent.
19140         * tests/test-strtod.c (main): Enhance tests.
19141         * doc/posix-functions/strtod.texi (strtod): Document next bug.
19142         Reported by Rainer Tammer.
19143
19144         futimens: fix configure check
19145         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
19146         Reported by Bruno Haible.
19147
19148 2010-07-30  Bruno Haible  <bruno@clisp.org>
19149
19150         getline: Update regarding AIX.
19151         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
19152         Reported by Rainer Tammer.
19153
19154 2010-07-30  Bruno Haible  <bruno@clisp.org>
19155
19156         wcwidth: Drop replacement on AIX 7.
19157         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
19158         AIX 7.
19159         Reported by Rainer Tammer.
19160
19161 2010-07-30  Bruno Haible  <bruno@clisp.org>
19162
19163         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
19164         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
19165         a 'char *'.
19166         Reported by Rainer Tammer.
19167
19168 2010-07-30  Bruno Haible  <bruno@clisp.org>
19169
19170         unlink: Update regarding AIX.
19171         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
19172         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
19173         Reported by Rainer Tammer.
19174
19175 2010-07-30  Bruno Haible  <bruno@clisp.org>
19176
19177         symlink: Update regarding AIX.
19178         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
19179         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
19180         Reported by Rainer Tammer.
19181
19182 2010-07-30  Bruno Haible  <bruno@clisp.org>
19183
19184         strndup: Update regarding AIX.
19185         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
19186         AIX 7.
19187         Reported by Rainer Tammer.
19188
19189 2010-07-30  Bruno Haible  <bruno@clisp.org>
19190
19191         stat: Update regarding AIX.
19192         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
19193         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
19194         Reported by Rainer Tammer.
19195
19196 2010-07-30  Bruno Haible  <bruno@clisp.org>
19197
19198         truncl: Fix autoconf test.
19199         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
19200         whether truncl works.
19201         Reported by Rainer Tammer.
19202
19203 2010-07-30  Bruno Haible  <bruno@clisp.org>
19204
19205         round: Update regarding AIX.
19206         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
19207         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
19208         Reported by Rainer Tammer.
19209
19210 2010-07-30  Bruno Haible  <bruno@clisp.org>
19211
19212         rename: Update regarding AIX.
19213         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
19214         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
19215         Reported by Rainer Tammer.
19216
19217 2010-07-30  Bruno Haible  <bruno@clisp.org>
19218
19219         printf.m4: Update regarding AIX.
19220         * m4/printf.m4: Update comments regarding AIX.
19221         Reported by Rainer Tammer.
19222
19223 2010-07-30  Bruno Haible  <bruno@clisp.org>
19224
19225         iconv: Update regarding AIX.
19226         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
19227         AIX 7.
19228         Reported by Rainer Tammer.
19229
19230 2010-07-30  Bruno Haible  <bruno@clisp.org>
19231
19232         getopt: Update regarding AIX.
19233         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
19234         no on AIX.
19235         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
19236         Reported by Rainer Tammer.
19237
19238 2010-07-30  Bruno Haible  <bruno@clisp.org>
19239
19240         ldexpl; Update regarding AIX.
19241         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
19242         on AIX 7.
19243         Reported by Rainer Tammer.
19244
19245 2010-07-30  Bruno Haible  <bruno@clisp.org>
19246
19247         frexpl: Update regarding AIX.
19248         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
19249         on AIX 7.
19250         Reported by Rainer Tammer.
19251
19252 2010-07-30  Bruno Haible  <bruno@clisp.org>
19253
19254         open, fopen: Update regarding AIX.
19255         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
19256         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
19257         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
19258         * doc/posix-functions/fopen.texi: Likewise.
19259         Reported by Rainer Tammer.
19260
19261 2010-07-30  Bruno Haible  <bruno@clisp.org>
19262
19263         chown: Update doc regarding AIX.
19264         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
19265         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
19266         Reported by Rainer Tammer.
19267
19268 2010-07-30  Eric Blake  <eblake@redhat.com>
19269
19270         strtod: fix bug in replacement function on AIX
19271         * lib/strtod.c (strtod): Special case broken "0x" parse in
19272         underlying strtod.
19273         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
19274         * doc/posix-functions/strtod.texi (strtod): Likewise.
19275         Reported by Rainer Tammer.
19276
19277 2010-07-30  Bruno Haible  <bruno@clisp.org>
19278
19279         mbrlen: Fix cross-compilation guess for AIX.
19280         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
19281         guess. Leftover from 2008-12-22.
19282
19283 2010-07-30  Bruno Haible  <bruno@clisp.org>
19284
19285         mbrtowc: Fix cross-compilation guess for AIX.
19286         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
19287         guess. Leftover from 2008-12-21.
19288
19289 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
19290
19291         init.sh: work around trap limitation of some shells
19292         * tests/init.sh (setup_): Move exit trap outside of shell function.
19293
19294 2010-07-29  Eric Blake  <eblake@redhat.com>
19295
19296         strtod: aid debugging
19297         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
19298         understanding why strtod is rejected.
19299
19300 2010-07-28  Bruno Haible  <bruno@clisp.org>
19301
19302         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
19303         * lib/unistr/u8-chr.c: Include <string.h>.
19304         * tests/unistr/test-u8-chr.c: Likewise.
19305         * tests/unistr/test-u16-chr.c: Likewise.
19306         * tests/unistr/test-u32-chr.c: Likewise.
19307         * tests/unistr/test-u8-strchr.c: Likewise.
19308         * tests/unistr/test-u16-strchr.c: Likewise.
19309         * tests/unistr/test-u32-strchr.c: Likewise.
19310         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
19311         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
19312         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
19313         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
19314
19315 2010-07-28  Bruno Haible  <bruno@clisp.org>
19316
19317         Use spaces for indentation, not tabs.
19318         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
19319
19320 2010-07-27  Bruno Haible  <bruno@clisp.org>
19321
19322         mbspcasecmp: Fix function specification.
19323         * lib/string.in.h (mbspcasecmp): Fix specification comment.
19324         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
19325         Reported by Eric Blake <eblake@redhat.com>.
19326
19327 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
19328
19329         timespec: use cast and not conditional, as truncation isn't possible
19330         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
19331         instead of a conditional.  Comment about the situation in more detail.
19332         This undoes most of the 2009-10-29 patch.
19333
19334 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
19335
19336         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
19337         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
19338         * lib/unistr/u8-strchr.c: Likewise.
19339         * modules/unistr/u8-chr: Depend on memchr.
19340
19341         unistr/u*-strchr: add tests
19342         * modules/unistr/u8-strchr-tests: New file.
19343         * modules/unistr/u16-strchr-tests: New file.
19344         * modules/unistr/u32-strchr-tests: New file.
19345         * tests/unistr/test-strchr.h: New file.
19346         * tests/unistr/test-u8-strchr.c: New file.
19347         * tests/unistr/test-u16-strchr.c: New file.
19348         * tests/unistr/test-u32-strchr.c: New file.
19349
19350         unistr/u*-chr: test multibyte sequences more
19351         * tests/unistr/test-chr.h: Do complete testing of the characters in the
19352         test vector.
19353         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
19354         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
19355         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
19356
19357         unistr/u*-chr: test multibyte sequences
19358         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
19359
19360         unistr/u*-chr: prepare for multibyte tests
19361         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
19362         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
19363         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
19364         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
19365         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
19366         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
19367
19368 2010-07-18  Bruno Haible  <bruno@clisp.org>
19369
19370         unistr/u8-strchr: Optimize non-ASCII argument case.
19371         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
19372         because the first byte often matches anyway.
19373         Reported by Pádraig Brady <P@draigbrady.com>.
19374
19375 2010-07-15  Karl Berry  <karl@gnu.org>
19376
19377         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
19378
19379 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
19380
19381         getcwd: on Solaris, work better if ancestors are inaccessible
19382         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
19383         buffer and size, try again with a large buffer.  This works better
19384         on Solaris, since its getcwd succeeds even if the path to the root
19385         is inaccessible, and this is helpful in common cases such as .zfs
19386         hidden directories.  Problem reported by J Chapman Flack in
19387         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
19388         Use system getcwd if it's declared, not merely if it's partly
19389         working; use the partly-working test only to avoid needless effort
19390         if the system getcwd fails.
19391         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
19392         comment that was already obsolete and is now even more obsolete.
19393         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
19394         now might call strdup.
19395
19396 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
19397
19398         pthread: Add enough so that coreutils/src/sort.c compiles.
19399         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
19400         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
19401         gnulib. Include <sched.h> and <time.h>, as per POSIX.
19402         Include <sys/types.h>, in case it defines pthread_t.
19403         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
19404         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
19405         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
19406         (pthread_rwlockattr_t, pthread_spinlock_t):
19407         New typedefs, if HAVE_PTHREAD_T is not defined.
19408         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
19409         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
19410         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
19411         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
19412         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
19413         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
19414         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
19415         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
19416         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
19417         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
19418         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
19419         New macros.
19420         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
19421         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
19422         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
19423         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
19424         (pthread_spin_unlock): New dummy functions.
19425         (pthread_create): Return EAGAIN; don't set errno.
19426         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
19427         require AC_C_INLINE.
19428         * modules/pthread (Depends-on): Add sched, time.
19429         (pthread.h): Use AM_V_GEN.
19430
19431 2010-07-13  Bruno Haible  <bruno@clisp.org>
19432
19433         striconveh: Don't malloc memory if the result buffer is sufficient.
19434         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
19435         buffer if its size is sufficient.
19436         Reported by Ludovic Courtès <ludo@gnu.org>.
19437
19438 2010-07-13  Bruno Haible  <bruno@clisp.org>
19439
19440         strtod: Add safety check.
19441         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
19442
19443 2010-07-12  Bruno Haible  <bruno@clisp.org>
19444
19445         Unify tests that set gl_cv_func_ldexpl_no_libm.
19446         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
19447         gl_FUNC_LDEXPL.
19448         (gl_FUNC_LDEXPL): Invoke it.
19449         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
19450
19451 2010-07-12  Bruno Haible  <bruno@clisp.org>
19452
19453         Unify tests that set gl_cv_func_ldexp_no_libm.
19454         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
19455         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
19456         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
19457         (configure.ac): Simply invoke gl_FUNC_LDEXP.
19458         * modules/strtod (Files): Add m4/ldexp.m4.
19459
19460 2010-07-12  Bruno Haible  <bruno@clisp.org>
19461
19462         Unify tests that set gl_cv_func_frexpl_no_libm.
19463         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
19464         gl_FUNC_FREXPL_NO_LIBM.
19465         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
19466         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
19467
19468 2010-07-12  Bruno Haible  <bruno@clisp.org>
19469
19470         Unify tests that set gl_cv_func_frexp_no_libm.
19471         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
19472         gl_FUNC_FREXP_NO_LIBM.
19473         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
19474         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
19475
19476 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
19477
19478         memcoll: clarify sizes versus lengths, document better, and tweak perf
19479         * lib/memcoll.c (strcoll_loop, memcoll0):
19480         Improve quality of descriptive comments.  Name variables
19481         consistently as to whether they are lengths (which do not include
19482         terminating null) versus sizes (which do).
19483         * lib/xmemcoll.c (xmemcoll0): Likewise.
19484         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
19485         returned when s1size == 0; this is easier to compile and saves
19486         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
19487
19488 2010-07-12  Bruno Haible  <bruno@clisp.org>
19489
19490         Tests for module '_Exit'.
19491         * modules/_Exit-tests: New file.
19492         * tests/test-_Exit.sh: New file.
19493         * tests/test-_Exit.c: New file.
19494
19495         New module '_Exit'.
19496         * lib/stdlib.in.h (__attribute__): New macro.
19497         (_Exit): New declaration.
19498         * lib/_Exit.c: New file.
19499         * m4/_Exit.m4: New file.
19500         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
19501         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
19502         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
19503         * modules/_Exit: New file.
19504         * tests/test-stdlib-c++.cc (_Exit): Check signature.
19505         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
19506
19507 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
19508
19509         strtod: make it more-accurate typically, and don't require libm
19510         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
19511         Include limits.h.  Don't include string.h.
19512         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
19513         (locale_isspace): New function, so that no casts are needed to
19514         check whether *s is a space.
19515         (ldexp): Provide an unused dummy if not available.
19516         (scale_radix_exp, parse_number, underlying_strtod): New functions.
19517         (strtod): Use them.  This implementation prefers to use the
19518         underlying strtod if available, falling back on our own code
19519         only to fix known bugs.  This is more likely to produce an
19520         accurate result.  Also, it avoids the use of libm functions.
19521         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
19522         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
19523         was absent, but it caused a test failure with coreutils.
19524         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
19525         with libm.
19526         * modules/strtod (Makefile.am, Link): libm is no longer needed.
19527         * modules/strtod-tests (Makefile.am): Likewise.
19528
19529 2010-07-11  Pádraig Brady  <P@draigBrady.com>
19530             Bruno Haible  <bruno@clisp.org>
19531
19532         unistr/u8-strchr: Optimize ASCII argument case.
19533         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
19534
19535 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
19536
19537         (x)memcoll: minor tweaks
19538         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
19539         is after the type that it qualifies.
19540         (memcoll0): Likewise.
19541         * lib/memcoll.h (memcoll0): Likewise.
19542         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
19543         * lib/xmemcoll.h (xmemcoll0): Likewise.
19544         * lib/memcoll.c (memcoll0): Correct the comment.  This function
19545         differs from memcoll in that the NUL byte is part of the argument.
19546         Omit the abort-checks, as performance is a real issue here.  Plus,
19547         the checks were wrong anyway (an off-by-one error).  Omit local
19548         variable 'diff', as it's a bit clearer that way.
19549         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
19550         no longer needed.
19551
19552 2010-07-08  Chen Guo <chenguo4@yahoo.com>
19553
19554         (x)memcoll: speedup when input is known to be NUL delimited
19555         * lib/memcoll.c: Include stdlib.
19556         (memcoll0): New function.
19557         (strcoll_loop): New function, refactored for use in both memcoll
19558         and memcoll0.
19559         * lib/memcoll.h (memcoll0): Add prototype.
19560         * lib/xmemcoll.c (xmemcoll0): New function.
19561         (collate_error): New function, refactored for use in both xmemcoll
19562         and xmemcoll0.
19563         * lib/xmemcoll.h (xmemcoll0): Add prototype.
19564         * m4/memcoll.m4: add inline invocation.
19565
19566 2010-07-06  Pádraig Brady  <P@draigBrady.com>
19567
19568         * build-aux/bootstrap: Remove any local translations
19569         from the translation project synchronization directory,
19570         so that local only translations are not distributed.
19571
19572 2010-07-04  Bruno Haible  <bruno@clisp.org>
19573
19574         fsusage: Clarify which code applies to which platforms.
19575         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
19576         platform.
19577         * lib/fsusage.c (get_fs_usage): Likewise.
19578
19579 2010-07-04  Bruno Haible  <bruno@clisp.org>
19580
19581         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
19582         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
19583         Reported by Martin Lambers <marlam@marlam.de>.
19584
19585 2010-07-04  Jim Meyering  <meyering@redhat.com>
19586
19587         hash: once again explicitly disallow insertion of NULL
19588         * lib/hash.c (hash_insert0): Reinstate just-removed test:
19589         inserting a NULL pointer cannot work with these functions.
19590         Add a comment with details.
19591         This reverts part of the 2010-07-01 commit, 5bef1a35
19592         "hash: extend module to deal with non-pointer keys".
19593
19594 2010-07-01  Bruno Haible  <bruno@clisp.org>
19595
19596         stdbool: Update doc.
19597         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
19598         Info from Christian Weisgerber <naddy@mips.inka.de>.
19599
19600 2010-07-01  Jim Meyering  <meyering@redhat.com>
19601
19602         hash: extend module to deal with non-pointer keys
19603         * lib/hash.c (hash_insert0): New interface, much like hash_insert
19604         but that allows insertion of non-pointer entries.
19605         Do not disallow an ENTRY value of NULL.
19606         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
19607         * lib/hash.h (hash_insert0): Declare.
19608
19609 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
19610
19611         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
19612         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
19613         not present (i.e. with autoconf 2.59 and when using gettextize, not
19614         gnulib), require AC_GNU_SOURCE instead.
19615
19616 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
19617
19618         idpriv-drop: Fix tests.
19619         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
19620         not to the test-idpriv-droptemp program.
19621
19622 2010-06-29  Bruno Haible  <bruno@clisp.org>
19623
19624         string: Fix syntax error with g++ 2.96.
19625         * lib/string.in.h (__pure__): Remove definition.
19626         (_GL_ATTRIBUTE_PURE): New macro.
19627         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
19628         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
19629         Reported by Christian Weisgerber <naddy@mips.inka.de>.
19630
19631 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
19632
19633         unitypes: Fix bug introduced on 2010-05-18.
19634         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
19635
19636 2010-06-22  Eric Blake  <eblake@redhat.com>
19637
19638         memmem: slight optimization
19639         * lib/str-two-way.h (critical_factorization): Update comments.
19640         Reduce work during factorization phase.
19641         Reported by Carlos Bueno <carlos@bueno.org>.
19642
19643 2010-06-21  Bruno Haible  <bruno@clisp.org>
19644
19645         Fix HAVE_CALLOC_POSIX misnomer.
19646         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
19647         !HAVE_CALLOC_POSIX.
19648         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
19649         HAVE_CALLOC_POSIX.
19650         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
19651         instead of HAVE_CALLOC_POSIX.
19652         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
19653         HAVE_CALLOC_POSIX.
19654
19655         Use modern idiom for calloc() replacement.
19656         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
19657         AC_FUNC_CALLOC.
19658         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
19659         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
19660         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
19661         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
19662         (gl_REPLACE_CALLOC): New macro.
19663
19664 2010-06-21  Bruno Haible  <bruno@clisp.org>
19665
19666         Fix HAVE_REALLOC_POSIX misnomer.
19667         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
19668         !HAVE_REALLOC_POSIX.
19669         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
19670         HAVE_REALLOC_POSIX.
19671         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
19672         instead of HAVE_REALLOC_POSIX.
19673         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
19674         HAVE_REALLOC_POSIX.
19675
19676         Use modern idiom for realloc() replacement.
19677         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
19678         AC_FUNC_REALLOC.
19679         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
19680         Autoconf's AC_FUNC_REALLOC.
19681         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
19682         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
19683         (gl_REPLACE_REALLOC): New macro.
19684         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
19685
19686 2010-06-21  Bruno Haible  <bruno@clisp.org>
19687
19688         Fix HAVE_MALLOC_POSIX misnomer.
19689         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
19690         !HAVE_MALLOC_POSIX.
19691         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
19692         HAVE_MALLOC_POSIX.
19693         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
19694         instead of HAVE_MALLOC_POSIX.
19695         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
19696         HAVE_MALLOC_POSIX.
19697
19698         Use modern idiom for malloc() replacement.
19699         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
19700         AC_FUNC_MALLOC.
19701         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
19702         Autoconf's AC_FUNC_MALLOC.
19703         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
19704         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
19705         (gl_REPLACE_MALLOC): New macro.
19706         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
19707
19708 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
19709
19710         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
19711         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
19712         This macro takes 3 arguments, not 4.
19713
19714 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
19715
19716         ipv6: fix detection under mingw
19717         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
19718         in6_addr.
19719
19720 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
19721
19722         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
19723         that strtod() works when cross-compiling to a glibc version known
19724         to work.
19725
19726 2010-06-15  Bruno Haible  <bruno@clisp.org>
19727
19728         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
19729
19730 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
19731
19732         select: Correct timeout.
19733         * lib/select.c (rpl_select): Compute wait_timeout correctly.
19734
19735 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
19736
19737         git-version-gen: init shell var to avoid env var influence
19738         * build-aux/git-version-gen (v): Init shell var to empty.
19739
19740 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
19741
19742         priv-set: Don't assume that priv.h exists merely because getppriv does.
19743         See Jan Andersen's bug report about AIX 5L in
19744         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
19745         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
19746         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
19747         * lib/priv-set.h: Likewise.
19748         * tests/test-priv-set.c: Likewise.
19749
19750 2010-06-13  Bruno Haible  <bruno@clisp.org>
19751
19752         relocatable: Make it easier to test whether to install wrappers.
19753         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
19754         RELOCATABLE_VIA_WRAPPER.
19755
19756 2010-06-13  Bruno Haible  <bruno@clisp.org>
19757
19758         gnulib-tool: Display specified modules and dependencies differently.
19759         * gnulib-tool (func_show_module_list): New function.
19760         (func_import, func_create_testdir): Invoke it.
19761         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
19762
19763 2010-06-13  Bruno Haible  <bruno@clisp.org>
19764
19765         gnulib-tool: Align code of func_import and func_create_testdir.
19766         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
19767         specified_modules.
19768
19769 2010-06-12  Jim Meyering  <meyering@redhat.com>
19770
19771         test-inttostr: avoid spurious failure on Solaris 9
19772         * tests/test-inttostr.c (main): Skip the test when snprintf fails
19773         to accept "%ju".  Reported by Bruno Haible.
19774
19775 2010-06-11  Jim Meyering  <meyering@redhat.com>
19776
19777         test-sys_socket: mark variables as used more readably
19778         * tests/test-sys_socket.c (main): Mark otherwise unused variables
19779         as "used" explicitly via (void) statement casts.  This is more
19780         readable than using them in an artificial return expression.
19781         Suggestion from Bruno Haible.
19782
19783 2010-06-11  Bruno Haible  <bruno@clisp.org>
19784
19785         Avoid some more warnings from "gcc -Wwrite-strings".
19786         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
19787         to 'const char *'.
19788         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
19789         * tests/test-c-strcasestr.c (main): Likewise.
19790         * tests/test-mbscasestr1.c (main): Likewise.
19791         * tests/test-mbscasestr2.c (main): Likewise.
19792         * tests/test-memmem.c (main): Likewise.
19793         * tests/test-strstr.c (main): Likewise.
19794         * tests/test-strcasestr.c (main): Likewise.
19795
19796 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19797
19798         init.sh: change framework_failure_ to fail with status 99, not 1
19799         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
19800         automake's parallel-tests rule that this is an unexpected failure,
19801         even if the test is listed in XFAIL_TESTS.
19802
19803 2010-06-11  Jim Meyering  <meyering@redhat.com>
19804
19805         test-inttostr: avoid warnings about 4-6KB literal strings
19806         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
19807         Include "macros.h", for its definition of ASSERT.
19808         (CK): s/assert/ASSERT/
19809         * modules/inttostr-tests (Files): Add macros.h.
19810
19811         init.sh: don't use $ME_ or skip_ before they are defined
19812         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
19813         their first uses.  Also hoist their companions: warn_, fail_,
19814         framework_failure_, $stderr_fileno.  Prompted by a patch from
19815         Stefano Lattarini.
19816
19817         test-sys_socket: avoid set-but-not-used warnings from gcc
19818         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
19819         avoid warning about set-but-not-used variables.
19820
19821         test-xvasprintf: avoid 'const' discard warnings
19822         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
19823         "const" when assigning from literal strings.
19824         (test_xasprintf): Add "void" in function argument list to placate
19825         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
19826
19827         tests: avoid compilation warnings in argmatch and exclude tests...
19828         in packages that define ARGMATCH_DIE_DECL, like coreutils.
19829         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
19830         Since it always exits, declare with the "noreturn" attribute.
19831         * tests/test-argmatch.c: Likewise.
19832
19833         tests: avoid 'const' discard warnings in mbsstr tests
19834         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
19835         * tests/test-mbsstr2.c (main): Likewise.
19836
19837         test-verify: avoid warning from gcc's -Wmissing-declarations
19838         * tests/test-verify.c (function): Declare to be static.
19839
19840         test-inttostr.c: include <string.h> for use of strcmp
19841         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
19842
19843         test-linkat: avoid failed assertion on "other" architectures
19844         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
19845         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
19846         sparc: https://bugs.launchpad.net/bugs/591968
19847
19848 2010-06-11  Jim Meyering  <meyering@redhat.com>
19849
19850         printf.m4: avoid autoconf's "Expanded Before Required" warning
19851         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
19852         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
19853         autoconf warning.
19854
19855 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
19856
19857         Replacement header templates are now named with ".in", not "_".
19858         * doc/gnulib-intro.texi: Correct.
19859
19860 2010-06-10  Jim Meyering  <meyering@redhat.com>
19861
19862         inttostr-tests: depend on snprintf, not snprintf-posix
19863         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
19864         snprintf-posix, to avoid this aclocal failure:
19865           missing file gnulib-tests/vasnprintf.c
19866           configure.ac:45: error: expected source file, required through \
19867           AC_LIBSOURCES, not found
19868
19869 2010-06-10  Jim Meyering  <meyering@redhat.com>
19870
19871         inttostr: add a new function, inttostr, and tests
19872         The namesake function was not available.  The existence of the
19873         template file, inttostr.c makes its addition nontrivial.
19874         * lib/anytostr.c: Rename from inttostr.c.
19875         (anytostr): Rename from inttostr.
19876         * lib/inttostr.c: New file.
19877         * modules/inttostr (Files): Add anytostr.c.
19878         (Makefile.am): Set lib_SOURCES instead of ...
19879         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
19880         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
19881         * lib/offtostr.c: Likewise.
19882         * lib/uinttostr.c: Likewise.
19883         * lib/umaxtostr.c: Likewise.
19884         * modules/inttostr-tests: New file.
19885         * tests/test-inttostr.c: New file.  Test these functions.
19886
19887 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
19888             Bruno Haible  <bruno@clisp.org>
19889
19890         Add "Extending Gnulib" chapter to manual.
19891         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
19892         chapter.
19893         (Extending Gnulib): New chapter.
19894         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
19895         chapter.
19896
19897 2010-06-09  Bruno Haible  <bruno@clisp.org>
19898
19899         Avoid relocwrapper link errors due to gnulib replacement functions.
19900         * lib/areadlink.c: Use the system's malloc, realloc functions.
19901         (areadlink): Set errno to ENOMEM explicitly.
19902         * modules/areadlink (Depends-on): Remove malloc-posix.
19903         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19904
19905 2010-06-09  Bruno Haible  <bruno@clisp.org>
19906
19907         Avoid relocwrapper link errors due to gnulib replacement functions.
19908         * lib/canonicalize-lgpl.c: Use the system's malloc function.
19909         * lib/malloca.c: Likewise.
19910         * lib/relocatable.c: Likewise.
19911         * lib/progreloc.c: Use the system's malloc, sprintf functions.
19912         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
19913         * lib/setenv.c: Use the system's malloc, realloc functions.
19914         * lib/strerror.c: Use the system's sprintf function.
19915         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19916
19917 2010-06-04  Bruno Haible  <bruno@clisp.org>
19918
19919         Prefer documented low-level autoconf macro names.
19920         * m4/lib-link.m4: Use m4_translit instead of translit.
19921         * m4/environ.m4: Likewise.
19922         * m4/mathfunc.m4: Likewise.
19923         * m4/onceonly.m4: Likewise.
19924         * m4/stdint.m4: Likewise.
19925         Suggested by Eric Blake.
19926
19927 2010-06-04  Martin Lambers  <marlam@marlam.de>
19928             Bruno Haible  <bruno@clisp.org>
19929
19930         havelib: Allow library names with '+' characters.
19931         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
19932         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
19933
19934 2010-06-09  Bruno Haible  <bruno@clisp.org>
19935
19936         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
19937         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
19938         realloc failed.
19939
19940 2010-06-08  Peter Simons  <simons@cryp.to>
19941
19942         maint.mk: make the news-check rule more configurable
19943         * top/maint.mk (news-check-lines-spec): New variable.
19944         (news-check): Use "sed -n 1,10p" in place of "head".
19945
19946 2010-06-07  Jim Meyering  <meyering@redhat.com>
19947
19948         do-release-commit-and-tag: fix typo in --help
19949         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
19950
19951         regex: avoid new dead-code warning with gcc-4.6.0
19952         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
19953         if-block containing a while-loop.  It's been unused for at least
19954         5 years.
19955
19956 2010-06-05  Bruno Haible  <bruno@clisp.org>
19957
19958         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
19959         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
19960
19961 2010-06-04  Bruno Haible  <bruno@clisp.org>
19962
19963         Update to GNU gettext 0.18.1.
19964         * modules/gettext (configure.ac): Require gettext infrastructure from
19965         version 0.18.1.
19966
19967 2010-06-03  Bruno Haible  <bruno@clisp.org>
19968
19969         Don't use AC_LIBOBJ with file names in subdirectories.
19970         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
19971         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
19972         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
19973         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
19974         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
19975         gl_LIBUNISTRING_LIBSOURCE.
19976         (Makefile.am): Augment lib_SOURCES here, conditionally.
19977         * NEWS: Drop requirement for Automake option 'subdir-objects'.
19978
19979 2010-06-03  Bruno Haible  <bruno@clisp.org>
19980
19981         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
19982         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
19983         expansion does not end with a newline.
19984         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
19985         unnecessary newline.
19986
19987 2010-06-03  Bruno Haible  <bruno@clisp.org>
19988
19989         Reduce dependencies.
19990         * tests/test-quotearg.h: New file, extracted from
19991         tests/test-quotearg.c.
19992         * tests/test-quotearg-simple.c: New file, extracted from
19993         tests/test-quotearg.c.
19994         * tests/test-quotearg.c: Don't include <ctype.h>.
19995         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
19996         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
19997         use_quote_double_quotes, use_quotearg_colon): Moved to
19998         tests/test-quotearg.h.
19999         (results_g, flag_results, custom_quotes, custom_results): Moved
20000         to tests/test-quotearg-simple.c.
20001         (main): Moved the part that does not depend on gettext to
20002         tests/test-quotearg-simple.c. Return 77 if the test cannot be
20003         performed.
20004         * modules/quotearg-simple: New file.
20005         * modules/quotearg-simple-tests: New file.
20006         * modules/quotearg (Depends-on): Add quotearg-simple.
20007         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
20008         (Files): Add tests/test-quotearg.h.
20009         Reported by Paolo Bonzini.
20010
20011 2010-06-03  Bruno Haible  <bruno@clisp.org>
20012
20013         Reduce dependencies.
20014         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
20015
20016 2010-06-03  Bruno Haible  <bruno@clisp.org>
20017
20018         time: Undefine more broken macros.
20019         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
20020         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
20021         Reported by Eric Blake.
20022
20023 2010-06-03  Bruno Haible  <bruno@clisp.org>
20024
20025         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
20026         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
20027         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
20028         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
20029         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
20030         Reported by Ludovic Courtès <ludo@gnu.org>.
20031
20032 2010-06-02  Eric Blake  <eblake@redhat.com>
20033
20034         time: work with mingw + pthreads-win32 library
20035         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
20036         if timespec is defined only in pthread.h.
20037         * modules/time (Makefile.am): Substitute it.
20038         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
20039         <pthread.h>, when needed.
20040         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
20041         from the library.
20042
20043 2010-05-31  Bruno Haible  <bruno@clisp.org>
20044
20045         Avoid expanding two macros in the wrong order.
20046         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
20047         gl_LIBUNISTRING if it is defined.
20048         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
20049         autoconf >= 2.64.
20050         Reported by Ludovic Courtès <ludo@gnu.org>.
20051
20052 2010-05-27  Jim Meyering  <meyering@redhat.com>
20053
20054         maint.mk: also prohibit "#undef" of always-defined symbols
20055         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
20056         Allow more than one space before the symbol name.
20057         (sc_prohibit_always-defined_macros): Use grep's -E, now that
20058         the regexp uses alternation.
20059
20060 2010-05-26  Eric Blake  <eblake@redhat.com>
20061
20062         maint.mk: avoid echo -e
20063         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
20064         Convert all uses of echo -* to printf.
20065         Reported by Matthias Bolte.
20066
20067 2010-05-25  Bruno Haible  <bruno@clisp.org>
20068
20069         Update to GNU gettext 0.18, part 2.
20070         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
20071         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
20072
20073 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20074
20075         Add missing include in test-pwrite.c.
20076         * tests/test-pwrite.c: Include string.h, for strcmp.
20077
20078 2010-05-24  Bruno Haible  <bruno@clisp.org>
20079
20080         * NEWS: Mention requirement for Automake option 'subdir-objects'.
20081
20082 2010-05-24  Bruno Haible  <bruno@clisp.org>
20083
20084         Don't use conversion with transliteration in u{8,16,32}_strcoll.
20085         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
20086         iconveh_error argument.
20087         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
20088         U_STRCONV_TO_LOCALE.
20089         * lib/unistr/u16-strcoll.c: Likewise.
20090         * lib/unistr/u32-strcoll.c: Likewise.
20091         * modules/unistr/u8-strcoll (Depends-on): Add
20092         uniconv/u8-strconv-to-enc, localcharset. Remove
20093         uniconv/u8-strconv-to-locale.
20094         (configure.ac): Bump version number.
20095         * modules/unistr/u16-strcoll (Depends-on): Add
20096         uniconv/u16-strconv-to-enc, localcharset. Remove
20097         uniconv/u16-strconv-to-locale.
20098         (configure.ac): Bump version number.
20099         * modules/unistr/u32-strcoll (Depends-on): Add
20100         uniconv/u32-strconv-to-enc, localcharset. Remove
20101         uniconv/u32-strconv-to-locale.
20102         (configure.ac): Bump version number.
20103
20104 2010-05-24  Bruno Haible  <bruno@clisp.org>
20105
20106         Avoid a test failure on NetBSD 5.0.
20107         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
20108         an iconv() bug.
20109
20110 2010-05-24  Bruno Haible  <bruno@clisp.org>
20111
20112         Adjust #include directive style.
20113         * modules/regex (Includes): Recommend to write <regex.h>.
20114
20115 2010-05-24  Bruno Haible  <bruno@clisp.org>
20116
20117         regex: Don't require alloca.
20118         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
20119         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
20120         only inside if (0).
20121
20122 2010-05-23  Jim Meyering  <meyering@redhat.com>
20123
20124         test-renameat.c: include <sys/stat.h>
20125         * tests/test-renameat.c: Include <sys/stat.h>; required for
20126         definition of S_IS* macros.
20127
20128 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
20129
20130         Update maintainer documentation for 'relocatable-prog' module.
20131         * doc/relocatable-maint.texi: Update.
20132         Comments by Bruno Haible.
20133
20134 2010-05-23  Bruno Haible  <bruno@clisp.org>
20135
20136         git-merge-changelog: Enable --split-merged-entry by default.
20137         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
20138         (usage): Don't mention this option any more.
20139         Reported by Ralf Wildenhues.
20140
20141 2010-05-23  Jim Meyering  <meyering@redhat.com>
20142
20143         test-pwrite: do not leave behind a test file named "out"
20144         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
20145         The trivial-looking use of init.sh is really necessary.
20146         It ensures that the temporary file, "out", is created in
20147         a temporary directory, and removed upon termination.
20148         * tests/test-pwrite.sh: Re-add file.
20149         * modules/pwrite-tests: Reference it.
20150
20151 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20152
20153         Fix output redirection buglet in init.sh.
20154         * tests/init.sh: Fix redirection of stderr.
20155
20156 2010-05-20  Simon Josefsson  <simon@josefsson.org>
20157
20158         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
20159
20160 2010-05-17  Simon Josefsson  <simon@josefsson.org>
20161
20162         * modules/valgrind-tests: New file.
20163         * m4/valgrind-tests.m4: New file.
20164         * doc/valgrind-tests.texi: New file.
20165         * doc/gnulib.texi (Running self-tests under valgrind): New
20166         section.
20167
20168 2010-05-19  Bruno Haible  <bruno@clisp.org>
20169
20170         Clean up dead code in recent commit.
20171         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
20172         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
20173         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
20174         Suggested by Paolo Bonzini.
20175
20176 2010-05-19  Bruno Haible  <bruno@clisp.org>
20177
20178         Avoid valgrind error reports from libunistring.
20179         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
20180         * modules/libunistring (Files): Add it.
20181         * modules/libunistring-optional (Files): Likewise.
20182
20183 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
20184             Bruno Haible  <bruno@clisp.org>
20185
20186         New module 'libunistring-optional'.
20187         * modules/libunistring-optional: New file.
20188         * m4/libunistring-base.m4: New file.
20189         * m4/libunistring-optional.m4: New file.
20190         * lib/unicase.in.h: Renamed from lib/unicase.h.
20191         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
20192         * lib/unictype.in.h: Renamed from lib/unictype.h.
20193         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
20194         * lib/uniname.in.h: Renamed from lib/uniname.h.
20195         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
20196         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
20197         * lib/unistr.in.h: Renamed from lib/unistr.h.
20198         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
20199         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
20200         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
20201         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
20202         gl_LIBUNISTRING. If the library was found, determine the installed
20203         version and set LIBUNISTRING_VERSION.
20204         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
20205         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
20206         handle a configuration option --with-included-libunistring.
20207         * modules/libunistring (Files): Add m4/absolute-header.m4.
20208         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
20209         Add m4/libunistring-base.m4.
20210         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
20211         (Makefile.am): Build unicase.h from unicase.in.h.
20212         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
20213         Add m4/libunistring-base.m4.
20214         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
20215         (Makefile.am): Build uniconv.h from uniconv.in.h.
20216         * modules/unictype/base (Files): Use unictype.in.h instead of
20217         unictype.h. Add m4/libunistring-base.m4.
20218         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
20219         (Makefile.am): Build unictype.h from unictype.in.h.
20220         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
20221         Add m4/libunistring-base.m4.
20222         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
20223         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
20224         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
20225         Add m4/libunistring-base.m4.
20226         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
20227         (Makefile.am): Build uniname.h from uniname.in.h.
20228         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
20229         Add m4/libunistring-base.m4.
20230         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
20231         (Makefile.am): Build uninorm.h from uninorm.in.h.
20232         * modules/unistdio/base (Files): Use unistdio.in.h instead of
20233         unistdio.h. Add m4/libunistring-base.m4.
20234         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
20235         (Makefile.am): Build unistdio.h from unistdio.in.h.
20236         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
20237         Add m4/libunistring-base.m4.
20238         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
20239         (Makefile.am): Build unistr.h from unistr.in.h.
20240         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
20241         Add m4/libunistring-base.m4.
20242         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
20243         (Makefile.am): Build unitypes.h from unitypes.in.h.
20244         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
20245         Add m4/libunistring-base.m4.
20246         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
20247         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
20248         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
20249         uniwidth.h. Add m4/libunistring-base.m4.
20250         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
20251         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
20252         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
20253         instead of augmenting lib_SOURCES.
20254         * modules/unicase/empty-suffix-context: Likewise.
20255         * modules/unicase/locale-language: Likewise.
20256         * modules/unicase/tolower: Likewise.
20257         * modules/unicase/totitle: Likewise.
20258         * modules/unicase/toupper: Likewise.
20259         * modules/unicase/u8-casecmp: Likewise.
20260         * modules/unicase/u8-casecoll: Likewise.
20261         * modules/unicase/u8-casefold: Likewise.
20262         * modules/unicase/u8-casexfrm: Likewise.
20263         * modules/unicase/u8-ct-casefold: Likewise.
20264         * modules/unicase/u8-ct-tolower: Likewise.
20265         * modules/unicase/u8-ct-totitle: Likewise.
20266         * modules/unicase/u8-ct-toupper: Likewise.
20267         * modules/unicase/u8-is-cased: Likewise.
20268         * modules/unicase/u8-is-casefolded: Likewise.
20269         * modules/unicase/u8-is-lowercase: Likewise.
20270         * modules/unicase/u8-is-titlecase: Likewise.
20271         * modules/unicase/u8-is-uppercase: Likewise.
20272         * modules/unicase/u8-prefix-context: Likewise.
20273         * modules/unicase/u8-suffix-context: Likewise.
20274         * modules/unicase/u8-tolower: Likewise.
20275         * modules/unicase/u8-totitle: Likewise.
20276         * modules/unicase/u8-toupper: Likewise.
20277         * modules/unicase/u16-casecmp: Likewise.
20278         * modules/unicase/u16-casecoll: Likewise.
20279         * modules/unicase/u16-casefold: Likewise.
20280         * modules/unicase/u16-casexfrm: Likewise.
20281         * modules/unicase/u16-ct-casefold: Likewise.
20282         * modules/unicase/u16-ct-tolower: Likewise.
20283         * modules/unicase/u16-ct-totitle: Likewise.
20284         * modules/unicase/u16-ct-toupper: Likewise.
20285         * modules/unicase/u16-is-cased: Likewise.
20286         * modules/unicase/u16-is-casefolded: Likewise.
20287         * modules/unicase/u16-is-lowercase: Likewise.
20288         * modules/unicase/u16-is-titlecase: Likewise.
20289         * modules/unicase/u16-is-uppercase: Likewise.
20290         * modules/unicase/u16-prefix-context: Likewise.
20291         * modules/unicase/u16-suffix-context: Likewise.
20292         * modules/unicase/u16-tolower: Likewise.
20293         * modules/unicase/u16-totitle: Likewise.
20294         * modules/unicase/u16-toupper: Likewise.
20295         * modules/unicase/u32-casecmp: Likewise.
20296         * modules/unicase/u32-casecoll: Likewise.
20297         * modules/unicase/u32-casefold: Likewise.
20298         * modules/unicase/u32-casexfrm: Likewise.
20299         * modules/unicase/u32-ct-casefold: Likewise.
20300         * modules/unicase/u32-ct-tolower: Likewise.
20301         * modules/unicase/u32-ct-totitle: Likewise.
20302         * modules/unicase/u32-ct-toupper: Likewise.
20303         * modules/unicase/u32-is-cased: Likewise.
20304         * modules/unicase/u32-is-casefolded: Likewise.
20305         * modules/unicase/u32-is-lowercase: Likewise.
20306         * modules/unicase/u32-is-titlecase: Likewise.
20307         * modules/unicase/u32-is-uppercase: Likewise.
20308         * modules/unicase/u32-prefix-context: Likewise.
20309         * modules/unicase/u32-suffix-context: Likewise.
20310         * modules/unicase/u32-tolower: Likewise.
20311         * modules/unicase/u32-totitle: Likewise.
20312         * modules/unicase/u32-toupper: Likewise.
20313         * modules/unicase/ulc-casecmp: Likewise.
20314         * modules/unicase/ulc-casecoll: Likewise.
20315         * modules/unicase/ulc-casexfrm: Likewise.
20316         * modules/uniconv/u8-conv-from-enc: Likewise.
20317         * modules/uniconv/u8-conv-to-enc: Likewise.
20318         * modules/uniconv/u8-strconv-from-enc: Likewise.
20319         * modules/uniconv/u8-strconv-from-locale: Likewise.
20320         * modules/uniconv/u8-strconv-to-enc: Likewise.
20321         * modules/uniconv/u8-strconv-to-locale: Likewise.
20322         * modules/uniconv/u16-conv-from-enc: Likewise.
20323         * modules/uniconv/u16-conv-to-enc: Likewise.
20324         * modules/uniconv/u16-strconv-from-enc: Likewise.
20325         * modules/uniconv/u16-strconv-from-locale: Likewise.
20326         * modules/uniconv/u16-strconv-to-enc: Likewise.
20327         * modules/uniconv/u16-strconv-to-locale: Likewise.
20328         * modules/uniconv/u32-conv-from-enc: Likewise.
20329         * modules/uniconv/u32-conv-to-enc: Likewise.
20330         * modules/uniconv/u32-strconv-from-enc: Likewise.
20331         * modules/uniconv/u32-strconv-from-locale: Likewise.
20332         * modules/uniconv/u32-strconv-to-enc: Likewise.
20333         * modules/uniconv/u32-strconv-to-locale: Likewise.
20334         * modules/unictype/bidicategory-byname: Likewise.
20335         * modules/unictype/bidicategory-name: Likewise.
20336         * modules/unictype/bidicategory-of: Likewise.
20337         * modules/unictype/bidicategory-test: Likewise.
20338         * modules/unictype/block-list: Likewise.
20339         * modules/unictype/block-test: Likewise.
20340         * modules/unictype/category-C: Likewise.
20341         * modules/unictype/category-Cc: Likewise.
20342         * modules/unictype/category-Cf: Likewise.
20343         * modules/unictype/category-Cn: Likewise.
20344         * modules/unictype/category-Co: Likewise.
20345         * modules/unictype/category-Cs: Likewise.
20346         * modules/unictype/category-L: Likewise.
20347         * modules/unictype/category-Ll: Likewise.
20348         * modules/unictype/category-Lm: Likewise.
20349         * modules/unictype/category-Lo: Likewise.
20350         * modules/unictype/category-Lt: Likewise.
20351         * modules/unictype/category-Lu: Likewise.
20352         * modules/unictype/category-M: Likewise.
20353         * modules/unictype/category-Mc: Likewise.
20354         * modules/unictype/category-Me: Likewise.
20355         * modules/unictype/category-Mn: Likewise.
20356         * modules/unictype/category-N: Likewise.
20357         * modules/unictype/category-Nd: Likewise.
20358         * modules/unictype/category-Nl: Likewise.
20359         * modules/unictype/category-No: Likewise.
20360         * modules/unictype/category-P: Likewise.
20361         * modules/unictype/category-Pc: Likewise.
20362         * modules/unictype/category-Pd: Likewise.
20363         * modules/unictype/category-Pe: Likewise.
20364         * modules/unictype/category-Pf: Likewise.
20365         * modules/unictype/category-Pi: Likewise.
20366         * modules/unictype/category-Po: Likewise.
20367         * modules/unictype/category-Ps: Likewise.
20368         * modules/unictype/category-S: Likewise.
20369         * modules/unictype/category-Sc: Likewise.
20370         * modules/unictype/category-Sk: Likewise.
20371         * modules/unictype/category-Sm: Likewise.
20372         * modules/unictype/category-So: Likewise.
20373         * modules/unictype/category-Z: Likewise.
20374         * modules/unictype/category-Zl: Likewise.
20375         * modules/unictype/category-Zp: Likewise.
20376         * modules/unictype/category-Zs: Likewise.
20377         * modules/unictype/category-and: Likewise.
20378         * modules/unictype/category-and-not: Likewise.
20379         * modules/unictype/category-byname: Likewise.
20380         * modules/unictype/category-name: Likewise.
20381         * modules/unictype/category-none: Likewise.
20382         * modules/unictype/category-of: Likewise.
20383         * modules/unictype/category-or: Likewise.
20384         * modules/unictype/category-test: Likewise.
20385         * modules/unictype/combining-class: Likewise.
20386         * modules/unictype/ctype-alnum: Likewise.
20387         * modules/unictype/ctype-alpha: Likewise.
20388         * modules/unictype/ctype-blank: Likewise.
20389         * modules/unictype/ctype-cntrl: Likewise.
20390         * modules/unictype/ctype-digit: Likewise.
20391         * modules/unictype/ctype-graph: Likewise.
20392         * modules/unictype/ctype-lower: Likewise.
20393         * modules/unictype/ctype-print: Likewise.
20394         * modules/unictype/ctype-punct: Likewise.
20395         * modules/unictype/ctype-space: Likewise.
20396         * modules/unictype/ctype-upper: Likewise.
20397         * modules/unictype/ctype-xdigit: Likewise.
20398         * modules/unictype/decimal-digit: Likewise.
20399         * modules/unictype/digit: Likewise.
20400         * modules/unictype/mirror: Likewise.
20401         * modules/unictype/numeric: Likewise.
20402         * modules/unictype/property-alphabetic: Likewise.
20403         * modules/unictype/property-ascii-hex-digit: Likewise.
20404         * modules/unictype/property-bidi-arabic-digit: Likewise.
20405         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
20406         * modules/unictype/property-bidi-block-separator: Likewise.
20407         * modules/unictype/property-bidi-boundary-neutral: Likewise.
20408         * modules/unictype/property-bidi-common-separator: Likewise.
20409         * modules/unictype/property-bidi-control: Likewise.
20410         * modules/unictype/property-bidi-embedding-or-override: Likewise.
20411         * modules/unictype/property-bidi-eur-num-separator: Likewise.
20412         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
20413         * modules/unictype/property-bidi-european-digit: Likewise.
20414         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
20415         * modules/unictype/property-bidi-left-to-right: Likewise.
20416         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
20417         * modules/unictype/property-bidi-other-neutral: Likewise.
20418         * modules/unictype/property-bidi-pdf: Likewise.
20419         * modules/unictype/property-bidi-segment-separator: Likewise.
20420         * modules/unictype/property-bidi-whitespace: Likewise.
20421         * modules/unictype/property-byname: Likewise.
20422         * modules/unictype/property-combining: Likewise.
20423         * modules/unictype/property-composite: Likewise.
20424         * modules/unictype/property-currency-symbol: Likewise.
20425         * modules/unictype/property-dash: Likewise.
20426         * modules/unictype/property-decimal-digit: Likewise.
20427         * modules/unictype/property-default-ignorable-code-point: Likewise.
20428         * modules/unictype/property-deprecated: Likewise.
20429         * modules/unictype/property-diacritic: Likewise.
20430         * modules/unictype/property-extender: Likewise.
20431         * modules/unictype/property-format-control: Likewise.
20432         * modules/unictype/property-grapheme-base: Likewise.
20433         * modules/unictype/property-grapheme-extend: Likewise.
20434         * modules/unictype/property-grapheme-link: Likewise.
20435         * modules/unictype/property-hex-digit: Likewise.
20436         * modules/unictype/property-hyphen: Likewise.
20437         * modules/unictype/property-id-continue: Likewise.
20438         * modules/unictype/property-id-start: Likewise.
20439         * modules/unictype/property-ideographic: Likewise.
20440         * modules/unictype/property-ids-binary-operator: Likewise.
20441         * modules/unictype/property-ids-trinary-operator: Likewise.
20442         * modules/unictype/property-ignorable-control: Likewise.
20443         * modules/unictype/property-iso-control: Likewise.
20444         * modules/unictype/property-join-control: Likewise.
20445         * modules/unictype/property-left-of-pair: Likewise.
20446         * modules/unictype/property-line-separator: Likewise.
20447         * modules/unictype/property-logical-order-exception: Likewise.
20448         * modules/unictype/property-lowercase: Likewise.
20449         * modules/unictype/property-math: Likewise.
20450         * modules/unictype/property-non-break: Likewise.
20451         * modules/unictype/property-not-a-character: Likewise.
20452         * modules/unictype/property-numeric: Likewise.
20453         * modules/unictype/property-other-alphabetic: Likewise.
20454         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
20455         * modules/unictype/property-other-grapheme-extend: Likewise.
20456         * modules/unictype/property-other-id-continue: Likewise.
20457         * modules/unictype/property-other-id-start: Likewise.
20458         * modules/unictype/property-other-lowercase: Likewise.
20459         * modules/unictype/property-other-math: Likewise.
20460         * modules/unictype/property-other-uppercase: Likewise.
20461         * modules/unictype/property-paired-punctuation: Likewise.
20462         * modules/unictype/property-paragraph-separator: Likewise.
20463         * modules/unictype/property-pattern-syntax: Likewise.
20464         * modules/unictype/property-pattern-white-space: Likewise.
20465         * modules/unictype/property-private-use: Likewise.
20466         * modules/unictype/property-punctuation: Likewise.
20467         * modules/unictype/property-quotation-mark: Likewise.
20468         * modules/unictype/property-radical: Likewise.
20469         * modules/unictype/property-sentence-terminal: Likewise.
20470         * modules/unictype/property-soft-dotted: Likewise.
20471         * modules/unictype/property-space: Likewise.
20472         * modules/unictype/property-terminal-punctuation: Likewise.
20473         * modules/unictype/property-test: Likewise.
20474         * modules/unictype/property-titlecase: Likewise.
20475         * modules/unictype/property-unassigned-code-value: Likewise.
20476         * modules/unictype/property-unified-ideograph: Likewise.
20477         * modules/unictype/property-uppercase: Likewise.
20478         * modules/unictype/property-variation-selector: Likewise.
20479         * modules/unictype/property-white-space: Likewise.
20480         * modules/unictype/property-xid-continue: Likewise.
20481         * modules/unictype/property-xid-start: Likewise.
20482         * modules/unictype/property-zero-width: Likewise.
20483         * modules/unictype/scripts: Likewise.
20484         * modules/unictype/syntax-c-ident: Likewise.
20485         * modules/unictype/syntax-c-whitespace: Likewise.
20486         * modules/unictype/syntax-java-ident: Likewise.
20487         * modules/unictype/syntax-java-whitespace: Likewise.
20488         * modules/unilbrk/u8-possible-linebreaks: Likewise.
20489         * modules/unilbrk/u8-width-linebreaks: Likewise.
20490         * modules/unilbrk/u16-possible-linebreaks: Likewise.
20491         * modules/unilbrk/u16-width-linebreaks: Likewise.
20492         * modules/unilbrk/u32-possible-linebreaks: Likewise.
20493         * modules/unilbrk/u32-width-linebreaks: Likewise.
20494         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
20495         * modules/unilbrk/ulc-width-linebreaks: Likewise.
20496         * modules/uniname/uniname: Likewise.
20497         * modules/uninorm/canonical-decomposition: Likewise.
20498         * modules/uninorm/composition: Likewise.
20499         * modules/uninorm/decomposing-form: Likewise.
20500         * modules/uninorm/decomposition: Likewise.
20501         * modules/uninorm/filter: Likewise.
20502         * modules/uninorm/nfc: Likewise.
20503         * modules/uninorm/nfd: Likewise.
20504         * modules/uninorm/nfkc: Likewise.
20505         * modules/uninorm/nfkd: Likewise.
20506         * modules/uninorm/u8-normalize: Likewise.
20507         * modules/uninorm/u8-normcmp: Likewise.
20508         * modules/uninorm/u8-normcoll: Likewise.
20509         * modules/uninorm/u8-normxfrm: Likewise.
20510         * modules/uninorm/u16-normalize: Likewise.
20511         * modules/uninorm/u16-normcmp: Likewise.
20512         * modules/uninorm/u16-normcoll: Likewise.
20513         * modules/uninorm/u16-normxfrm: Likewise.
20514         * modules/uninorm/u32-normalize: Likewise.
20515         * modules/uninorm/u32-normcmp: Likewise.
20516         * modules/uninorm/u32-normcoll: Likewise.
20517         * modules/uninorm/u32-normxfrm: Likewise.
20518         * modules/unistdio/u8-asnprintf: Likewise.
20519         * modules/unistdio/u8-asprintf: Likewise.
20520         * modules/unistdio/u8-snprintf: Likewise.
20521         * modules/unistdio/u8-sprintf: Likewise.
20522         * modules/unistdio/u8-u8-asnprintf: Likewise.
20523         * modules/unistdio/u8-u8-asprintf: Likewise.
20524         * modules/unistdio/u8-u8-snprintf: Likewise.
20525         * modules/unistdio/u8-u8-sprintf: Likewise.
20526         * modules/unistdio/u8-u8-vasnprintf: Likewise.
20527         * modules/unistdio/u8-u8-vasprintf: Likewise.
20528         * modules/unistdio/u8-u8-vsnprintf: Likewise.
20529         * modules/unistdio/u8-u8-vsprintf: Likewise.
20530         * modules/unistdio/u8-vasnprintf: Likewise.
20531         * modules/unistdio/u8-vasprintf: Likewise.
20532         * modules/unistdio/u8-vsnprintf: Likewise.
20533         * modules/unistdio/u8-vsprintf: Likewise.
20534         * modules/unistdio/u16-asnprintf: Likewise.
20535         * modules/unistdio/u16-asprintf: Likewise.
20536         * modules/unistdio/u16-snprintf: Likewise.
20537         * modules/unistdio/u16-sprintf: Likewise.
20538         * modules/unistdio/u16-u16-asnprintf: Likewise.
20539         * modules/unistdio/u16-u16-asprintf: Likewise.
20540         * modules/unistdio/u16-u16-snprintf: Likewise.
20541         * modules/unistdio/u16-u16-sprintf: Likewise.
20542         * modules/unistdio/u16-u16-vasnprintf: Likewise.
20543         * modules/unistdio/u16-u16-vasprintf: Likewise.
20544         * modules/unistdio/u16-u16-vsnprintf: Likewise.
20545         * modules/unistdio/u16-u16-vsprintf: Likewise.
20546         * modules/unistdio/u16-vasnprintf: Likewise.
20547         * modules/unistdio/u16-vasprintf: Likewise.
20548         * modules/unistdio/u16-vsnprintf: Likewise.
20549         * modules/unistdio/u16-vsprintf: Likewise.
20550         * modules/unistdio/u32-asnprintf: Likewise.
20551         * modules/unistdio/u32-asprintf: Likewise.
20552         * modules/unistdio/u32-snprintf: Likewise.
20553         * modules/unistdio/u32-sprintf: Likewise.
20554         * modules/unistdio/u32-u32-asnprintf: Likewise.
20555         * modules/unistdio/u32-u32-asprintf: Likewise.
20556         * modules/unistdio/u32-u32-snprintf: Likewise.
20557         * modules/unistdio/u32-u32-sprintf: Likewise.
20558         * modules/unistdio/u32-u32-vasnprintf: Likewise.
20559         * modules/unistdio/u32-u32-vasprintf: Likewise.
20560         * modules/unistdio/u32-u32-vsnprintf: Likewise.
20561         * modules/unistdio/u32-u32-vsprintf: Likewise.
20562         * modules/unistdio/u32-vasnprintf: Likewise.
20563         * modules/unistdio/u32-vasprintf: Likewise.
20564         * modules/unistdio/u32-vsnprintf: Likewise.
20565         * modules/unistdio/u32-vsprintf: Likewise.
20566         * modules/unistdio/ulc-asnprintf: Likewise.
20567         * modules/unistdio/ulc-asprintf: Likewise.
20568         * modules/unistdio/ulc-fprintf: Likewise.
20569         * modules/unistdio/ulc-snprintf: Likewise.
20570         * modules/unistdio/ulc-sprintf: Likewise.
20571         * modules/unistdio/ulc-vasnprintf: Likewise.
20572         * modules/unistdio/ulc-vasprintf: Likewise.
20573         * modules/unistdio/ulc-vfprintf: Likewise.
20574         * modules/unistdio/ulc-vsnprintf: Likewise.
20575         * modules/unistdio/ulc-vsprintf: Likewise.
20576         * modules/unistr/u8-check: Likewise.
20577         * modules/unistr/u8-chr: Likewise.
20578         * modules/unistr/u8-cmp: Likewise.
20579         * modules/unistr/u8-cmp2: Likewise.
20580         * modules/unistr/u8-cpy: Likewise.
20581         * modules/unistr/u8-cpy-alloc: Likewise.
20582         * modules/unistr/u8-endswith: Likewise.
20583         * modules/unistr/u8-mblen: Likewise.
20584         * modules/unistr/u8-mbsnlen: Likewise.
20585         * modules/unistr/u8-mbtouc: Likewise.
20586         * modules/unistr/u8-mbtouc-unsafe: Likewise.
20587         * modules/unistr/u8-mbtoucr: Likewise.
20588         * modules/unistr/u8-move: Likewise.
20589         * modules/unistr/u8-next: Likewise.
20590         * modules/unistr/u8-prev: Likewise.
20591         * modules/unistr/u8-set: Likewise.
20592         * modules/unistr/u8-startswith: Likewise.
20593         * modules/unistr/u8-stpcpy: Likewise.
20594         * modules/unistr/u8-stpncpy: Likewise.
20595         * modules/unistr/u8-strcat: Likewise.
20596         * modules/unistr/u8-strchr: Likewise.
20597         * modules/unistr/u8-strcmp: Likewise.
20598         * modules/unistr/u8-strcoll: Likewise.
20599         * modules/unistr/u8-strcpy: Likewise.
20600         * modules/unistr/u8-strcspn: Likewise.
20601         * modules/unistr/u8-strdup: Likewise.
20602         * modules/unistr/u8-strlen: Likewise.
20603         * modules/unistr/u8-strmblen: Likewise.
20604         * modules/unistr/u8-strmbtouc: Likewise.
20605         * modules/unistr/u8-strncat: Likewise.
20606         * modules/unistr/u8-strncmp: Likewise.
20607         * modules/unistr/u8-strncpy: Likewise.
20608         * modules/unistr/u8-strnlen: Likewise.
20609         * modules/unistr/u8-strpbrk: Likewise.
20610         * modules/unistr/u8-strrchr: Likewise.
20611         * modules/unistr/u8-strspn: Likewise.
20612         * modules/unistr/u8-strstr: Likewise.
20613         * modules/unistr/u8-strtok: Likewise.
20614         * modules/unistr/u8-to-u16: Likewise.
20615         * modules/unistr/u8-to-u32: Likewise.
20616         * modules/unistr/u8-uctomb: Likewise.
20617         * modules/unistr/u16-check: Likewise.
20618         * modules/unistr/u16-chr: Likewise.
20619         * modules/unistr/u16-cmp: Likewise.
20620         * modules/unistr/u16-cmp2: Likewise.
20621         * modules/unistr/u16-cpy: Likewise.
20622         * modules/unistr/u16-cpy-alloc: Likewise.
20623         * modules/unistr/u16-endswith: Likewise.
20624         * modules/unistr/u16-mblen: Likewise.
20625         * modules/unistr/u16-mbsnlen: Likewise.
20626         * modules/unistr/u16-mbtouc: Likewise.
20627         * modules/unistr/u16-mbtouc-unsafe: Likewise.
20628         * modules/unistr/u16-mbtoucr: Likewise.
20629         * modules/unistr/u16-move: Likewise.
20630         * modules/unistr/u16-next: Likewise.
20631         * modules/unistr/u16-prev: Likewise.
20632         * modules/unistr/u16-set: Likewise.
20633         * modules/unistr/u16-startswith: Likewise.
20634         * modules/unistr/u16-stpcpy: Likewise.
20635         * modules/unistr/u16-stpncpy: Likewise.
20636         * modules/unistr/u16-strcat: Likewise.
20637         * modules/unistr/u16-strchr: Likewise.
20638         * modules/unistr/u16-strcmp: Likewise.
20639         * modules/unistr/u16-strcoll: Likewise.
20640         * modules/unistr/u16-strcpy: Likewise.
20641         * modules/unistr/u16-strcspn: Likewise.
20642         * modules/unistr/u16-strdup: Likewise.
20643         * modules/unistr/u16-strlen: Likewise.
20644         * modules/unistr/u16-strmblen: Likewise.
20645         * modules/unistr/u16-strmbtouc: Likewise.
20646         * modules/unistr/u16-strncat: Likewise.
20647         * modules/unistr/u16-strncmp: Likewise.
20648         * modules/unistr/u16-strncpy: Likewise.
20649         * modules/unistr/u16-strnlen: Likewise.
20650         * modules/unistr/u16-strpbrk: Likewise.
20651         * modules/unistr/u16-strrchr: Likewise.
20652         * modules/unistr/u16-strspn: Likewise.
20653         * modules/unistr/u16-strstr: Likewise.
20654         * modules/unistr/u16-strtok: Likewise.
20655         * modules/unistr/u16-to-u32: Likewise.
20656         * modules/unistr/u16-to-u8: Likewise.
20657         * modules/unistr/u16-uctomb: Likewise.
20658         * modules/unistr/u32-check: Likewise.
20659         * modules/unistr/u32-chr: Likewise.
20660         * modules/unistr/u32-cmp: Likewise.
20661         * modules/unistr/u32-cmp2: Likewise.
20662         * modules/unistr/u32-cpy: Likewise.
20663         * modules/unistr/u32-cpy-alloc: Likewise.
20664         * modules/unistr/u32-endswith: Likewise.
20665         * modules/unistr/u32-mblen: Likewise.
20666         * modules/unistr/u32-mbsnlen: Likewise.
20667         * modules/unistr/u32-mbtouc: Likewise.
20668         * modules/unistr/u32-mbtouc-unsafe: Likewise.
20669         * modules/unistr/u32-mbtoucr: Likewise.
20670         * modules/unistr/u32-move: Likewise.
20671         * modules/unistr/u32-next: Likewise.
20672         * modules/unistr/u32-prev: Likewise.
20673         * modules/unistr/u32-set: Likewise.
20674         * modules/unistr/u32-startswith: Likewise.
20675         * modules/unistr/u32-stpcpy: Likewise.
20676         * modules/unistr/u32-stpncpy: Likewise.
20677         * modules/unistr/u32-strcat: Likewise.
20678         * modules/unistr/u32-strchr: Likewise.
20679         * modules/unistr/u32-strcmp: Likewise.
20680         * modules/unistr/u32-strcoll: Likewise.
20681         * modules/unistr/u32-strcpy: Likewise.
20682         * modules/unistr/u32-strcspn: Likewise.
20683         * modules/unistr/u32-strdup: Likewise.
20684         * modules/unistr/u32-strlen: Likewise.
20685         * modules/unistr/u32-strmblen: Likewise.
20686         * modules/unistr/u32-strmbtouc: Likewise.
20687         * modules/unistr/u32-strncat: Likewise.
20688         * modules/unistr/u32-strncmp: Likewise.
20689         * modules/unistr/u32-strncpy: Likewise.
20690         * modules/unistr/u32-strnlen: Likewise.
20691         * modules/unistr/u32-strpbrk: Likewise.
20692         * modules/unistr/u32-strrchr: Likewise.
20693         * modules/unistr/u32-strspn: Likewise.
20694         * modules/unistr/u32-strstr: Likewise.
20695         * modules/unistr/u32-strtok: Likewise.
20696         * modules/unistr/u32-to-u16: Likewise.
20697         * modules/unistr/u32-to-u8: Likewise.
20698         * modules/unistr/u32-uctomb: Likewise.
20699         * modules/uniwbrk/u8-wordbreaks: Likewise.
20700         * modules/uniwbrk/u16-wordbreaks: Likewise.
20701         * modules/uniwbrk/u32-wordbreaks: Likewise.
20702         * modules/uniwbrk/ulc-wordbreaks: Likewise.
20703         * modules/uniwbrk/wordbreak-property: Likewise.
20704         * modules/uniwidth/u8-strwidth: Likewise.
20705         * modules/uniwidth/u8-width: Likewise.
20706         * modules/uniwidth/u16-strwidth: Likewise.
20707         * modules/uniwidth/u16-width: Likewise.
20708         * modules/uniwidth/u32-strwidth: Likewise.
20709         * modules/uniwidth/u32-width: Likewise.
20710         * modules/uniwidth/width: Likewise.
20711         * modules/unicase/cased-tests (Makefile.am): Link all test programs
20712         with $(LIBUNISTRING).
20713         * modules/unicase/ignorable-tests: Likewise.
20714         * modules/unicase/locale-language-tests: Likewise.
20715         * modules/unicase/tolower-tests: Likewise.
20716         * modules/unicase/totitle-tests: Likewise.
20717         * modules/unicase/toupper-tests: Likewise.
20718         * modules/unicase/u8-casecmp-tests: Likewise.
20719         * modules/unicase/u8-casecoll-tests: Likewise.
20720         * modules/unicase/u8-casefold-tests: Likewise.
20721         * modules/unicase/u8-is-cased-tests: Likewise.
20722         * modules/unicase/u8-is-casefolded-tests: Likewise.
20723         * modules/unicase/u8-is-lowercase-tests: Likewise.
20724         * modules/unicase/u8-is-titlecase-tests: Likewise.
20725         * modules/unicase/u8-is-uppercase-tests: Likewise.
20726         * modules/unicase/u8-tolower-tests: Likewise.
20727         * modules/unicase/u8-totitle-tests: Likewise.
20728         * modules/unicase/u8-toupper-tests: Likewise.
20729         * modules/unicase/u16-casecmp-tests: Likewise.
20730         * modules/unicase/u16-casecoll-tests: Likewise.
20731         * modules/unicase/u16-casefold-tests: Likewise.
20732         * modules/unicase/u16-is-cased-tests: Likewise.
20733         * modules/unicase/u16-is-casefolded-tests: Likewise.
20734         * modules/unicase/u16-is-lowercase-tests: Likewise.
20735         * modules/unicase/u16-is-titlecase-tests: Likewise.
20736         * modules/unicase/u16-is-uppercase-tests: Likewise.
20737         * modules/unicase/u16-tolower-tests: Likewise.
20738         * modules/unicase/u16-totitle-tests: Likewise.
20739         * modules/unicase/u16-toupper-tests: Likewise.
20740         * modules/unicase/u32-casecmp-tests: Likewise.
20741         * modules/unicase/u32-casecoll-tests: Likewise.
20742         * modules/unicase/u32-casefold-tests: Likewise.
20743         * modules/unicase/u32-is-cased-tests: Likewise.
20744         * modules/unicase/u32-is-casefolded-tests: Likewise.
20745         * modules/unicase/u32-is-lowercase-tests: Likewise.
20746         * modules/unicase/u32-is-titlecase-tests: Likewise.
20747         * modules/unicase/u32-is-uppercase-tests: Likewise.
20748         * modules/unicase/u32-tolower-tests: Likewise.
20749         * modules/unicase/u32-totitle-tests: Likewise.
20750         * modules/unicase/u32-toupper-tests: Likewise.
20751         * modules/unicase/ulc-casecmp-tests: Likewise.
20752         * modules/unicase/ulc-casecoll-tests: Likewise.
20753         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
20754         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
20755         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
20756         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
20757         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
20758         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
20759         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
20760         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
20761         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
20762         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
20763         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
20764         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
20765         * modules/unictype/bidicategory-byname-tests: Likewise.
20766         * modules/unictype/bidicategory-name-tests: Likewise.
20767         * modules/unictype/bidicategory-of-tests: Likewise.
20768         * modules/unictype/bidicategory-test-tests: Likewise.
20769         * modules/unictype/block-list-tests: Likewise.
20770         * modules/unictype/block-of-tests: Likewise.
20771         * modules/unictype/block-test-tests: Likewise.
20772         * modules/unictype/category-C-tests: Likewise.
20773         * modules/unictype/category-Cc-tests: Likewise.
20774         * modules/unictype/category-Cf-tests: Likewise.
20775         * modules/unictype/category-Cn-tests: Likewise.
20776         * modules/unictype/category-Co-tests: Likewise.
20777         * modules/unictype/category-Cs-tests: Likewise.
20778         * modules/unictype/category-L-tests: Likewise.
20779         * modules/unictype/category-Ll-tests: Likewise.
20780         * modules/unictype/category-Lm-tests: Likewise.
20781         * modules/unictype/category-Lo-tests: Likewise.
20782         * modules/unictype/category-Lt-tests: Likewise.
20783         * modules/unictype/category-Lu-tests: Likewise.
20784         * modules/unictype/category-M-tests: Likewise.
20785         * modules/unictype/category-Mc-tests: Likewise.
20786         * modules/unictype/category-Me-tests: Likewise.
20787         * modules/unictype/category-Mn-tests: Likewise.
20788         * modules/unictype/category-N-tests: Likewise.
20789         * modules/unictype/category-Nd-tests: Likewise.
20790         * modules/unictype/category-Nl-tests: Likewise.
20791         * modules/unictype/category-No-tests: Likewise.
20792         * modules/unictype/category-P-tests: Likewise.
20793         * modules/unictype/category-Pc-tests: Likewise.
20794         * modules/unictype/category-Pd-tests: Likewise.
20795         * modules/unictype/category-Pe-tests: Likewise.
20796         * modules/unictype/category-Pf-tests: Likewise.
20797         * modules/unictype/category-Pi-tests: Likewise.
20798         * modules/unictype/category-Po-tests: Likewise.
20799         * modules/unictype/category-Ps-tests: Likewise.
20800         * modules/unictype/category-S-tests: Likewise.
20801         * modules/unictype/category-Sc-tests: Likewise.
20802         * modules/unictype/category-Sk-tests: Likewise.
20803         * modules/unictype/category-Sm-tests: Likewise.
20804         * modules/unictype/category-So-tests: Likewise.
20805         * modules/unictype/category-Z-tests: Likewise.
20806         * modules/unictype/category-Zl-tests: Likewise.
20807         * modules/unictype/category-Zp-tests: Likewise.
20808         * modules/unictype/category-Zs-tests: Likewise.
20809         * modules/unictype/category-and-not-tests: Likewise.
20810         * modules/unictype/category-and-tests: Likewise.
20811         * modules/unictype/category-byname-tests: Likewise.
20812         * modules/unictype/category-name-tests: Likewise.
20813         * modules/unictype/category-none-tests: Likewise.
20814         * modules/unictype/category-of-tests: Likewise.
20815         * modules/unictype/category-or-tests: Likewise.
20816         * modules/unictype/category-test-withtable-tests: Likewise.
20817         * modules/unictype/combining-class-tests: Likewise.
20818         * modules/unictype/ctype-alnum-tests: Likewise.
20819         * modules/unictype/ctype-alpha-tests: Likewise.
20820         * modules/unictype/ctype-blank-tests: Likewise.
20821         * modules/unictype/ctype-cntrl-tests: Likewise.
20822         * modules/unictype/ctype-digit-tests: Likewise.
20823         * modules/unictype/ctype-graph-tests: Likewise.
20824         * modules/unictype/ctype-lower-tests: Likewise.
20825         * modules/unictype/ctype-print-tests: Likewise.
20826         * modules/unictype/ctype-punct-tests: Likewise.
20827         * modules/unictype/ctype-space-tests: Likewise.
20828         * modules/unictype/ctype-upper-tests: Likewise.
20829         * modules/unictype/ctype-xdigit-tests: Likewise.
20830         * modules/unictype/decimal-digit-tests: Likewise.
20831         * modules/unictype/digit-tests: Likewise.
20832         * modules/unictype/mirror-tests: Likewise.
20833         * modules/unictype/numeric-tests: Likewise.
20834         * modules/unictype/property-alphabetic-tests: Likewise.
20835         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
20836         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
20837         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
20838         * modules/unictype/property-bidi-block-separator-tests: Likewise.
20839         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
20840         * modules/unictype/property-bidi-common-separator-tests: Likewise.
20841         * modules/unictype/property-bidi-control-tests: Likewise.
20842         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
20843         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
20844         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
20845         * modules/unictype/property-bidi-european-digit-tests: Likewise.
20846         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
20847         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
20848         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
20849         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
20850         * modules/unictype/property-bidi-pdf-tests: Likewise.
20851         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
20852         * modules/unictype/property-bidi-whitespace-tests: Likewise.
20853         * modules/unictype/property-byname-tests: Likewise.
20854         * modules/unictype/property-combining-tests: Likewise.
20855         * modules/unictype/property-composite-tests: Likewise.
20856         * modules/unictype/property-currency-symbol-tests: Likewise.
20857         * modules/unictype/property-dash-tests: Likewise.
20858         * modules/unictype/property-decimal-digit-tests: Likewise.
20859         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
20860         * modules/unictype/property-deprecated-tests: Likewise.
20861         * modules/unictype/property-diacritic-tests: Likewise.
20862         * modules/unictype/property-extender-tests: Likewise.
20863         * modules/unictype/property-format-control-tests: Likewise.
20864         * modules/unictype/property-grapheme-base-tests: Likewise.
20865         * modules/unictype/property-grapheme-extend-tests: Likewise.
20866         * modules/unictype/property-grapheme-link-tests: Likewise.
20867         * modules/unictype/property-hex-digit-tests: Likewise.
20868         * modules/unictype/property-hyphen-tests: Likewise.
20869         * modules/unictype/property-id-continue-tests: Likewise.
20870         * modules/unictype/property-id-start-tests: Likewise.
20871         * modules/unictype/property-ideographic-tests: Likewise.
20872         * modules/unictype/property-ids-binary-operator-tests: Likewise.
20873         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
20874         * modules/unictype/property-ignorable-control-tests: Likewise.
20875         * modules/unictype/property-iso-control-tests: Likewise.
20876         * modules/unictype/property-join-control-tests: Likewise.
20877         * modules/unictype/property-left-of-pair-tests: Likewise.
20878         * modules/unictype/property-line-separator-tests: Likewise.
20879         * modules/unictype/property-logical-order-exception-tests: Likewise.
20880         * modules/unictype/property-lowercase-tests: Likewise.
20881         * modules/unictype/property-math-tests: Likewise.
20882         * modules/unictype/property-non-break-tests: Likewise.
20883         * modules/unictype/property-not-a-character-tests: Likewise.
20884         * modules/unictype/property-numeric-tests: Likewise.
20885         * modules/unictype/property-other-alphabetic-tests: Likewise.
20886         * modules/unictype/property-other-default-ignorable-code-point-tests:
20887         Likewise.
20888         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
20889         * modules/unictype/property-other-id-continue-tests: Likewise.
20890         * modules/unictype/property-other-id-start-tests: Likewise.
20891         * modules/unictype/property-other-lowercase-tests: Likewise.
20892         * modules/unictype/property-other-math-tests: Likewise.
20893         * modules/unictype/property-other-uppercase-tests: Likewise.
20894         * modules/unictype/property-paired-punctuation-tests: Likewise.
20895         * modules/unictype/property-paragraph-separator-tests: Likewise.
20896         * modules/unictype/property-pattern-syntax-tests: Likewise.
20897         * modules/unictype/property-pattern-white-space-tests: Likewise.
20898         * modules/unictype/property-private-use-tests: Likewise.
20899         * modules/unictype/property-punctuation-tests: Likewise.
20900         * modules/unictype/property-quotation-mark-tests: Likewise.
20901         * modules/unictype/property-radical-tests: Likewise.
20902         * modules/unictype/property-sentence-terminal-tests: Likewise.
20903         * modules/unictype/property-soft-dotted-tests: Likewise.
20904         * modules/unictype/property-space-tests: Likewise.
20905         * modules/unictype/property-terminal-punctuation-tests: Likewise.
20906         * modules/unictype/property-test-tests: Likewise.
20907         * modules/unictype/property-titlecase-tests: Likewise.
20908         * modules/unictype/property-unassigned-code-value-tests: Likewise.
20909         * modules/unictype/property-unified-ideograph-tests: Likewise.
20910         * modules/unictype/property-uppercase-tests: Likewise.
20911         * modules/unictype/property-variation-selector-tests: Likewise.
20912         * modules/unictype/property-white-space-tests: Likewise.
20913         * modules/unictype/property-xid-continue-tests: Likewise.
20914         * modules/unictype/property-xid-start-tests: Likewise.
20915         * modules/unictype/property-zero-width-tests: Likewise.
20916         * modules/unictype/scripts-tests: Likewise.
20917         * modules/unictype/syntax-c-ident-tests: Likewise.
20918         * modules/unictype/syntax-c-whitespace-tests: Likewise.
20919         * modules/unictype/syntax-java-ident-tests: Likewise.
20920         * modules/unictype/syntax-java-whitespace-tests: Likewise.
20921         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
20922         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
20923         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
20924         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
20925         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
20926         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
20927         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
20928         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
20929         * modules/uniname/uniname-tests: Likewise.
20930         * modules/uninorm/canonical-decomposition-tests: Likewise.
20931         * modules/uninorm/compat-decomposition-tests: Likewise.
20932         * modules/uninorm/composition-tests: Likewise.
20933         * modules/uninorm/decomposing-form-tests: Likewise.
20934         * modules/uninorm/decomposition-tests: Likewise.
20935         * modules/uninorm/filter-tests: Likewise.
20936         * modules/uninorm/nfc-tests: Likewise.
20937         * modules/uninorm/nfd-tests: Likewise.
20938         * modules/uninorm/nfkc-tests: Likewise.
20939         * modules/uninorm/nfkd-tests: Likewise.
20940         * modules/uninorm/u8-normcmp-tests: Likewise.
20941         * modules/uninorm/u8-normcoll-tests: Likewise.
20942         * modules/uninorm/u16-normcmp-tests: Likewise.
20943         * modules/uninorm/u16-normcoll-tests: Likewise.
20944         * modules/uninorm/u32-normcmp-tests: Likewise.
20945         * modules/uninorm/u32-normcoll-tests: Likewise.
20946         * modules/unistdio/u8-asnprintf-tests: Likewise.
20947         * modules/unistdio/u8-vasnprintf-tests: Likewise.
20948         * modules/unistdio/u8-vasprintf-tests: Likewise.
20949         * modules/unistdio/u8-vsnprintf-tests: Likewise.
20950         * modules/unistdio/u8-vsprintf-tests: Likewise.
20951         * modules/unistdio/u16-asnprintf-tests: Likewise.
20952         * modules/unistdio/u16-vasnprintf-tests: Likewise.
20953         * modules/unistdio/u16-vasprintf-tests: Likewise.
20954         * modules/unistdio/u16-vsnprintf-tests: Likewise.
20955         * modules/unistdio/u16-vsprintf-tests: Likewise.
20956         * modules/unistdio/u32-asnprintf-tests: Likewise.
20957         * modules/unistdio/u32-vasnprintf-tests: Likewise.
20958         * modules/unistdio/u32-vasprintf-tests: Likewise.
20959         * modules/unistdio/u32-vsnprintf-tests: Likewise.
20960         * modules/unistdio/u32-vsprintf-tests: Likewise.
20961         * modules/unistdio/ulc-asnprintf-tests: Likewise.
20962         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
20963         * modules/unistdio/ulc-vasprintf-tests: Likewise.
20964         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
20965         * modules/unistdio/ulc-vsprintf-tests: Likewise.
20966         * modules/unistr/u8-check-tests: Likewise.
20967         * modules/unistr/u8-chr-tests: Likewise.
20968         * modules/unistr/u8-cmp-tests: Likewise.
20969         * modules/unistr/u8-cmp2-tests: Likewise.
20970         * modules/unistr/u8-cpy-alloc-tests: Likewise.
20971         * modules/unistr/u8-cpy-tests: Likewise.
20972         * modules/unistr/u8-mblen-tests: Likewise.
20973         * modules/unistr/u8-mbsnlen-tests: Likewise.
20974         * modules/unistr/u8-mbtouc-tests: Likewise.
20975         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
20976         * modules/unistr/u8-mbtoucr-tests: Likewise.
20977         * modules/unistr/u8-move-tests: Likewise.
20978         * modules/unistr/u8-next-tests: Likewise.
20979         * modules/unistr/u8-prev-tests: Likewise.
20980         * modules/unistr/u8-set-tests: Likewise.
20981         * modules/unistr/u8-stpcpy-tests: Likewise.
20982         * modules/unistr/u8-stpncpy-tests: Likewise.
20983         * modules/unistr/u8-strcat-tests: Likewise.
20984         * modules/unistr/u8-strcmp-tests: Likewise.
20985         * modules/unistr/u8-strcoll-tests: Likewise.
20986         * modules/unistr/u8-strcpy-tests: Likewise.
20987         * modules/unistr/u8-strdup-tests: Likewise.
20988         * modules/unistr/u8-strlen-tests: Likewise.
20989         * modules/unistr/u8-strmblen-tests: Likewise.
20990         * modules/unistr/u8-strmbtouc-tests: Likewise.
20991         * modules/unistr/u8-strncat-tests: Likewise.
20992         * modules/unistr/u8-strncmp-tests: Likewise.
20993         * modules/unistr/u8-strncpy-tests: Likewise.
20994         * modules/unistr/u8-strnlen-tests: Likewise.
20995         * modules/unistr/u8-to-u16-tests: Likewise.
20996         * modules/unistr/u8-to-u32-tests: Likewise.
20997         * modules/unistr/u8-uctomb-tests: Likewise.
20998         * modules/unistr/u16-check-tests: Likewise.
20999         * modules/unistr/u16-chr-tests: Likewise.
21000         * modules/unistr/u16-cmp-tests: Likewise.
21001         * modules/unistr/u16-cmp2-tests: Likewise.
21002         * modules/unistr/u16-cpy-alloc-tests: Likewise.
21003         * modules/unistr/u16-cpy-tests: Likewise.
21004         * modules/unistr/u16-mblen-tests: Likewise.
21005         * modules/unistr/u16-mbsnlen-tests: Likewise.
21006         * modules/unistr/u16-mbtouc-tests: Likewise.
21007         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
21008         * modules/unistr/u16-mbtoucr-tests: Likewise.
21009         * modules/unistr/u16-move-tests: Likewise.
21010         * modules/unistr/u16-next-tests: Likewise.
21011         * modules/unistr/u16-prev-tests: Likewise.
21012         * modules/unistr/u16-set-tests: Likewise.
21013         * modules/unistr/u16-stpcpy-tests: Likewise.
21014         * modules/unistr/u16-stpncpy-tests: Likewise.
21015         * modules/unistr/u16-strcat-tests: Likewise.
21016         * modules/unistr/u16-strcmp-tests: Likewise.
21017         * modules/unistr/u16-strcoll-tests: Likewise.
21018         * modules/unistr/u16-strcpy-tests: Likewise.
21019         * modules/unistr/u16-strdup-tests: Likewise.
21020         * modules/unistr/u16-strlen-tests: Likewise.
21021         * modules/unistr/u16-strmblen-tests: Likewise.
21022         * modules/unistr/u16-strmbtouc-tests: Likewise.
21023         * modules/unistr/u16-strncat-tests: Likewise.
21024         * modules/unistr/u16-strncmp-tests: Likewise.
21025         * modules/unistr/u16-strncpy-tests: Likewise.
21026         * modules/unistr/u16-strnlen-tests: Likewise.
21027         * modules/unistr/u16-to-u32-tests: Likewise.
21028         * modules/unistr/u16-to-u8-tests: Likewise.
21029         * modules/unistr/u16-uctomb-tests: Likewise.
21030         * modules/unistr/u32-check-tests: Likewise.
21031         * modules/unistr/u32-chr-tests: Likewise.
21032         * modules/unistr/u32-cmp-tests: Likewise.
21033         * modules/unistr/u32-cmp2-tests: Likewise.
21034         * modules/unistr/u32-cpy-alloc-tests: Likewise.
21035         * modules/unistr/u32-cpy-tests: Likewise.
21036         * modules/unistr/u32-mblen-tests: Likewise.
21037         * modules/unistr/u32-mbsnlen-tests: Likewise.
21038         * modules/unistr/u32-mbtouc-tests: Likewise.
21039         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
21040         * modules/unistr/u32-mbtoucr-tests: Likewise.
21041         * modules/unistr/u32-move-tests: Likewise.
21042         * modules/unistr/u32-next-tests: Likewise.
21043         * modules/unistr/u32-prev-tests: Likewise.
21044         * modules/unistr/u32-set-tests: Likewise.
21045         * modules/unistr/u32-stpcpy-tests: Likewise.
21046         * modules/unistr/u32-stpncpy-tests: Likewise.
21047         * modules/unistr/u32-strcat-tests: Likewise.
21048         * modules/unistr/u32-strcmp-tests: Likewise.
21049         * modules/unistr/u32-strcoll-tests: Likewise.
21050         * modules/unistr/u32-strcpy-tests: Likewise.
21051         * modules/unistr/u32-strdup-tests: Likewise.
21052         * modules/unistr/u32-strlen-tests: Likewise.
21053         * modules/unistr/u32-strmblen-tests: Likewise.
21054         * modules/unistr/u32-strmbtouc-tests: Likewise.
21055         * modules/unistr/u32-strncat-tests: Likewise.
21056         * modules/unistr/u32-strncmp-tests: Likewise.
21057         * modules/unistr/u32-strncpy-tests: Likewise.
21058         * modules/unistr/u32-strnlen-tests: Likewise.
21059         * modules/unistr/u32-to-u16-tests: Likewise.
21060         * modules/unistr/u32-to-u8-tests: Likewise.
21061         * modules/unistr/u32-uctomb-tests: Likewise.
21062         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
21063         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
21064         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
21065         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
21066         * modules/uniwidth/u8-strwidth-tests: Likewise.
21067         * modules/uniwidth/u8-width-tests: Likewise.
21068         * modules/uniwidth/u16-strwidth-tests: Likewise.
21069         * modules/uniwidth/u16-width-tests: Likewise.
21070         * modules/uniwidth/u32-strwidth-tests: Likewise.
21071         * modules/uniwidth/u32-width-tests: Likewise.
21072         * modules/uniwidth/width-tests: Likewise.
21073
21074 2010-05-18  Richard Jones  <rjones@redhat.com>
21075
21076         doc: users.txt: list hivex
21077         * users.txt: Add hivex.
21078
21079 2010-05-18  Richard Jones  <rjones@redhat.com>
21080
21081         doc: users.txt: list febootstrap
21082         * users.txt: Add febootstrap.
21083
21084 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
21085
21086         bootstrap: fix an error when gnulib is not used as a git submodule
21087         * build-aux/bootstrap (gnulib_path): If its length is zero then
21088         assign "gnulib" to it.
21089         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
21090
21091 2010-05-16  Bruno Haible  <bruno@clisp.org>
21092
21093         Avoid autoconf warnings about AM_ICONV.
21094         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
21095         2.64.
21096
21097 2010-05-16  Bruno Haible  <bruno@clisp.org>
21098
21099         absolute-header: Make the macro usable in more situations.
21100         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
21101         from gl_ABSOLUTE_HEADER.
21102         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
21103
21104 2010-05-16  James Youngman  <jay@gnu.org>
21105
21106         doc: update users.txt
21107         * users.txt: Add CSSC.
21108
21109 2010-05-16  Jim Meyering  <meyering@redhat.com>
21110
21111         init.sh: fix an error in the previous change; add more comments
21112         * tests/init.sh: Compare exit code in loop against 9, not 2.
21113         Patch by Bruno Haible.
21114         Make the two tests more similar by adding an empty "then" clause.
21115         Add comments.
21116
21117         init.sh: avoid unnecessary shell re-exec
21118         * tests/init.sh: Improve the re-exec-required check to first test the
21119         current shell.  If it passes the test, do not search for a shell that
21120         does pass, and do not re-exec.  This test is particularly contorted to
21121         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
21122         of $(...) evokes a syntax error and causes immediate shell exit with
21123         status 2.  Bruno Haible reported that the re-exec made it impossible
21124         to single-step through any init.sh-using script.
21125
21126 2010-05-16  Bruno Haible  <bruno@clisp.org>
21127
21128         Fix collision between gnulib's and libintl's printf replacements.
21129         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
21130         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
21131         (printf): When using GNU C, map the __printf__ function to rpl_printf
21132         via __asm__. When not using GNU C, define rpl_printf instead of
21133         __printf__.
21134         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
21135         commit.
21136         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
21137         commit.
21138         * m4/asm-underscore.m4: New file.
21139         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
21140         * modules/stdio (Files): Add m4/asm-underscore.m4.
21141         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
21142         Reported by Ben Pfaff.
21143
21144 2010-05-16  Bruno Haible  <bruno@clisp.org>
21145
21146         verify: Avoid skipping the test on openSUSE 11.0.
21147         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
21148
21149 2010-05-13  Bruno Haible  <bruno@clisp.org>
21150
21151         Avoid useless warnings from G++.
21152         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
21153         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
21154         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
21155
21156 2010-05-11  Jim Meyering  <meyering@redhat.com>
21157
21158         maint.mk: tweak preceding change
21159         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
21160         regexps tighter by anchoring at EOL, and make the new group "shy"
21161         for slightly decreased overhead.
21162
21163 2010-05-11  Eric Blake  <eblake@redhat.com>
21164
21165         maint.mk: gnulib doesn't guarantee NSIG
21166         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
21167
21168 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
21169
21170         test-pwrite.c: Remove unused variable declaration.
21171         * tests/test-pwrite.c (main): Remove read_buf declaration.
21172
21173         Remove useless test-pwrite.sh file.
21174         * tests/test-pwrite.sh: Delete file.
21175         * modules/pwrite-tests: Remove references.
21176         Reported by Bruno Haible.
21177
21178 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
21179
21180         init.sh: fix a typo
21181         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
21182
21183 2010-05-10  Jim Meyering  <meyering@redhat.com>
21184
21185         maint.mk: avoid using a temporary file in the always-defined-macros check
21186         * top/maint.mk (.re-defmac): Remove rule.
21187         (gl_trap_): Remove definition.
21188         (sc_prohibit_always-defined_macros): Rewrite not to create and
21189         depend on a temporary file.  Instead, depend on GNU grep's ability
21190         to read a list of regular expressions from stdin when given "-f -".
21191
21192 2010-05-09  Bruno Haible  <bruno@clisp.org>
21193
21194         Update to GNU gettext 0.18, part 1.
21195         * m4/gettext.m4: Update to GNU gettext 0.18.
21196         * m4/intl.m4: Likewise.
21197         * m4/po.m4: Likewise.
21198         * modules/gettext (Files): Add m4/fcntl-o.m4.
21199         (configure.ac): Require gettext infrastructure from version 0.18.
21200
21201 2010-05-09  Jim Meyering  <meyering@redhat.com>
21202
21203         init.sh: enable MALLOC_PERTURB_
21204         * tests/init.sh: Enable glibc's malloc-perturbing option.
21205
21206         maint.mk: improve sc_cross_check_PATH_usage_in_tests
21207         With my recent change in init.sh from the two-line form:
21208             -#   : ${srcdir=.}
21209             -#   . "$srcdir/init.sh"; path_prepend_ .
21210             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
21211         I noticed that using the one-line form would cause this test
21212         to fail with a false-positive, or to stop working altogether,
21213         depending on whether help-version changed or all the tests did.
21214         * top/maint.mk (_hv_regex): Remove this definition.
21215         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
21216         (_hv_regex_strong): Use a stronger regex to check for conformance.
21217         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
21218         Give a separate diagnostic for lack of conforming use.
21219
21220         maint.mk: prohibit definition of symbols defined by gnulib
21221         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
21222         definition of symbols defined by gnulib.
21223
21224 2010-05-09  Bruno Haible  <bruno@clisp.org>
21225
21226         acl: Avoid test failure on Cygwin-hosted mingw.
21227         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
21228
21229 2010-05-09  Bruno Haible  <bruno@clisp.org>
21230
21231         error: Use system's fcntl function.
21232         * lib/error.c (fcntl): Undefine.
21233
21234 2010-05-09  Jim Meyering  <meyering@redhat.com>
21235
21236         verify: adjust formatting to be more consistent
21237         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
21238         argument-list '('s, and after one comma.
21239
21240 2010-05-09  Bruno Haible  <bruno@clisp.org>
21241
21242         error: More reliable output on mingw.
21243         * lib/error.c: Include <windows.h>.
21244         (is_open): New function.
21245         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
21246         defined.
21247
21248 2010-05-09  Bruno Haible  <bruno@clisp.org>
21249
21250         vasnprintf: Fix syntax errors in libintl build on mingw.
21251         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
21252         pad_ourselves and prec_ourselves after use.
21253
21254 2010-05-08  Bruno Haible  <bruno@clisp.org>
21255
21256         * lib/config.charset: Update comments for Cygwin 1.7.
21257         * lib/localcharset.c: Likewise.
21258
21259 2010-05-07  Jim Meyering  <meyering@redhat.com>
21260
21261         init.sh: improve comments
21262         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
21263         . "${srcdir=.}/init.sh"; path_prepend_ .
21264         Add a note about path_prepend_ and the alternative of using
21265         TESTS_ENVIRONMENT.
21266
21267 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
21268
21269         exclude: Unescape hashed patterns in wildcard mode.
21270         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
21271         to the hash list.
21272         * tests/test-exclude8.sh: New test case.
21273         * modules/exclude-tests: Add new test.
21274
21275 2010-05-05  Eric Blake  <eblake@redhat.com>
21276
21277         verify: automate tests
21278         * modules/verify-tests: New module.
21279         * tests/test-verify.sh: New file.
21280         * tests/test-verify.c: Guard each negative test with a unique id.
21281         Also avoid warning about unused left hand of comma expressions.
21282
21283 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
21284
21285         Further improvements to verify.h, suggested by Eric Blake.
21286         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
21287         the GL_* versions, to avoid collision with OpenGL.
21288         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
21289         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
21290         than testing merely whether it's defined.
21291
21292         Modify verify.h to pacify gcc -Wredundant_decls.
21293         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
21294         These use the prefix "GL_" since they're likely to be useful elsewhere.
21295         We may need to break them out into a different .h file.
21296         (__COUNTER__): Define to 0 if the compiler doesn't support it.
21297         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
21298         of verify_function__.
21299
21300 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
21301
21302         Tests for module pwrite.
21303         * modules/pwrite-tests: New file.
21304         * tests/test-pwrite.sh: New file.
21305         * tests/test-pwrite.c: New file.
21306
21307         New module pwrite.
21308         * lib/unistd.in.h (pwrite): New declaration.
21309         * lib/pwrite.c: New file, from glibc with modifications.
21310         * m4/pwrite.m4: New file.
21311         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
21312         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
21313         REPLACE_PWRITE.
21314         * modules/pwrite: New file.
21315         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
21316         REPLACE_PWRITE.
21317         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
21318         * doc/posix-functions/pwrite.texi: Mention the new module.
21319
21320 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
21321
21322         pread: Update documentation.
21323         * doc/posix-functions/pread.texi: Mention the 'pread' module.
21324
21325 2010-05-04  Eric Blake  <eblake@redhat.com>
21326
21327         docs: update cygwin progress
21328         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
21329         this bug.
21330         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
21331         Added in cygwin 1.7.2.
21332         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
21333         Likewise.
21334         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
21335         Likewise.
21336         * doc/glibc-functions/dup3.texi (dup3): Likewise.
21337         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
21338         * doc/glibc-functions/accept4.texi (accept4): Likewise.
21339         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
21340         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
21341         Mention nproc module.
21342         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
21343         bug in cygwin 1.7.5 addition.
21344         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
21345         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
21346         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
21347         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
21348         1.7.5.
21349         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
21350         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
21351         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
21352         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
21353         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
21354         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
21355         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
21356         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
21357         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
21358         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
21359         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
21360         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
21361         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
21362         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
21363         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
21364         Likewise.
21365         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
21366         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
21367         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
21368         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
21369         Likewise.
21370         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
21371         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
21372         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
21373         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
21374         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
21375         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
21376         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
21377         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
21378         Likewise.
21379         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
21380         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
21381         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
21382         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
21383         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
21384         Likewise.
21385         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
21386         Likewise.
21387         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
21388         Likewise.
21389         * doc/glibc-functions/xdrrec_endofrecord.texi
21390         (xdrrec_endofrecord): Likewise.
21391         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
21392         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
21393         Likewise.
21394         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
21395         Likewise.
21396
21397 2010-05-04  Jim Meyering  <meyering@redhat.com>
21398
21399         gendocs.sh: make its "-s FILE" option more useful
21400         * build-aux/gendocs.sh: When honoring the -s FILE option, update
21401         $PACKAGE to reflect the probably-different basename of "FILE".
21402
21403 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
21404
21405         bootstrap: don't ignore download_po_files failure
21406         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
21407         failure.
21408
21409 2010-05-03  Jim Meyering  <meyering@redhat.com>
21410
21411         maint.mk: allow to pass options to gendocs.sh
21412         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
21413         (gendocs_options_): New overridable variable.
21414
21415         gnu-web-doc-update: don't ignore configure or build failure
21416         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
21417
21418         announce-gen: backslash-escape '@'s in --help output
21419         * build-aux/announce-gen: Fix syntax errors.
21420
21421         maint.mk, announce-gen: allow project-specific announcement mail headers
21422         * top/maint.mk (translation_project_): Define default.
21423         (announcement_Cc_, announcement_mail_headers_): Likewise.
21424         (announcement): Invoke announce-gen with new --mail-headers option.
21425         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
21426
21427         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
21428         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
21429         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
21430         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
21431         line in the "err2" output file when running "make check" in verbose
21432         mode (i.e., with set -x enabled).
21433
21434 2010-05-03  Bruno Haible  <bruno@clisp.org>
21435
21436         wctob: Fix for weird platforms.
21437         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
21438         argument value.
21439
21440 2010-05-03  Jim Meyering  <meyering@redhat.com>
21441
21442         maint.mk: prohibit unwarranted use of <strings.h>
21443         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
21444         strings.h in a file that does not also use strcasecmp, strncasecmp,
21445         ffs or ffsll.
21446
21447         maint.mk: remove obsolete comments
21448         * top/maint.mk: Remove stale, commented-out rules.
21449
21450 2010-05-02  Bruno Haible  <bruno@clisp.org>
21451
21452         wcwidth: Declare also when it's aliased.
21453         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
21454         macro.
21455
21456 2010-05-02  Bruno Haible  <bruno@clisp.org>
21457
21458         Fix regression from 2010-04-25.
21459         * gnulib-tool (func_modules_transitive_closure): Check the status of
21460         all modules, not only of the tests that are of the form foo-tests where
21461         foo is a module.
21462
21463 2010-05-02  Bruno Haible  <bruno@clisp.org>
21464
21465         wctob: Work around nasty Cygwin 1.7.2 bug.
21466         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
21467         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
21468
21469 2010-05-01  Bruno Haible  <bruno@clisp.org>
21470
21471         fpurge: Sharper test.
21472         * tests/test-fpurge.c (main): Add one more ftell check.
21473         * modules/fpurge-tests (Depends-on): Add ftell.
21474         Suggested by Eric Blake.
21475
21476 2010-05-01  Bruno Haible  <bruno@clisp.org>
21477
21478         ftello: Another test.
21479         * tests/test-ftello3.c: New file.
21480         * modules/ftello-tests (Files): Add it.
21481         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
21482         MOSTLYCLEANFILES.
21483
21484         ftell: Another test.
21485         * tests/test-ftell3.c: New file.
21486         * modules/ftell-tests (Files): Add it.
21487         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
21488         MOSTLYCLEANFILES.
21489
21490 2010-05-01  Bruno Haible  <bruno@clisp.org>
21491
21492         ftell, ftello: Work around Solaris bug.
21493         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
21494         * lib/ftello.c: Include stdio-impl.h.
21495         (ftello): On Solaris, when _IOWRT is set, compute the result without
21496         looking at _IOREAD.
21497         * modules/ftello (Files): Add lib/stdio-impl.h.
21498         * doc/posix-functions/ftell.texi: Mention Solaris bug.
21499         * doc/posix-functions/ftello.texi: Likewise.
21500         Reported by Eric Blake.
21501
21502 2010-05-01  Bruno Haible  <bruno@clisp.org>
21503
21504         freading: Adapt to special meaning of _IOREAD flag on Solaris.
21505         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
21506         the _IOWRT flag is also set.
21507
21508 2010-05-01  Bruno Haible  <bruno@clisp.org>
21509
21510         Fix doc about a HP-UX stdio bug.
21511         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
21512         * doc/posix-functions/ftello.texi: Likewise.
21513
21514 2010-05-01  Bruno Haible  <bruno@clisp.org>
21515
21516         lseek test: Fix failure on Solaris.
21517         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
21518         output.
21519
21520 2010-04-30  Jim Meyering  <meyering@redhat.com>
21521
21522         bootstrap: don't ignore failure to generate po*/Makevars
21523         * build-aux/bootstrap (with_gettext): Don't ignore failure
21524         to create po/Makevars or runtime-po/Makevars.
21525
21526 2010-04-29  Eric Blake  <eblake@redhat.com>
21527
21528         headers: relax license to LGPLv2+
21529         * modules/fcntl-h (License): Relax license.
21530         * modules/getopt-posix (License): Likewise.
21531         * modules/locale (License): Likewise.
21532         * modules/math (License): Likewise.
21533         * modules/pty (License): Likewise.
21534         * modules/sched (License): Likewise.
21535         * modules/search (License): Likewise.
21536         * modules/spawn (License): Likewise.
21537         * modules/stdarg (License): Likewise.
21538         * modules/sysexits (License): Likewise.
21539
21540 2010-04-29  Jim Meyering  <meyering@redhat.com>
21541
21542         inttypes: relax license to LGPLv2+
21543         * modules/inttypes (License): Relax license.
21544
21545 2010-04-29  Simon Josefsson  <simon@josefsson.org>
21546
21547         * top/maint.mk (indent): Run twice to produce idempotent results.
21548
21549 2010-04-28  Bruno Haible  <bruno@clisp.org>
21550
21551         getdate: Generate getdate.c in the source directory.
21552         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
21553         MOSTLYCLEANFILES.
21554         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
21555
21556 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
21557
21558         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
21559         is not declared as a const *; avoid warnings in that case.
21560
21561 2010-04-28  Eric Blake  <eblake@redhat.com>
21562
21563         canonicalize-lgpl: avoid compiler warning
21564         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
21565         declaration' / 'extraneous semicolon' warning with some compilers.
21566         Reported by Andreas Gruenbacher.
21567
21568 2010-04-28  Jim Meyering  <meyering@redhat.com>
21569
21570         init.sh: ensure a more reliable exit status when exiting via trap
21571         * tests/init.sh (setup_): Don't rely on $? in signal handler.
21572         Inspired by patches from Dmitry V. Levin.
21573         Also trap on signal 3 (SIGQUIT).
21574
21575 2010-04-27  Bruno Haible  <bruno@clisp.org>
21576
21577         Update doc about utimes().
21578         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
21579         'utimens' module.
21580         Reported by Andreas Gruenbacher <agruen@suse.de>.
21581
21582 2010-04-27  Eric Blake  <eblake@redhat.com>
21583
21584         full-read, full-write: relax license
21585         * modules/full-read (License): Drop to LGPLv2+.
21586         * modules/full-write (License): Likewise.
21587         * modules/safe-read (License): Likewise.
21588         * modules/safe-write (License): Likewise.
21589
21590         pthread: mention library for linking
21591         * modules/pthread (Link): Mention $(LIB_PTHREAD).
21592
21593 2010-04-27  Jim Meyering  <meyering@redhat.com>
21594
21595         maint.mk: fix a bug introduced in last change
21596         * top/maint.mk (gl_assured_headers_): Now that all names are on
21597         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
21598         is not anchored to end of word, it should be adequate.
21599
21600         maint.mk: avoid side-effect in latest syntax-check
21601         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
21602         to run commands via $(shell...), and hence to incur cost only when
21603         the new rule is actually run.
21604
21605         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
21606         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
21607         and use that to create a regexp used to detect all #if HAVE_..._H uses.
21608         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
21609         (gl_assured_headers_, az_, AZ_): Define.
21610         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
21611
21612 2010-04-26  Jim Meyering  <jim@meyering.net>
21613             Bruno Haible  <bruno@clisp.org>
21614
21615         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
21616         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
21617         Prompted by an exchange with Gilles Espinasse.
21618
21619 2010-04-26  Jim Meyering  <meyering@redhat.com>
21620
21621         git-version-gen: aesthetic tweak
21622         * build-aux/git-version-gen: Use "$nl" rather than a literal,
21623         so that the command remains on a single line.
21624
21625 2010-04-26  Eric Blake  <eblake@redhat.com>
21626
21627         git-version-gen: allow use on EBCDIC hosts
21628         * build-aux/git-version-gen (dirty): Use literal rather than tying
21629         ourselves to ascii.
21630         Reported by Steve Goetze.
21631
21632 2010-04-25  Bruno Haible  <bruno@clisp.org>
21633
21634         netdb: Add support for GNULIB_POSIXCHECK.
21635         * lib/netdb.in.h: Include warn-on-use.h.
21636         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
21637         functions are used when GNULIB_POSIXCHECK is defined and the
21638         getaddrinfo module is not in use.
21639         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
21640         freeaddrinfo, gai_strerror, getnameinfo are declared.
21641         * modules/netdb (Depends-on): Add warn-on-use.
21642         (Makefile.am): Include warn-on-use.h in netdb.h.
21643
21644 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
21645
21646         build: avoid "make check" failure without .git/ directory
21647         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
21648         there is no .git/ directory.
21649
21650 2010-04-25  Bruno Haible  <bruno@clisp.org>
21651
21652         ptsname: Fix misuse of ttyname_r.
21653         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
21654         of errno.
21655
21656 2010-04-25  Bruno Haible  <bruno@clisp.org>
21657
21658         ttyname_r: Make it work on Solaris 10.
21659         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
21660         if the system function has the POSIX declaration. Test whether the
21661         function fails if the buffer is less than 128 bytes large.
21662         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
21663         system's ttyname_r function. Provide a reasonably large buffer.
21664         * modules/ttyname_r (Depends-on): Add extensions.
21665         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
21666
21667 2010-04-25  Bruno Haible  <bruno@clisp.org>
21668
21669         Use the 'extensions' module for some more functions on Solaris.
21670         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
21671         module.
21672         * doc/posix-functions/ctime_r.texi: Likewise.
21673         * doc/posix-functions/getgrgid_r.texi: Likewise.
21674         * doc/posix-functions/getgrnam_r.texi: Likewise.
21675         * doc/posix-functions/getpwnam_r.texi: Likewise.
21676         * doc/posix-functions/getpwuid_r.texi: Likewise.
21677         * doc/posix-functions/readdir_r.texi: Likewise.
21678         * doc/posix-functions/sigwait.texi: Likewise.
21679         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
21680         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
21681
21682 2010-04-25  Bruno Haible  <bruno@clisp.org>
21683
21684         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
21685         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
21686         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
21687         * lib/ttyname_r.c: Include <limits.h>.
21688         (ttyname_r): Define using the system's ttyname_r function, if it exists
21689         and not on Solaris.
21690         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
21691         set.
21692         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
21693         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
21694         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
21695         Reported by Simon Josefsson.
21696
21697 2010-04-25  Bruno Haible  <bruno@clisp.org>
21698
21699         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
21700         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
21701         * doc/posix-functions/ctime_r.texi: Likewise.
21702         * doc/posix-functions/getgrgid_r.texi: Likewise.
21703         * doc/posix-functions/getgrnam_r.texi: Likewise.
21704         * doc/posix-functions/getlogin_r.texi: Likewise.
21705         * doc/posix-functions/getpwnam_r.texi: Likewise.
21706         * doc/posix-functions/getpwuid_r.texi: Likewise.
21707         * doc/posix-functions/readdir_r.texi: Likewise.
21708         * doc/posix-functions/sigwait.texi: Likewise.
21709         * doc/posix-functions/ttyname_r.texi: Likewise.
21710         Reported by Simon Josefsson.
21711
21712 2010-04-25  Bruno Haible  <bruno@clisp.org>
21713
21714         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
21715         * gnulib-tool (func_usage): Document that --with-*-tests options apply
21716         also to --create-testdir.
21717         (func_acceptable): Don't consider the status of *-tests modules here.
21718         (func_modules_transitive_closure): Consider it here, before including a
21719         test module.
21720         (func_import, func_create_testdir): Set inc_all_direct_tests,
21721         inc_all_indirect_tests.
21722         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
21723         --create-testdir and --create-megatestdir.
21724
21725 2010-04-25  Bruno Haible  <bruno@clisp.org>
21726
21727         gnulib-tool: Add --without-*-tests options.
21728         * gnulib-tool (func_usage): Document the --without-*-tests options.
21729         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
21730         excl_unportable_tests): New variables.
21731         Fail if they are specified with --import or --update.
21732         (func_acceptable): Respect the excl_*_tests variables.
21733         (func_import): Set the excl_*_tests variables to empty.
21734
21735 2010-04-25  Simon Josefsson  <simon@josefsson.org>
21736             Bruno Haible  <bruno@clisp.org>
21737
21738         Work around a MacOS X 10.4 bug with openpty.
21739         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
21740         * tests/test-openpty.c (main): Close the master side explicitly.
21741
21742 2010-04-25  Bruno Haible  <bruno@clisp.org>
21743
21744         strnlen: Fix a C++ test error on MacOS X and Solaris.
21745         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
21746         the function is not declared.
21747         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
21748         Simon Josefsson.
21749
21750 2010-04-24  Bruno Haible  <bruno@clisp.org>
21751
21752         Avoid a gcc warning.
21753         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
21754         of correct type for %08lx directive.
21755         Reported by Eric Blake.
21756
21757 2010-04-24  Bruno Haible  <bruno@clisp.org>
21758
21759         vasnprintf: Correct errno value in case of out-of-memory.
21760         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
21761         or sprintf. Use the errno value from SNPRINTF or sprintf.
21762         Reported by Ian Beckwith <ianb@erislabs.net>.
21763
21764 2010-04-24  Bruno Haible  <bruno@clisp.org>
21765
21766         ansi-c++-opt: Find correct compiler when cross-compiling.
21767         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
21768         AC_CHECK_PROGS.
21769         Reported by Simon Josefsson.
21770
21771 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
21772
21773         vc-list-files: Add support for subversion
21774         * build-aux/vc-list-files: Use "svn list" to generate the list of
21775         files controlled by subversion.
21776
21777 2010-04-23  Jim Meyering  <meyering@redhat.com>
21778
21779         vc-list-files tests: convert to use init.sh
21780         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
21781         path_prepend_.
21782         Use Exit, not exit.
21783         Use skip_ rather than open coding it.
21784         Remove trap set-up and compare definitions.
21785         * tests/test-vc-list-files-git.sh: Likewise.
21786         * modules/vc-list-files-tests (Files): Add tests/init.sh.
21787
21788 2010-04-22  Simon Josefsson  <simon@josefsson.org>
21789
21790         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
21791         backup files.
21792
21793 2010-04-21  Simon Josefsson  <simon@josefsson.org>
21794
21795         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
21796
21797 2010-04-20  Eric Blake  <eblake@redhat.com>
21798
21799         tests: be robust to ignored SIGPIPE
21800         * tests/test-select-in.sh: Consume all output.
21801         * tests/test-lseek.sh: Check correct exit status, while avoiding
21802         EPIPE.
21803
21804 2010-04-20  Simon Josefsson  <simon@josefsson.org>
21805             Bruno Haible  <bruno@clisp.org>
21806
21807         visibility: Don't use -fvisibility if it leads to a warning.
21808         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
21809         yes, don't pretend that visibility works if it leads to a warning.
21810         Reported by Mike Gran <spk121@yahoo.com>.
21811
21812 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
21813
21814         * build-aux/bootstrap: Use "git -h" for testing for supported options
21815         instead of "git --help".  The short-form option only shows a summary,
21816         and doesn't layout the full man page.  Grep for the full option name
21817         in the summary, too.
21818
21819 2010-04-19  Bruno Haible  <bruno@clisp.org>
21820
21821         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
21822         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
21823         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
21824         mention of RELOCATABLE_STRIP.
21825         Reported by Sylvain Beucler <beuc@beuc.net>.
21826
21827 2010-04-19  Bruno Haible  <bruno@clisp.org>
21828
21829         * lib/diffseq.h: Fix typo in comment.
21830         Reported by Eric Blake.
21831
21832 2010-04-19  Bruno Haible  <bruno@clisp.org>
21833
21834         ioctl: Move autoconf macro to a .m4 file.
21835         * m4/ioctl.m4: New file, extracted from modules/ioctl.
21836         * modules/ioctl (Files): Add it.
21837         (configure.ac): Simply invoke gl_FUNC_IOCTL.
21838         Reported by Ian Beckwith <ianb@erislabs.net>.
21839
21840 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
21841             Bruno Haible  <bruno@clisp.org>
21842
21843         diffseq: Accommodate use-case with abstract arrays.
21844         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
21845         is not defined.
21846         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
21847         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
21848
21849 2010-04-18  Bruno Haible  <bruno@clisp.org>
21850
21851         * doc/posix-headers/stdbool.texi: More precise wording.
21852
21853 2010-04-17  Jim Meyering  <meyering@redhat.com>
21854
21855         maint.mk: use gnu-style indentation in an embedded perl script
21856         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
21857         Rename variable: s/two/last_two_bytes/
21858
21859 2010-04-16  Eric Blake  <eblake@redhat.com>
21860
21861         test-stdbool: skip test that fails with Solaris CC
21862         * tests/test-stdbool.c (f): Skip test that causes compilation
21863         error under buggy C++ compiler.
21864         * lib/stdbool.in.h: Document the limitation.
21865         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
21866
21867         setenv: allow compilation with C++
21868         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
21869         register keyword.
21870
21871         stdint: allow test to pass with C++
21872         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
21873
21874         getopt: allow compilation with C++
21875         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
21876         struct.
21877         * lib/getopt.c (_getopt_internal_r): Use correct type.
21878         Reported by Dagobert Michelson, via Joel E. Denny.
21879
21880 2010-04-16  Bruno Haible  <bruno@clisp.org>
21881
21882         Override netdb.h always.
21883         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
21884         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
21885         Reported by Ludovic Courtès <ludo@gnu.org>.
21886
21887 2010-04-15  Bruno Haible  <bruno@clisp.org>
21888
21889         openpty: Fix mistake from 2010-03-21.
21890         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
21891         Reported by Simon Josefsson.
21892
21893 2010-04-15  Eric Blake  <eblake@redhat.com>
21894
21895         test-forkpty: fix expected signature
21896         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
21897         Reported by Simon Josefsson.
21898
21899 2010-04-15  Jim Meyering  <meyering@redhat.com>
21900
21901         maint.mk: texinfo_suffix_re_: correct the default regexp
21902         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
21903
21904         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
21905         make it configurable via texinfo_suffix_re_.
21906
21907 2010-04-14  Eric Blake  <eblake@redhat.com>
21908
21909         strtok_r: relax license to LGPLv2+
21910         * modules/strtok_r (License): Relax license.
21911         Reported by Matthias Bolte.
21912
21913 2010-04-14  Simon Josefsson  <simon@josefsson.org>
21914
21915         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
21916         version 1.4.4 by default instead of requiring the libgcrypt
21917         version used during build.  This makes it possible to use the
21918         application with older but still binary compatible libgcrypt
21919         versions.
21920
21921 2010-04-13  Eric Blake  <eblake@redhat.com>
21922
21923         getopt-gnu: match recent glibc fixes and posix ruling
21924         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
21925         '+' handling, when requesting extensions.
21926         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
21927         'W;' handling.
21928         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
21929         * doc/posix-functions/getopt.texi (getopt): Document this.
21930         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
21931         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
21932         Likewise.
21933
21934         getopt: merge bug fixes from glibc
21935         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
21936         diagnostics.  Honor '+:' correctly.  Reject ';'.
21937
21938         getopt-posix: detect MacOS bug
21939         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
21940         optind when missing a required argument.
21941         * doc/posix-functions/getopt.texi (getopt): Document the bug.
21942         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
21943         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
21944         Likewise.
21945
21946         getopt-posix: avoid spurious failure on Solaris
21947         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
21948         an indicator that setting optind=1 is sufficient for reset.
21949
21950         getopt-posix: avoid spurious failure on FreeBSD
21951         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
21952         in POSIX mode, since the m4 test uses it.
21953
21954         gnulib-tool: silence warning on BSD sh
21955         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
21956
21957 2010-04-13  Jim Meyering  <meyering@redhat.com>
21958
21959         doc: users.txt: GNU patch now uses gnulib
21960         * users.txt: Add patch.
21961
21962 2010-04-12  Jim Meyering  <meyering@redhat.com>
21963
21964         maint.mk: generate more concise timing data for syntax-check rules
21965         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
21966         " done" from each line that reports a syntax-check test duration.
21967
21968 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
21969
21970         git-version-gen: use "git update-index..." rather than "git status"
21971         * build-aux/git-version-gen: Use git update-index --refresh, not
21972         "git status".  With some versions of git, "git status" would fail
21973         to update the index and result in an unwarranted "-dirty" suffix.
21974
21975 2010-04-11  Jim Meyering  <meyering@redhat.com>
21976
21977         openat: correct formatting (no semantic change)
21978         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
21979         Suggested by Bruno Haible.
21980
21981 2010-04-11  Bruno Haible  <bruno@clisp.org>
21982
21983         Stricter declaration checking in testdirs.
21984         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
21985         If for_tests is true, augment AM_CPPFLAGS to define
21986         GNULIB_STRICT_CHECKING.
21987         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
21988         GNULIB_STRICT_CHECKING is defined, verify that the function is
21989         declared.
21990
21991 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
21992             Bruno Haible  <bruno@clisp.org>
21993
21994         libunistring: Improve configure output.
21995         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
21996         Don't say "consider installing GNU libunistring" when checking again
21997         with libiconv.
21998
21999 2010-04-11  Bruno Haible  <bruno@clisp.org>
22000
22001         libunistring: Correct value of $LTLIBUNISTRING.
22002         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
22003         correct the value of $LTLIBUNISTRING.
22004
22005 2010-04-11  Bruno Haible  <bruno@clisp.org>
22006
22007         havelib: Add static libraries to LIBS in the right order.
22008         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
22009         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
22010
22011 2010-04-11  Bruno Haible  <bruno@clisp.org>
22012
22013         libunistring: Detect libunistring also when it depends on libiconv.
22014         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
22015         the second AC_LIB_HAVE_LINKFLAGS invocation.
22016
22017 2010-04-11  James Youngman  <jay@gnu.org>
22018
22019         close-stream: declare local scalars to be "const"
22020         * lib/close-stream.c (close_stream): Make boolean variables const
22021         to document the fact that we set but do not change them.
22022
22023 2010-04-11  Bruno Haible  <bruno@clisp.org>
22024
22025         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
22026
22027 2010-04-11  Jim Meyering  <meyering@redhat.com>
22028
22029         maint.mk: don't include dist-check.mk
22030         * top/maint.mk: Remove bogus include directive.
22031
22032         maint.mk: improve empty-line-at-EOF check
22033         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
22034         solution, rather than tail+Perl-based one.  The latter would read
22035         a few kilobytes from the end of each file, and did not handle empty
22036         files properly.
22037
22038         maint.mk: print the elapsed time for each syntax-check rule
22039         * top/maint.mk (sc_m_rules_): Save start time in a file.
22040         (sc_z_rules_): New rules: remove temp file and print elapsed time.
22041         (local-check): Interpose the .z rules
22042
22043 2010-04-11  Jim Meyering  <meyering@redhat.com>
22044
22045         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
22046         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
22047         empty file with one that ends in an empty line.
22048
22049 2010-04-10  Bruno Haible  <bruno@clisp.org>
22050
22051         mkdir: Make it work on mingw64.
22052         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
22053         * lib/mkdir.c: Update comment.
22054         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
22055
22056 2010-04-10  Bruno Haible  <bruno@clisp.org>
22057
22058         Don't override improved macro from newer autoconf.
22059         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
22060         autoconf >= 2.62.
22061         Reported by Joel E. Denny <jdenny@clemson.edu>.
22062
22063 2010-04-10  Jim Meyering  <meyering@redhat.com>
22064
22065         maint.mk: new syntax-check rule: prohibit empty lines at end of file
22066         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
22067
22068         maint.mk: correct a diagnostic
22069         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
22070         in diagnostic; now use $prohibit.
22071
22072 2010-04-10  Bruno Haible  <address@hidden>
22073
22074         fchownat: Fix a C++ test error on Solaris 8.
22075         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
22076         the function does not exist.
22077
22078 2010-04-10  Bruno Haible  <bruno@clisp.org>
22079
22080         vasnprintf: Add more tests.
22081         * tests/test-vasnprintf-posix.c: Include <errno.h>.
22082         (test_function): Test converting an invalid wide string.
22083
22084         vasnprintf: Correct handling of unconvertible wide string arguments.
22085         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
22086         VASNPRINTF.
22087         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
22088         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
22089         smaller than the expected maximum need for the directive. Set errno to
22090         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
22091         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
22092         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
22093         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
22094         * modules/vasnprintf (Files): Add m4/printf.m4.
22095         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
22096
22097 2010-04-10  Bruno Haible  <bruno@clisp.org>
22098
22099         vasnprintf: Fix crash in %ls directive.
22100         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
22101         string is passed as argument to %ls, with no precision and no width.
22102         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
22103
22104 2010-04-10  Bruno Haible  <bruno@clisp.org>
22105
22106         vasnprintf: Fix multiple test failures on mingw.
22107         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
22108         _snprintf, or snwprintf, not _snwprintf.
22109
22110 2010-04-10  Bruno Haible  <bruno@clisp.org>
22111
22112         write: Fix a C++ test error on mingw.
22113         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
22114
22115 2010-04-10  Bruno Haible  <bruno@clisp.org>
22116
22117         vasnprintf test: Reduce code duplication.
22118         * tests/test-vasnprintf.c (test_function): New function, extracted from
22119         test_vasnprintf.
22120         (test_vasnprintf, test_asnprintf): Invoke it.
22121
22122 2010-04-10  Bruno Haible  <bruno@clisp.org>
22123
22124         strnlen: Fix warning in C++ mode on MacOS X.
22125         * lib/string.in.h (strnlen): Use the modern idiom.
22126         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
22127         defining strnlen as a macro already in <config.h>.
22128         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
22129         REPLACE_STRNLEN.
22130         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
22131         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
22132
22133 2010-04-08  James Youngman  <jay@gnu.org>
22134
22135         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
22136         the example.
22137
22138 2010-04-09  Jim Meyering  <meyering@redhat.com>
22139
22140         maint.mk: print better diagnostic when there is no $(_hv_file)
22141         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
22142         announce that when $(_hv_file) (aka help-version) does not exist.
22143
22144         init.sh: run tr in the "C" locale to avoid multibyte interpretation
22145         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
22146         not try to interpret its random input bytes.  Jarno Rajahalme reported
22147         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
22148         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
22149         (mktempd_): Likewise, just in case.
22150
22151         ftruncate: add two years to projected module removal date: 2012
22152         * m4/ftruncate.m4: Adjust comments.
22153
22154         ftruncate: mark module as obsolete; even MinGW provides it, now
22155         * modules/ftruncate (Status): Obsolete.
22156         (Notice): Say that.
22157         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
22158         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
22159
22160 2010-04-08  Bruno Haible  <bruno@clisp.org>
22161
22162         Fix side effects from tests-related modules.
22163         * modules/dprintf-posix (Comment): New section.
22164         * modules/fprintf-posix (Comment): Likewise.
22165         * modules/obstack-printf-posix (Comment): Likewise.
22166         * modules/printf-posix (Comment): Likewise.
22167         * modules/snprintf-posix (Comment): Likewise.
22168         * modules/sprintf-posix (Comment): Likewise.
22169         * modules/vasnprintf-posix (Comment): Likewise.
22170         * modules/vasprintf-posix (Comment): Likewise.
22171         * modules/vdprintf-posix (Comment): Likewise.
22172         * modules/vfprintf-posix (Comment): Likewise.
22173         * modules/vprintf-posix (Comment): Likewise.
22174         * modules/vsnprintf-posix (Comment): Likewise.
22175         * modules/vsprintf-posix (Comment): Likewise.
22176         * modules/xprintf-posix (Comment): Likewise.
22177         * modules/xvasprintf-posix (Comment): Likewise.
22178         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
22179         * modules/floorf-tests (Depends-on): Likewise.
22180         * modules/round-tests (Depends-on): Likewise.
22181         * modules/roundf-tests (Depends-on): Likewise.
22182         * modules/trunc-tests (Depends-on): Likewise.
22183         * modules/truncf-tests (Depends-on): Likewise.
22184         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
22185         'fprintf-posix' module is not present.
22186         * tests/test-floorf2.c (check): Likewise.
22187         * tests/test-trunc2.c (check): Likewise.
22188         * tests/test-truncf2.c (check): Likewise.
22189         * tests/test-round2.c (equal): Likewise.
22190         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
22191
22192 2010-04-07  Karl Berry  <karl@gnu.org>
22193
22194         * config/srclist.txt,
22195         * config/srclistvars.sh,
22196         * config/srclist-update: doc fixes.
22197
22198 2010-04-07  Jim Meyering  <meyering@redhat.com>
22199
22200         maint.mk: add a PATH crosschecking syntax-check rule
22201         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
22202         Useful if you use a test like the one in help-version (coreutils,
22203         diffutils, grep, gzip) that ensures $(VERSION) matches what is
22204         printed by prog --version.
22205
22206 2010-04-06  Bruno Haible  <bruno@clisp.org>
22207
22208         Fix link error on mingw.
22209         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
22210         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
22211
22212 2010-04-06  Bruno Haible  <bruno@clisp.org>
22213
22214         Assume rmdir exists.
22215         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
22216
22217 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
22218
22219         doc: update users.txt
22220         * users.txt: Add gcal.
22221
22222 2010-04-06  Jim Meyering  <meyering@redhat.com>
22223
22224         init.sh: simply unset TMPDIR rather than risking env -i
22225         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
22226         although it probably works fine on all Unix-based systems, some
22227         systems (Cygwin?) cannot tolerate a totally cleared environment.
22228         Suggestion from Eric Blake.
22229
22230 2010-04-06  Jim Meyering  <meyering@redhat.com>
22231
22232         init.sh: portability fix: use env's POSIX-specified -i option not -u
22233         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
22234         than unportable env -u.  Solaris 5.11's env lacks support for -u.
22235
22236 2010-04-05  Bruno Haible  <bruno@clisp.org>
22237
22238         btowc: Work around Cygwin 1.7.2 bug.
22239         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
22240         does not map NUL to 0.
22241         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
22242
22243 2010-04-05  Bruno Haible  <bruno@clisp.org>
22244
22245         Make the multithread modules work on Cygwin 1.7.2.
22246         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
22247         imported symbols can be declared weak, so that it returns "no" on
22248         Cygwin 1.7.2.
22249
22250 2010-04-05  Bruno Haible  <bruno@clisp.org>
22251
22252         Use the module 'strncat'.
22253         * modules/unistr/u8-strncat (Depends-on): Add strncat.
22254
22255         Tests for module 'strncat'.
22256         * modules/strncat-tests: New file.
22257         * tests/test-strncat.c: New file.
22258
22259         New module 'strncat'.
22260         * lib/string.in.h (strncat): New declaration.
22261         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
22262         * m4/strncat.m4: New file, based on m4/memchr.m4.
22263         * modules/strncat: New file.
22264         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
22265         is declared.
22266         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
22267         REPLACE_STRNCAT.
22268         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
22269         REPLACE_STRNCAT.
22270         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
22271         module.
22272         * tests/test-string-c++.cc: Check signature of strncat.
22273
22274 2010-04-05  Jim Meyering  <meyering@redhat.com>
22275
22276         xstrtoumax-tests: convert to use init.sh
22277         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
22278         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
22279         Use Exit, not exit.
22280         Remove uses of $EXEEXT and "./" to run a program in the current dir.
22281
22282         xstrtoimax-tests: convert to use init.sh
22283         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
22284         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
22285         Use Exit, not exit.
22286         Remove uses of $EXEEXT and "./" to run a program in the current dir.
22287
22288 2010-04-05  Bruno Haible  <bruno@clisp.org>
22289
22290         sys_socket: Avoid #define replacements in C++ mode.
22291         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
22292         warning to the function if possible, rather than #defining the symbol
22293         to a dysfunctional alias.
22294
22295 2010-04-05  Bruno Haible  <bruno@clisp.org>
22296
22297         fseeko: Fix C++ test error on mingw.
22298         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
22299         gl_FUNC_FSEEKO.
22300         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
22301         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
22302         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
22303         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
22304
22305 2010-04-05  Bruno Haible  <bruno@clisp.org>
22306
22307         duplocale: Improve test output.
22308         * tests/test-duplocale.c (main): Print reason for skipped test.
22309
22310 2010-04-05  Bruno Haible  <bruno@clisp.org>
22311
22312         Assume rmdir exists.
22313         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
22314         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
22315
22316 2010-04-05  Bruno Haible  <bruno@clisp.org>
22317
22318         Fix link error on Solaris 8 with cc.
22319         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
22320
22321 2010-04-05  Bruno Haible  <bruno@clisp.org>
22322
22323         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
22324         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
22325
22326 2010-04-05  Bruno Haible  <bruno@clisp.org>
22327
22328         vasprintf: Update documentation.
22329         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
22330
22331 2010-04-05  Bruno Haible  <bruno@clisp.org>
22332
22333         ptsname: Improve test.
22334         * tests/test-ptsname.c (main): Also try the various master names of BSD
22335         systems.
22336
22337 2010-04-05  Bruno Haible  <bruno@clisp.org>
22338
22339         memchr: Avoid a possible C++ test error.
22340         * lib/string.in.h (memchr): Provide declaration if function is missing.
22341         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
22342         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
22343         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
22344         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
22345
22346 2010-04-05  Bruno Haible  <bruno@clisp.org>
22347
22348         strtok_r: Improve idiom.
22349         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
22350         AC_LIBOBJ is used.
22351
22352 2010-04-05  Bruno Haible  <bruno@clisp.org>
22353
22354         strdup: Improve idiom.
22355         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
22356         AC_LIBOBJ is used.
22357         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
22358         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
22359         when AC_LIBOBJ is used.
22360
22361 2010-04-05  Bruno Haible  <bruno@clisp.org>
22362
22363         mbsinit, mbrtowc, wcrtomb: Improve idioms.
22364         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
22365         don't set REPLACE_MBSINIT to 1.
22366         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
22367         don't set REPLACE_MBRTOWC to 1.
22368         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
22369         exist, don't set REPLACE_MBSRTOWCS to 1.
22370         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
22371         exist, don't set REPLACE_MBSNRTOWCS to 1.
22372         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
22373         don't set REPLACE_WCRTOMB to 1.
22374         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
22375         exist, don't set REPLACE_WCSRTOMBS to 1.
22376         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
22377         exist, don't set REPLACE_WCSNRTOMBS to 1.
22378
22379 2010-04-05  Bruno Haible  <bruno@clisp.org>
22380
22381         ldexpl: Improve idiom.
22382         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
22383         make sure to set HAVE_DECL_LDEXPL to 0.
22384
22385 2010-04-05  Jim Meyering  <meyering@redhat.com>
22386
22387         xstrtol-tests: convert to use init.sh
22388         * modules/xstrtol-tests (Files): Add tests/init.sh.
22389         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
22390         Use Exit, not exit.
22391         Remove uses of $EXEEXT and "./" to run a program in the current dir.
22392
22393         atexit-tests: convert to use init.sh
22394         * modules/atexit-tests (Files): Add tests/init.sh.
22395         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
22396         Use Exit, not exit.
22397         Remove uses of $EXEEXT and "./" to run a program in the current dir.
22398
22399         init.sh: fix typo
22400         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
22401
22402         init.sh: make it easier for a test script to write to the tty, ...
22403         when using automake's parallel-tests mode.
22404         * tests/init.sh (stderr_fileno_): Define overridable variable.
22405         (warn_): New function, to use it.
22406         (fail_, skip_, framework_failure_): Use warn_.
22407
22408 2010-04-04  Bruno Haible  <bruno@clisp.org>
22409
22410         btowc: Avoid warning.
22411         * lib/btowc.c: Include <stdlib.h>.
22412         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
22413
22414 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
22415             Bruno Haible  <bruno@clisp.org>
22416
22417         wchar: Port to NetBSD 1.5.
22418         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
22419         * lib/wctype.in.h (WEOF): Likewise.
22420
22421 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
22422             Bruno Haible  <bruno@clisp.org>
22423
22424         Port extended stdio to NetBSD 1.5.
22425         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
22426         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
22427         older.
22428
22429 2010-04-04  Bruno Haible  <bruno@clisp.org>
22430
22431         string: Remove unused substitution.
22432         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
22433         HAVE_DECL_STRERROR.
22434         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
22435
22436 2010-04-04  Bruno Haible  <bruno@clisp.org>
22437
22438         strtod: Avoid a possible C++ test error.
22439         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
22440         set REPLACE_STRTOD.
22441
22442 2010-04-04  Bruno Haible  <bruno@clisp.org>
22443
22444         strerror: Update documentation.
22445         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
22446
22447 2010-04-04  Bruno Haible  <bruno@clisp.org>
22448
22449         stdio: Fix some C++ test errors on Solaris 8 with GCC.
22450         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
22451         _GL_CXXALIAS_SYS_CAST.
22452
22453 2010-04-04  Bruno Haible  <bruno@clisp.org>
22454
22455         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
22456         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
22457         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
22458         REPLACE_FREXPL to 1.
22459         * doc/posix-functions/frexpl.texi: Update documentation.
22460
22461 2010-04-04  Bruno Haible  <bruno@clisp.org>
22462
22463         math: Fix some C++ test errors on Solaris 8 and Cygwin.
22464         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
22465
22466 2010-04-04  Bruno Haible  <bruno@clisp.org>
22467
22468         Implement nanosleep for native Windows.
22469         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
22470
22471 2010-04-04  Bruno Haible  <bruno@clisp.org>
22472
22473         math: Fix some C++ test errors on Solaris 8.
22474         * lib/math.in.h (truncf, trunc): Use simpler idiom.
22475
22476 2010-04-04  Bruno Haible  <bruno@clisp.org>
22477
22478         math: Fix some C++ test errors on Cygwin.
22479         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
22480         truncl): Provide declaration if the system does not have it.
22481         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
22482         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
22483         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
22484         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
22485         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
22486         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
22487         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
22488         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
22489         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
22490         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
22491         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
22492         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
22493         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
22494         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
22495         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
22496         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
22497         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
22498         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
22499         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
22500         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
22501         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
22502         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
22503
22504 2010-04-04  Bruno Haible  <bruno@clisp.org>
22505
22506         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
22507         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
22508         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
22509         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
22510         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
22511         * m4/isinf.m4 (gl_ISINF): Likewise.
22512         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
22513
22514 2010-04-04  Bruno Haible  <bruno@clisp.org>
22515
22516         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
22517         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
22518
22519 2010-04-04  Bruno Haible  <bruno@clisp.org>
22520
22521         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
22522         * modules/tmpfile (configure.ac): Update.
22523
22524         tmpfile: Fix C++ test error on mingw.
22525         * lib/stdio.in.h (tmpfile): New declaration.
22526         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
22527         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
22528         * modules/tmpfile (Depends-on): Add stdio.
22529         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
22530         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
22531         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
22532         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
22533         REPLACE_TMPFILE.
22534         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
22535
22536 2010-04-04  Bruno Haible  <bruno@clisp.org>
22537
22538         ioctl: Fix C++ test error on mingw.
22539         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
22540         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
22541         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
22542
22543 2010-04-03  Bruno Haible  <bruno@clisp.org>
22544
22545         wcwidth: Fix C++ test error on mingw.
22546         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
22547         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
22548         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
22549
22550 2010-04-03  Bruno Haible  <bruno@clisp.org>
22551
22552         nanosleep: Fix C++ test error on mingw.
22553         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
22554         * lib/time.in.h (nanosleep): Use modern idiom.
22555         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
22556         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
22557         REPLACE_NANOSLEEP to 1.
22558         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
22559         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
22560
22561 2010-04-03  Bruno Haible  <bruno@clisp.org>
22562
22563         strptime: Fix C++ test error on mingw.
22564         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
22565         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
22566         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
22567         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
22568         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
22569         not REPLACE_STRPTIME.
22570         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
22571         REPLACE_STRPTIME.
22572
22573 2010-04-03  Bruno Haible  <bruno@clisp.org>
22574
22575         timegm: Fix C++ test error on mingw.
22576         * lib/time.in.h (timegm): Use modern idiom.
22577         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
22578         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
22579         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
22580         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
22581
22582 2010-04-03  Bruno Haible  <bruno@clisp.org>
22583
22584         timegm: Assume declaration if function exists.
22585         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
22586         if it exists. Don't clobber ac_cv_func_timegm.
22587
22588 2010-04-03  Bruno Haible  <bruno@clisp.org>
22589
22590         time_r: Fix C++ test error on mingw.
22591         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
22592         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
22593         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
22594         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
22595         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
22596
22597 2010-04-03  Bruno Haible  <bruno@clisp.org>
22598
22599         time_r: Minor updates.
22600         * modules/time_r (Description): Mention the provided functions.
22601         * lib/time_r.c: Don't include <string.h>.
22602         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
22603         * doc/posix-functions/localtime_r.texi: Likewise.
22604
22605 2010-04-03  Bruno Haible  <bruno@clisp.org>
22606
22607         time: Fix regression introduced on 2010-03-08.
22608         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
22609         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
22610
22611 2010-04-03  Jim Meyering  <meyering@redhat.com>
22612
22613         maint.mk: don't silently disable project-specific syntax-check rules
22614         * top/maint.mk (_prohibit_regexp): Define, to help people realize
22615         that they need to convert their project-specific syntax-check rules
22616         to use the new _sc_search_regexp.
22617
22618 2010-04-03  Bruno Haible  <bruno@clisp.org>
22619
22620         fchdir: Fix regression introduced on 2010-03-08.
22621         * lib/unistd.in.h (fchdir): Fix declaration.
22622         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
22623         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
22624         REPLACE_FCHDIR.
22625         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
22626         REPLACE_FCHDIR.
22627
22628 2010-04-03  Bruno Haible  <bruno@clisp.org>
22629
22630         getpagesize: Fix C++ test error on mingw.
22631         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
22632         system does not declare the function.
22633         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
22634         declared.
22635         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22636         HAVE_DECL_GETPAGESIZE.
22637         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
22638
22639 2010-04-03  Bruno Haible  <bruno@clisp.org>
22640
22641         stdio: Make C++ tests work on mingw.
22642         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
22643         does not declare the function.
22644
22645 2010-04-03  Bruno Haible  <bruno@clisp.org>
22646
22647         ftello: Fix C++ test error on mingw.
22648         * lib/stdio.in.h (ftello): Use modern idiom.
22649         * lib/ftello.c (ftello): Renamed from rpl_ftello.
22650         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
22651         is missing and that it needs to be replaced.
22652         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
22653         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
22654         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
22655
22656 2010-04-03  Bruno Haible  <bruno@clisp.org>
22657
22658         fseeko: Fix C++ test error on mingw.
22659         * lib/stdio.in.h (fseeko): Use modern idiom.
22660         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
22661         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
22662         is missing and that it needs to be replaced.
22663         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
22664         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
22665         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
22666
22667 2010-04-03  Bruno Haible  <bruno@clisp.org>
22668
22669         mkstemp: Fix C++ test error on mingw.
22670         * lib/stdlib.in.h (mkstemp): Use modern idiom.
22671         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
22672         function is missing and that it needs to be replaced.
22673         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
22674         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
22675
22676 2010-04-03  Bruno Haible  <bruno@clisp.org>
22677
22678         stpncpy: Fix C++ test error on mingw.
22679         * lib/string.in.h (stpncpy): Use modern idiom.
22680         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
22681         function is missing and that it needs to be replaced.
22682         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
22683         REPLACE_STPNCPY.
22684         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
22685
22686 2010-04-03  Bruno Haible  <bruno@clisp.org>
22687
22688         sys_stat: Fix C++ test error on mingw.
22689         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
22690         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
22691
22692 2010-04-03  Bruno Haible  <bruno@clisp.org>
22693
22694         pty: Update doc.
22695         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
22696
22697 2010-04-03  Bruno Haible  <bruno@clisp.org>
22698
22699         unistd: Fix C++ test error on mingw.
22700         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
22701
22702 2010-04-03  Bruno Haible  <bruno@clisp.org>
22703
22704         Update doc regarding mingw.
22705         * doc/glibc-functions/openpty.texi: Update regarding mingw.
22706         * doc/glibc-functions/login_tty.texi: Likewise.
22707         * doc/glibc-functions/forkpty.texi: Likewise.
22708
22709 2010-04-03  Bruno Haible  <bruno@clisp.org>
22710
22711         stdlib: Avoid compilation failure of c-strtold on mingw.
22712         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
22713
22714 2010-04-03  Bruno Haible  <bruno@clisp.org>
22715
22716         locale: Make C++ tests work on Cygwin and mingw.
22717         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
22718         cannot provide the function.
22719         Reported by Simon Josefsson.
22720
22721 2010-04-03  Bruno Haible  <bruno@clisp.org>
22722
22723         localename: Port to MacOS X 10.6.
22724         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
22725         memory layout of the locales in MacOS X 10.6 as well.
22726         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
22727
22728 2010-04-02  Bruno Haible  <bruno@clisp.org>
22729
22730         gnulib-tool: Ensure that long-running tests are executed last.
22731         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
22732         running tests after the one for the other tests.
22733
22734 2010-04-02  Bruno Haible  <bruno@clisp.org>
22735
22736         gnulib-tool: Ensure the tests in the main directory are executed first.
22737         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
22738         start with the current directory.
22739
22740 2010-04-02  Bruno Haible  <bruno@clisp.org>
22741
22742         Tests for module 'havelib', moved here from GNU gettext.
22743         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
22744         modifications.
22745         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
22746         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
22747         with modifications.
22748         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
22749         modifications.
22750         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
22751         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
22752         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
22753         with modifications.
22754         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
22755         with modifications.
22756         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
22757         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
22758         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
22759         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
22760         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
22761         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
22762         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
22763         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
22764         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
22765         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
22766         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
22767         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
22768         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
22769         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
22770         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
22771         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
22772         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
22773         with modifications.
22774         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
22775         with modifications.
22776         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
22777         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
22778         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
22779         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
22780         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
22781         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
22782         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
22783         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
22784         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
22785         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
22786         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
22787         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
22788         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
22789         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
22790         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
22791         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
22792         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
22793         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
22794         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
22795         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
22796         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
22797         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
22798         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
22799         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
22800         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
22801         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
22802         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
22803         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
22804         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
22805         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
22806         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
22807         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
22808         * tests/havelib/rpathx/rpathx.c: New file, from
22809         gettext/autoconf-lib-link.
22810         * tests/havelib/rpathx/Makefile.am: New file, from
22811         gettext/autoconf-lib-link.
22812         * tests/havelib/rpathx/configure.ac: New file, from
22813         gettext/autoconf-lib-link with modifications.
22814         * tests/havelib/rpathy/rpathy.c: New file, from
22815         gettext/autoconf-lib-link.
22816         * tests/havelib/rpathy/Makefile.am: New file, from
22817         gettext/autoconf-lib-link.
22818         * tests/havelib/rpathy/configure.ac: New file, from
22819         gettext/autoconf-lib-link with modifications.
22820         * tests/havelib/rpathz/rpathz.c: New file, from
22821         gettext/autoconf-lib-link.
22822         * tests/havelib/rpathz/Makefile.am: New file, from
22823         gettext/autoconf-lib-link.
22824         * tests/havelib/rpathz/configure.ac: New file, from
22825         gettext/autoconf-lib-link with modifications.
22826         * tests/havelib/rpathlx/usex.c: New file, from
22827         gettext/autoconf-lib-link.
22828         * tests/havelib/rpathlx/Makefile.am: New file, from
22829         gettext/autoconf-lib-link.
22830         * tests/havelib/rpathlx/configure.ac: New file, from
22831         gettext/autoconf-lib-link with modifications.
22832         * tests/havelib/rpathly/usey.c: New file, from
22833         gettext/autoconf-lib-link.
22834         * tests/havelib/rpathly/Makefile.am: New file, from
22835         gettext/autoconf-lib-link.
22836         * tests/havelib/rpathly/configure.ac: New file, from
22837         gettext/autoconf-lib-link with modifications.
22838         * tests/havelib/rpathlz/usez.c: New file, from
22839         gettext/autoconf-lib-link.
22840         * tests/havelib/rpathlz/Makefile.am: New file, from
22841         gettext/autoconf-lib-link.
22842         * tests/havelib/rpathlz/configure.ac: New file, from
22843         gettext/autoconf-lib-link with modifications.
22844         * tests/havelib/rpathlyx/usey.c: New file, from
22845         gettext/autoconf-lib-link.
22846         * tests/havelib/rpathlyx/Makefile.am: New file, from
22847         gettext/autoconf-lib-link.
22848         * tests/havelib/rpathlyx/configure.ac: New file, from
22849         gettext/autoconf-lib-link with modifications.
22850         * tests/havelib/rpathlzyx/usez.c: New file, from
22851         gettext/autoconf-lib-link.
22852         * tests/havelib/rpathlzyx/Makefile.am: New file, from
22853         gettext/autoconf-lib-link.
22854         * tests/havelib/rpathlzyx/configure.ac: New file, from
22855         gettext/autoconf-lib-link with modifications.
22856         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
22857         with modifications.
22858
22859 2010-04-02  Bruno Haible  <bruno@clisp.org>
22860
22861         gnulib-tool: Create distributed built sources also for the tests.
22862         * gnulib-tool (func_create_testdir): Also generate distributed built
22863         sources in the tests directory.
22864
22865 2010-04-02  Bruno Haible  <bruno@clisp.org>
22866
22867         gnulib-tool: Obey user's environment variables.
22868         * gnulib-tool (func_create_testdir): When creating built sources,
22869         respect the environment variables for autoconf, automake, etc. given by
22870         the user.
22871
22872 2010-04-02  Bruno Haible  <bruno@clisp.org>
22873
22874         gnulib-tool: Provide the value of --m4-base to modules.
22875         * gnulib-tool (func_import, func_create_testdir): Emit a definition
22876         of gl_m4_base.
22877
22878 2010-04-02  Eric Blake  <eblake@redhat.com>
22879
22880         maint.mk: fix some fallout
22881         * NEWS: Document the incompatible change, and its effect on cfg.mk.
22882         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
22883
22884 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
22885
22886         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
22887         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
22888         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
22889         (sc_cast_of_x_alloc_return_value): Likewise.
22890         (sc_cast_of_alloca_return_value): Likewise.
22891         (sc_space_tab): Likewise.
22892         (sc_prohibit_atoi_atof): Likewise.
22893         (sc_prohibit_magic_number_exit): Likewise.
22894         (sc_error_exit_success): Likewise.
22895         (sc_file_system): Likewise.
22896         (sc_prohibit_have_config_h): Likewise.
22897         (sc_require_config_h): Likewise.
22898         (sc_prohibit_HAVE_MBRTOWC): Likewise.
22899         (sc_obsolete_symbols): Likewise.
22900         (sc_changelog): Likewise.
22901         (sc_program_name): Likewise.
22902         (sc_the_the): Likewise.
22903         (sc_trailing_blank): Likewise.
22904         (sc_two_space_separator_in_usage): Likewise.
22905         (sc_useless_cpp_parens): Likewise.
22906         (sc_GPL_version): Likewise.
22907         (sc_GFDL_version): Likewise.
22908         (sc_texinfo_acronym): Likewise.
22909         (sc_prohibit_cvs_keyword): Likewise.
22910         (sc_prohibit_stat_st_blocks): Likewise.
22911         (sc_prohibit_S_IS_definition): Likewise.
22912         (sc_redundant_const): Likewise.
22913         (sc_makefile_TAB_only_indentation): Likewise.
22914         (sc_m4_quote_check): Likewise.
22915         (sc_makefile_path_separator_check): Likewise.
22916         (sc_copyright_check): Likewise.
22917         (sc_Wundef_boolean): Likewise.
22918         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
22919
22920         maint.mk: match 0 or more whitespace-before-function-call '('
22921         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
22922         that have zero or two-and-more spaces between the function name
22923         and the open parenthesis.
22924         (sc_error_message_warn_fatal): Likewise.
22925         (sc_error_message_uppercase): Likewise.
22926         (sc_error_message_period): Likewise.
22927
22928 2010-03-31  Eric Blake  <eblake@redhat.com>
22929
22930         maint.mk: check for [ as well as test
22931         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
22932         Based on a libvirt report by Matthias Bolte.
22933
22934         gnumakefile: don't squelch _version output
22935         * top/GNUmakefile (_version): Create one-shot dependency rather
22936         than using $(shell) when version must be regenerated.
22937         (_autoreconf): Run verbosely, by default.
22938
22939         sys_time: avoid compiler warnings
22940         * lib/sys_time.in.h (includes): Ensure gcc pragma is
22941         unconditional, fixing regression from 2010-03-29.
22942         Reported by Simon Josefsson.
22943
22944 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
22945
22946         maint.mk: s/_header_without_use/_sc_header_without_use/
22947         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
22948         (sc_prohibit_assert_without_use): Use the new name.
22949         (sc_prohibit_close_stream_without_use): Likewise.
22950         (sc_prohibit_getopt_without_use): Likewise.
22951         (sc_prohibit_quotearg_without_use): Likewise.
22952         (sc_prohibit_quote_without_use): Likewise.
22953         (sc_prohibit_long_options_without_use): Likewise.
22954         (sc_prohibit_inttostr_without_use): Likewise.
22955         (sc_prohibit_ignore_value_without_use): Likewise.
22956         (sc_prohibit_error_without_use): Likewise.
22957         (sc_prohibit_xalloc_without_use): Likewise.
22958         (sc_prohibit_hash_without_use): Likewise.
22959         (sc_prohibit_hash_pjw_without_use): Likewise.
22960         (sc_prohibit_safe_read_without_use): Likewise.
22961         (sc_prohibit_argmatch_without_use): Likewise.
22962         (sc_prohibit_canonicalize_without_use): Likewise.
22963         (sc_prohibit_root_dev_ino_without_use): Likewise.
22964         (sc_prohibit_openat_without_use): Likewise.
22965         (sc_prohibit_c_ctype_without_use): Likewise.
22966         (sc_prohibit_signal_without_use): Likewise.
22967         (sc_prohibit_intprops_without_use): Likewise.
22968
22969 2010-03-30  Eric Blake  <eblake@redhat.com>
22970
22971         maint: improve module indicators
22972         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
22973         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
22974         columns, and avoid extra macro expansion.
22975
22976         fdopendir: work around FreeBSD bug
22977         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
22978         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
22979         * modules/dirent (Makefile.am): Substitute it.
22980         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
22981         declaration.
22982         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
22983         fix.
22984         Reported by Christian Weisgerber <naddy@mips.inka.de>.
22985
22986 2010-03-29  Bruno Haible  <bruno@clisp.org>
22987
22988         Emit #pragma system_header after the inclusion guard, not before.
22989         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
22990         guard that spans the entire file, not before. This enables an
22991         optimization in GCC's preprocessor.
22992         * lib/ctype.in.h: Likewise.
22993         * lib/dirent.in.h: Likewise.
22994         * lib/errno.in.h: Likewise.
22995         * lib/float.in.h: Likewise.
22996         * lib/getopt.in.h: Likewise.
22997         * lib/iconv.in.h: Likewise.
22998         * lib/langinfo.in.h: Likewise.
22999         * lib/locale.in.h: Likewise.
23000         * lib/math.in.h: Likewise.
23001         * lib/netdb.in.h: Likewise.
23002         * lib/netinet_in.in.h: Likewise.
23003         * lib/pty.in.h: Likewise.
23004         * lib/sched.in.h: Likewise.
23005         * lib/se-selinux.in.h: Likewise.
23006         * lib/search.in.h: Likewise.
23007         * lib/spawn.in.h: Likewise.
23008         * lib/stdarg.in.h: Likewise.
23009         * lib/stdint.in.h: Likewise.
23010         * lib/string.in.h: Likewise.
23011         * lib/strings.in.h: Likewise.
23012         * lib/sys_file.in.h: Likewise.
23013         * lib/sys_ioctl.in.h: Likewise.
23014         * lib/sys_time.in.h: Likewise.
23015         * lib/sys_times.in.h: Likewise.
23016         * lib/sys_utsname.in.h: Likewise.
23017         * lib/sys_wait.in.h: Likewise.
23018         * lib/sysexits.in.h: Likewise.
23019         * lib/wctype.in.h: Likewise.
23020
23021 2010-03-28  James Youngman  <jay@gnu.org>
23022
23023         save-cwd: don't leak a file descriptor when the caller execs.
23024         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
23025         saved file descriptor.
23026         * modules/save-cwd (Depends-on): Depend on cloexec.
23027
23028 2010-03-29  Bruno Haible  <bruno@clisp.org>
23029
23030         Remove vestiges of fts-lgpl module.
23031         * lib/fts_.h: Assume GNULIB_FTS is 1.
23032         * lib/fts.c: Likewise.
23033         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
23034
23035 2010-03-28  Bruno Haible  <bruno@clisp.org>
23036
23037         Fix definition of tests witness macro.
23038         * gnulib-tool (func_import): Fix definition of witness macro.
23039
23040 2010-03-28  Bruno Haible  <bruno@clisp.org>
23041
23042         Fix ioctl's protoype on glibc systems.
23043         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
23044         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
23045         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
23046         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
23047         signature. If not, arrange to replace the ioctl function.
23048         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
23049         REPLACE_IOCTL.
23050         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
23051         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
23052         Reported by Ludovic Courtès <ludo@gnu.org>.
23053
23054 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
23055
23056         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
23057         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
23058         made it so grep -r --include=GLOB* ... did not work.
23059
23060 2010-03-26  Jim Meyering  <meyering@redhat.com>
23061             Eric Blake  <eblake@redhat.com>
23062
23063         maint.mk: prohibit use of test's -o and -a operators
23064         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
23065
23066 2010-03-28  Bruno Haible  <bruno@clisp.org>
23067
23068         Remove unused GNULIB_XYZ macro definitions.
23069         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
23070         invocation.
23071
23072 2010-03-28  Bruno Haible  <bruno@clisp.org>
23073
23074         Mark privileged tests modules.
23075         * modules/idpriv-drop-tests (Status): New section.
23076         * modules/idpriv-droptemp-tests (Status): New section.
23077
23078 2010-03-28  Bruno Haible  <bruno@clisp.org>
23079
23080         Split C++ tests into separate tests modules.
23081         * modules/dirent-c++-tests: New file, extracted from
23082         modules/dirent-tests.
23083         * modules/dirent-tests: Depend on it.
23084         * modules/fcntl-h-c++-tests: New file, extracted from
23085         modules/fcntl-h-tests.
23086         * modules/fcntl-h-tests: Depend on it.
23087         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
23088         * modules/glob-tests: Depend on it.
23089         * modules/iconv-h-c++-tests: New file, extracted from
23090         modules/iconv-h-tests.
23091         * modules/iconv-h-tests: Depend on it.
23092         * modules/langinfo-c++-tests: New file, extracted from
23093         modules/langinfo-tests.
23094         * modules/langinfo-tests: Depend on it.
23095         * modules/locale-c++-tests: New file, extracted from
23096         modules/locale-tests.
23097         * modules/locale-tests: Depend on it.
23098         * modules/math-c++-tests: New file, extracted from modules/math-tests.
23099         * modules/math-tests: Depend on it.
23100         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
23101         * modules/pty-tests: Depend on it.
23102         * modules/search-c++-tests: New file, extracted from
23103         modules/search-tests.
23104         * modules/search-tests: Depend on it.
23105         * modules/signal-c++-tests: New file, extracted from
23106         modules/signal-tests.
23107         * modules/signal-tests: Depend on it.
23108         * modules/spawn-c++-tests: New file, extracted from
23109         modules/spawn-tests.
23110         * modules/spawn-tests: Depend on it.
23111         * modules/stdio-c++-tests: New file, extracted from
23112         modules/stdio-tests.
23113         * modules/stdio-tests: Depend on it.
23114         * modules/stdlib-c++-tests: New file, extracted from
23115         modules/stdlib-tests.
23116         * modules/stdlib-tests: Depend on it.
23117         * modules/string-c++-tests: New file, extracted from
23118         modules/string-tests.
23119         * modules/string-tests: Depend on it.
23120         * modules/sys_ioctl-c++-tests: New file, extracted from
23121         modules/sys_ioctl-tests.
23122         * modules/sys_ioctl-tests: Depend on it.
23123         * modules/sys_select-c++-tests: New file, extracted from
23124         modules/sys_select-tests.
23125         * modules/sys_select-tests: Depend on it.
23126         * modules/sys_socket-c++-tests: New file, extracted from
23127         modules/sys_socket-tests.
23128         * modules/sys_socket-tests: Depend on it.
23129         * modules/sys_stat-c++-tests: New file, extracted from
23130         modules/sys_stat-tests.
23131         * modules/sys_stat-tests: Depend on it.
23132         * modules/sys_time-c++-tests: New file, extracted from
23133         modules/sys_time-tests.
23134         * modules/sys_time-tests: Depend on it.
23135         * modules/time-c++-tests: New file, extracted from modules/time-tests.
23136         * modules/time-tests: Depend on it.
23137         * modules/unistd-c++-tests: New file, extracted from
23138         modules/unistd-tests.
23139         * modules/unistd-tests: Depend on it.
23140         * modules/wchar-c++-tests: New file, extracted from
23141         modules/wchar-tests.
23142         * modules/wchar-tests: Depend on it.
23143         * modules/wctype-c++-tests: New file, extracted from
23144         modules/wctype-tests.
23145         * modules/wctype-tests: Depend on it.
23146         Reported by Simon Josefsson.
23147
23148 2010-03-28  Bruno Haible  <bruno@clisp.org>
23149
23150         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
23151         * gnulib-tool (func_exists_module): New function, extracted from
23152         func_verify_module.
23153         (func_verify_module): Use it.
23154         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
23155         'foo' only if 'foo' exists.
23156         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
23157         module.
23158
23159 2010-03-28  Bruno Haible  <bruno@clisp.org>
23160
23161         gnulib-tool: Add support for special categories of tests.
23162         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
23163         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
23164         (func_usage): Document them.
23165         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
23166         inc_unportable_tests, inc_all_tests): New variables.
23167         (func_acceptable): Consider these variables.
23168         (func_modules_transitive_closure): Make it work when the 'Status' field
23169         consists of multiple words.
23170         (func_import): Store and restore the values of inc_cxx_tests,
23171         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
23172         inc_all_tests in gnulib-comp.m4.
23173         (func_create_testdir): Set inc_all_tests to true.
23174         * doc/gnulib.texi (Extra tests modules): New section.
23175         Suggested by Jim Meyering.
23176
23177 2010-03-28  Bruno Haible  <bruno@clisp.org>
23178
23179         ansi-c++-opt: Allow turning off the C++ build by default.
23180         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
23181         gl_CXX_CHOICE_DEFAULT_NO is defined.
23182         Requested by Eric Blake.
23183
23184 2010-03-28  Bruno Haible  <bruno@clisp.org>
23185
23186         unistd: Avoid #define replacements in C++ mode.
23187         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
23188         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
23189         setsockopt, shutdown, select): In C++, attach a warning to the function
23190         if possible, rather than #defining the symbol to a dysfunctional alias.
23191         Reported by John W. Eaton <jwe@gnu.org>.
23192
23193 2010-03-28  Bruno Haible  <bruno@clisp.org>
23194
23195         Fix link errors on mingw.
23196         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
23197         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
23198         $(LIBSOCKET).
23199         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
23200         $(LIBSOCKET).
23201
23202 2010-03-28  Bruno Haible  <bruno@clisp.org>
23203             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23204
23205         lib-ignore: Determine different options for different compilers.
23206         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
23207         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
23208         Add comments.
23209         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
23210         * NEWS: Mention the change.
23211
23212 2010-03-27  Bruno Haible  <bruno@clisp.org>
23213
23214         Remove unused GNULIB_XYZ macro definitions.
23215         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
23216         * modules/fseek (configure.ac): Likewise.
23217         * modules/ioctl (configure.ac): Likewise.
23218         * modules/open (configure.ac): Likewise.
23219         * modules/stdlib-safer (configure.ac): Likewise.
23220
23221 2010-03-27  Bruno Haible  <bruno@clisp.org>
23222
23223         Add a remark about certain modules.
23224         * modules/malloc (Comment): New section.
23225         * modules/realloc (Comment): Likewise.
23226         * modules/sigpipe (Comment): Likewise.
23227
23228 2010-03-27  Bruno Haible  <bruno@clisp.org>
23229
23230         Resolve conflict between the two kinds of module indicators.
23231         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
23232         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
23233         * modules/canonicalize (configure.ac): Invoke
23234         gl_MODULE_INDICATOR_FOR_TESTS.
23235         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
23236         GNULIB_XYZ.
23237         * tests/test-dirent-c++.cc: Likewise.
23238         * tests/test-dirent-safer.c: Likewise.
23239         * tests/test-dup2.c: Likewise.
23240         * tests/test-fchdir.c: Likewise.
23241         * tests/test-fcntl-h-c++.cc: Likewise.
23242         * tests/test-getopt.c: Likewise.
23243         * tests/test-getopt.h: Likewise.
23244         * tests/test-langinfo-c++.cc: Likewise.
23245         * tests/test-locale-c++.cc: Likewise.
23246         * tests/test-math-c++.cc: Likewise.
23247         * tests/test-pty-c++.cc: Likewise.
23248         * tests/test-search-c++.cc: Likewise.
23249         * tests/test-signal-c++.cc: Likewise.
23250         * tests/test-spawn-c++.cc: Likewise.
23251         * tests/test-stdio-c++.cc: Likewise.
23252         * tests/test-stdlib-c++.cc: Likewise.
23253         * tests/test-string-c++.cc: Likewise.
23254         * tests/test-sys_ioctl-c++.cc: Likewise.
23255         * tests/test-sys_select-c++.cc: Likewise.
23256         * tests/test-sys_socket-c++.cc: Likewise.
23257         * tests/test-sys_stat-c++.cc: Likewise.
23258         * tests/test-sys_time-c++.cc: Likewise.
23259         * tests/test-time-c++.cc: Likewise.
23260         * tests/test-unistd-c++.cc: Likewise.
23261         * tests/test-wchar-c++.cc: Likewise.
23262         * tests/uninorm/test-u8-nfc.c: Likewise.
23263         * tests/uninorm/test-u8-nfd.c: Likewise.
23264         * tests/uninorm/test-u8-nfkc.c: Likewise.
23265         * tests/uninorm/test-u8-nfkd.c: Likewise.
23266         * tests/uninorm/test-u16-nfc.c: Likewise.
23267         * tests/uninorm/test-u16-nfd.c: Likewise.
23268         * tests/uninorm/test-u16-nfkc.c: Likewise.
23269         * tests/uninorm/test-u16-nfkd.c: Likewise.
23270         * tests/uninorm/test-u32-nfc.c: Likewise.
23271         * tests/uninorm/test-u32-nfc-big.c: Likewise.
23272         * tests/uninorm/test-u32-nfd.c: Likewise.
23273         * tests/uninorm/test-u32-nfd-big.c: Likewise.
23274         * tests/uninorm/test-u32-nfkc.c: Likewise.
23275         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
23276         * tests/uninorm/test-u32-nfkd.c: Likewise.
23277         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
23278         * tests/uninorm/test-u32-normalize-big.c: Likewise.
23279
23280 2010-03-27  Bruno Haible  <bruno@clisp.org>
23281
23282         Distinguish two kinds of module indicators.
23283         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
23284         gl_MODULE_INDICATOR.
23285         (gl_MODULE_INDICATOR): New macro.
23286         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
23287         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
23288         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
23289         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
23290         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
23291         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
23292         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
23293         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
23294         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
23295         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
23296         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
23297         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
23298         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
23299         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
23300         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
23301         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
23302         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
23303         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
23304         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
23305         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
23306         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
23307         * modules/cloexec (configure.ac): Likewise.
23308         * modules/getopt-gnu (configure.ac): Likewise.
23309         * modules/uninorm/u8-normalize (configure.ac): Likewise.
23310         * modules/uninorm/u16-normalize (configure.ac): Likewise.
23311         * modules/uninorm/u32-normalize (configure.ac): Likewise.
23312         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
23313
23314 2010-03-27  Bruno Haible  <bruno@clisp.org>
23315
23316         New module description field 'Comment'.
23317         * gnulib-tool: New option --extract-comment.
23318         (func_usage): Document it.
23319         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
23320         (func_get_comment): New function.
23321         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
23322
23323 2010-03-27  Bruno Haible  <bruno@clisp.org>
23324
23325         Addendum to 2010-02-07 commit.
23326         * gnulib-tool (func_usage): Document --extract-applicability option.
23327
23328 2010-03-27  Bruno Haible  <bruno@clisp.org>
23329
23330         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
23331         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
23332         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
23333         rather than link errors.
23334
23335 2010-03-27  Bruno Haible  <bruno@clisp.org>
23336
23337         Avoid side effects from tests-related modules on the compilation of lib.
23338         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
23339         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
23340         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
23341         parameter. Emit into AM_CPPFLAGS a definition of the designated C
23342         macro.
23343         (func_import): Define a witness macro. Assign it a value that depends
23344         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
23345         tests-related modules.
23346         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
23347         Reported by Jim Meyering.
23348
23349 2010-03-27  Bruno Haible  <bruno@clisp.org>
23350
23351         Factorize common .m4 code.
23352         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
23353         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
23354         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
23355         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
23356         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
23357         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
23358         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
23359         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
23360         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
23361         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
23362         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
23363         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
23364         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
23365         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
23366         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
23367         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
23368         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
23369         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
23370         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
23371         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
23372         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
23373         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
23374         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
23375         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
23376         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
23377         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
23378         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
23379         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
23380         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
23381         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
23382         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
23383         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
23384
23385 2010-03-27  Bruno Haible  <bruno@clisp.org>
23386
23387         Fix a compilation error on Cygwin with g++ >= 4.3.
23388         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
23389         if it is undefined or if we alias it to chmod.
23390         (lstat): Don't warn about the use of this function if it is undefined
23391         or if we alias it to stat.
23392         Reported by Simon Josefsson.
23393
23394 2010-03-27  Bruno Haible  <bruno@clisp.org>
23395
23396         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
23397         * modules/getlogin (configure.ac): Update.
23398
23399         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
23400         * modules/getlogin_r (configure.ac): Update.
23401
23402         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
23403         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
23404         * modules/inet_ntop (configure.ac): Update.
23405
23406         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
23407         * modules/inet_pton (configure.ac): Update.
23408
23409         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
23410         * modules/mbslen (configure.ac): Update.
23411
23412         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
23413         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
23414         * modules/forkpty (configure.ac): Update.
23415         * modules/openpty (configure.ac): Update.
23416
23417 2010-03-26  Simon Josefsson  <simon@josefsson.org>
23418
23419         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
23420         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
23421
23422 2010-03-25  Eric Blake  <eblake@redhat.com>
23423
23424         maint: use pragma consistently across replacement headers
23425         * lib/ctype.in.h (system_header): Hoist for consistent placement.
23426         * lib/dirent.in.h (system_header): Likewise.
23427         * lib/errno.in.h (system_header): Likewise.
23428         * lib/float.in.h (system_header): Likewise.
23429         * lib/getopt.in.h (system_header): Likewise.
23430         * lib/iconv.in.h (system_header): Likewise.
23431         * lib/inttypes.in.h (system_header): Likewise.
23432         * lib/langinfo.in.h (system_header): Likewise.
23433         * lib/locale.in.h (system_header): Likewise.
23434         * lib/math.in.h (system_header): Likewise.
23435         * lib/netdb.in.h (system_header): Likewise.
23436         * lib/netinet_in.in.h (system_header): Likewise.
23437         * lib/pty.in.h (system_header): Likewise.
23438         * lib/sched.in.h (system_header): Likewise.
23439         * lib/se-selinux.in.h (system_header): Likewise.
23440         * lib/search.in.h (system_header): Likewise.
23441         * lib/spawn.in.h (system_header): Likewise.
23442         * lib/stdarg.in.h (system_header): Likewise.
23443         * lib/stdint.in.h (system_header): Likewise.
23444         * lib/string.in.h (system_header): Likewise.
23445         * lib/strings.in.h (system_header): Likewise.
23446         * lib/sys_file.in.h (system_header): Likewise.
23447         * lib/sys_ioctl.in.h (system_header): Likewise.
23448         * lib/sys_socket.in.h (system_header): Likewise.
23449         * lib/sys_times.in.h (system_header): Likewise.
23450         * lib/sys_utsname.in.h (system_header): Likewise.
23451         * lib/sys_wait.in.h (system_header): Likewise.
23452         * lib/sysexits.in.h (system_header): Likewise.
23453         * lib/unistd.in.h (system_header): Likewise.
23454         * lib/wctype.in.h (system_header): Likewise.
23455
23456         arpa/inet: fix mingw compilation warning
23457         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
23458         Reported by Matthew Bolte.
23459
23460 2010-03-25  Bruno Haible  <bruno@clisp.org>
23461
23462         Avoid collision between gnulib wrapper and libintl wrapper.
23463         * lib/printf.c (printf): Don't define if a printf wrapper is already
23464         defined in intl/printf.c.
23465         Reported by Michel Boaventura <michel@michelboaventura.com>.
23466
23467 2010-03-25  Bruno Haible  <bruno@clisp.org>
23468
23469         Use ANSI C.
23470         * lib/readutmp.h (getutent): Provide ANSI C prototype.
23471
23472 2010-03-25  Bruno Haible  <bruno@clisp.org>
23473
23474         Minor formatting changes.
23475         * lib/acosl.c: Insert space before function argument list.
23476         * lib/argz.c: Likewise.
23477         * lib/asinl.c: Likewise.
23478         * lib/expl.c: Likewise.
23479         * lib/gen-uni-tables.c: Likewise.
23480         * lib/gettext.h: Likewise.
23481         * lib/glthread/lock.h: Likewise.
23482         * lib/tanl.c: Likewise.
23483         * lib/uniname/uniname.c: Likewise.
23484         * tests/test-idpriv-drop.c: Likewise.
23485         * tests/test-idpriv-droptemp.c: Likewise.
23486         * tests/test-lock.c: Likewise.
23487         * tests/test-tls.c: Likewise.
23488         * lib/argp-help.c: Insert space before function-like macro argument
23489         list.
23490         * lib/memcmp.c: Likewise.
23491         * tests/test-base64.c: Likewise.
23492         * lib/localename.c: Insert space before sizeof's argument list.
23493         * lib/safe-alloc.h: Likewise.
23494         * lib/file-set.h: Insert space before macro argument list.
23495         * tests/test-argp.c: Likewise.
23496         * lib/argp-namefrob.h: Insert space before function parameter list.
23497         * lib/getaddrinfo.c: Likewise.
23498         * lib/netdb.in.h: Likewise.
23499         * lib/parse-duration.h: Likewise.
23500         * lib/parse-duration.c: Likewise.
23501         * lib/poll.c: Likewise.
23502         * lib/select.c: Likewise.
23503         * lib/trim.h: Likewise.
23504         * tests/test-usleep.c: Likewise.
23505         * lib/ldexpl.c: Insert space before function parameter list and before
23506         function argument list.
23507         * lib/logl.c: Likewise.
23508         * lib/sqrtl.c: Likewise.
23509         * lib/trim.c: Likewise.
23510         * lib/cosl.c: Use GNU style indentation. Insert space before function
23511         argument list.
23512         * lib/sinl.c: Likewise.
23513         * lib/tsearch.c: Insert space after 'for'.
23514         Reported by Jim Meyering.
23515
23516 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
23517
23518         * maint.mk (sc_Wundef_boolean): Check for the presence of the
23519         config header before grepping, as it's not present before
23520         autoreconf/configure are run.  Reported by Simon Josefsson.
23521
23522 2010-03-23  Bruno Haible  <bruno@clisp.org>
23523
23524         pt_chown: Make it work with automake < 1.11.
23525         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
23526         Reported by Simon Josefsson.
23527
23528 2010-03-23  Bruno Haible  <bruno@clisp.org>
23529
23530         pt_chown: Don't depend on GPLed modules.
23531         * lib/pt_chown.c: Don't include idpriv.h.
23532         (main): Don't drop privileges.
23533         * modules/pt_chown (Depends-on): Remove idpriv-drop.
23534         Reported by Simon Josefsson.
23535
23536 2010-03-24  Simon Josefsson  <simon@josefsson.org>
23537
23538         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
23539         suggestions from karl@freefriends.org (Karl Berry).
23540
23541 2010-03-22  Eric Blake  <eblake@redhat.com>
23542
23543         gethostname: further tweaks
23544         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
23545         are overriding gethostname.
23546         Suggested by Bruno Haible.
23547
23548 2010-03-21  Bruno Haible  <bruno@clisp.org>
23549
23550         Fix comments.
23551         * lib/forkpty.c (rpl_forkpty): Fix comment.
23552         * lib/openpty.c (rpl_openpty): Likewise.
23553         Reported by Eric Blake.
23554
23555 2010-03-22  Eric Blake  <eblake@redhat.com>
23556
23557         gethostname: fix build on mingw
23558         * lib/unistd.in.h (includes): Work around fact that mingw
23559         <winsock2.h> re-includes <unistd.h>, by avoiding any
23560         redeclarations if we are being included by <winsock2.h>.
23561         Reported by Matthias Bolte.
23562
23563 2010-03-21  Bruno Haible  <bruno@clisp.org>
23564
23565         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
23566         * lib/forkpty.c (forkpty): New replacement function, from glibc with
23567         modifications.
23568         * lib/pty.in.h (forkpty): Update declaration. Add comments.
23569         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
23570         provide the replacement.
23571         * modules/forkpty (Depends-on): Add openpty, login_tty.
23572         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
23573         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
23574         * doc/glibc-functions/forkpty.texi: More supported platforms.
23575         * config/srclist.txt: Add forkpty.c (commented).
23576
23577 2010-03-21  Bruno Haible  <bruno@clisp.org>
23578
23579         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
23580         (Makefile.am): Verify that PTY_LIB is defined.
23581
23582         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
23583
23584 2010-03-21  Bruno Haible  <bruno@clisp.org>
23585
23586         Tests for module 'login_tty'.
23587         * modules/login_tty-tests: New file.
23588         * tests/test-login_tty.c: New file.
23589
23590         New module 'login_tty'.
23591         * lib/login_tty.c: New file.
23592         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
23593         * modules/login_tty: New file.
23594         * doc/glibc-functions/login_tty.texi: Mention the new module.
23595
23596 2010-03-21  Bruno Haible  <bruno@clisp.org>
23597
23598         login_tty: Documentation.
23599         * doc/glibc-functions/login_tty.texi: New file.
23600         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
23601
23602 2010-03-21  Bruno Haible  <bruno@clisp.org>
23603
23604         pty: Consistent macro naming.
23605         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
23606         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
23607         * modules/pty (configure.ac): Update.
23608
23609 2010-03-21  Bruno Haible  <bruno@clisp.org>
23610
23611         Tests for openpty: Make stricter.
23612         * tests/test-openpty.c (main): Add test of canonical processing and
23613         erase.
23614         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
23615
23616         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
23617         * lib/openpty.c (openpty): New replacement function.
23618         * lib/pty.in.h: Include <termios.h>.
23619         (openpty): Update declaration. Add comments.
23620         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
23621         is not declared, arrange to provide the replacement. Check for _getpty
23622         and posix_openpt.
23623         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
23624         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
23625         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
23626         * modules/pty-tests (test_pty_c___LDADD): New variable.
23627         * doc/glibc-functions/openpty.texi: More supported platforms.
23628
23629 2010-03-21  Bruno Haible  <bruno@clisp.org>
23630
23631         setenv: Tweaks.
23632         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
23633         the test program.
23634         * doc/posix-functions/setenv.texi: Update platforms list.
23635
23636 2010-03-21  Bruno Haible  <bruno@clisp.org>
23637
23638         New module 'unlockpt'.
23639         * lib/unlockpt.c: New file, from glibc with modifications.
23640         * m4/unlockpt.m4: New file.
23641         * modules/unlockpt: New file.
23642         * lib/stdlib.in.h (unlockpt): New declaration.
23643         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
23644         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
23645         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
23646         HAVE_UNLOCKPT.
23647         * doc/posix-functions/unlockpt.texi: Mention the new module.
23648         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
23649         * config/srclist.txt: Add unlockpt.c (commented).
23650
23651 2010-03-21  Jim Meyering  <meyering@redhat.com>
23652
23653         maint.mk: prohibit inclusion of "intprops.h" without use
23654         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
23655
23656 2010-03-21  Bruno Haible  <bruno@clisp.org>
23657
23658         New module 'grantpt'.
23659         * lib/grantpt.c: New file, from glibc with modifications.
23660         * m4/grantpt.m4: New file.
23661         * modules/grantpt: New file.
23662         * lib/stdlib.in.h (grantpt): New declaration.
23663         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
23664         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
23665         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
23666         HAVE_GRANTPT.
23667         * doc/posix-functions/grantpt.texi: Mention the new module.
23668         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
23669         * config/srclist.txt: Add grantpt.c (commented).
23670
23671 2010-03-21  Bruno Haible  <bruno@clisp.org>
23672
23673         New module 'pt_chown'.
23674         * lib/pt_chown.c: New file, from glibc with modifications.
23675         * lib/pty-private.h: New file, from glibc with modifications.
23676         * modules/pt_chown: New file.
23677         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
23678
23679 2010-03-21  Bruno Haible  <bruno@clisp.org>
23680
23681         Tests for module 'ptsname'.
23682         * modules/ptsname-tests: New file.
23683         * tests/test-ptsname.c: New file.
23684
23685         New module 'ptsname'.
23686         * lib/ptsname.c: New file, from glibc with modifications.
23687         * m4/ptsname.m4: New file.
23688         * modules/ptsname: New file.
23689         * lib/stdlib.in.h (ptsname): New declaration.
23690         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
23691         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
23692         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
23693         HAVE_PTSNAME.
23694         * doc/posix-functions/ptsname.texi: Mention the new module.
23695         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
23696         * config/srclist.txt: Add ptsname.c (commented).
23697
23698 2010-03-21  Bruno Haible  <bruno@clisp.org>
23699
23700         Tests for module 'ttyname_r'.
23701         * modules/ttyname_r-tests: New file.
23702         * tests/test-ttyname_r.c: New file.
23703
23704         New module 'ttyname_r'.
23705         * lib/ttyname_r.c: New file.
23706         * m4/ttyname_r.m4: New file.
23707         * modules/ttyname_r: New file.
23708         * lib/unistd.in.h (ttyname_r): New declaration.
23709         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
23710         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
23711         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
23712         HAVE_TTYNAME_R.
23713         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
23714         * doc/posix-functions/ttyname_r.texi: Mention the new module.
23715
23716 2010-03-20  Bruno Haible  <bruno@clisp.org>
23717
23718         signal: Undefine macro definitions in C++ mode.
23719         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
23720         sigfillset): Undefine macro definitions from the system header in C++
23721         mode.
23722         Reported by John W. Eaton <jwe@gnu.org>.
23723
23724 2010-03-20  Bruno Haible  <bruno@clisp.org>
23725
23726         Ensure no #include statements inside extern "C" { ... }.
23727         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
23728         contain #include statements.
23729         * lib/time.in.h: Likewise.
23730
23731 2010-03-20  Bruno Haible  <bruno@clisp.org>
23732
23733         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
23734         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
23735         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
23736         Reported by John W. Eaton <jwe@gnu.org>.
23737
23738 2010-03-20  Bruno Haible  <bruno@clisp.org>
23739
23740         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
23741         Reported by Jim Meyering.
23742
23743 2010-03-20  Bruno Haible  <bruno@clisp.org>
23744
23745         pipe: Set errno upon failure.
23746         * lib/pipe.h: Specify that when -1 is returned, errno is set.
23747         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
23748         errno value in error message.
23749
23750 2010-03-20  Bruno Haible  <bruno@clisp.org>
23751             Jim Meyering  <meyering@redhat.com>
23752
23753         lchown: Avoid "unused variable" warning.
23754         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
23755
23756 2010-03-20  Bruno Haible  <bruno@clisp.org>
23757
23758         Work around unlink() bug on MacOS X 10.5.6.
23759         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
23760         attempting to unlink a parent directory.
23761         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
23762         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
23763         activate for the replacement function.
23764         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
23765
23766 2010-03-20  Bruno Haible  <bruno@clisp.org>
23767
23768         Fix link errors on Solaris 8.
23769         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
23770         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
23771
23772 2010-03-19  Jim Meyering  <meyering@redhat.com>
23773
23774         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
23775         The _LIBC implementation of build_range_exp correctly honors the
23776         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
23777         However, the non-_LIBC implementation would ignore that syntax-bit
23778         flag and return REG_ERANGE unconditionally.
23779         This change makes it honor that flag.
23780         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
23781         Make two pointer parameters "const".
23782         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
23783         (parse_bracket_exp): Update caller.
23784
23785         regex.m4: correct the reversed range endpoint ([b-a]) test
23786         * m4/regex.m4: When requiring that [b-a] evoke failure,
23787         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
23788         test pass once again for x86-based systems.
23789
23790 2010-03-19  Bruno Haible  <bruno@clisp.org>
23791
23792         scandir: Fix link error on Solaris 8.
23793         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
23794         macros.
23795
23796 2010-03-19  Bruno Haible  <bruno@clisp.org>
23797
23798         getusershell: Fix documentation.
23799         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
23800         module.
23801         * doc/glibc-functions/setusershell.texi: Likewise.
23802
23803         getusershell: Provide declaration, missing on Solaris 9.
23804         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
23805         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
23806         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
23807         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
23808         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23809         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
23810         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
23811         HAVE_GETUSERSHELL.
23812         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
23813
23814 2010-03-19  Bruno Haible  <bruno@clisp.org>
23815
23816         wctype: Provide iswblank function.
23817         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
23818         exists and is fine.
23819         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
23820         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
23821         * tests/test-wctype.c (main): Re-enable the iswblank tests.
23822         * doc/posix-functions/iswblank.texi: Update.
23823
23824 2010-03-19  Bruno Haible  <bruno@clisp.org>
23825
23826         Tests of module 'pty' in C++ mode.
23827         * modules/pty-tests: New file.
23828         * tests/test-pty-c++.cc: New file.
23829         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
23830
23831 2010-03-19  Eric Blake  <eblake@redhat.com>
23832
23833         logb: fix documentation
23834         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
23835         1.5 declaration bug.
23836
23837         forkpty, openpty: prefer glibc's const-safe prototype
23838         * lib/forkpty.c (rpl_forkpty): New file.
23839         * lib/openpty.c (rpl_openpty): Likewise.
23840         * modules/forkpty (Files): Distribute it.
23841         * modules/openpty (Files): Likewise.
23842         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
23843         check...
23844         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
23845         replacement for for non-const BSD signature.
23846         * modules/pty (Makefile.am): Substitute witnesses.
23847         * lib/pty.in.h (forkpty, openpty): Declare replacements.
23848         * tests/test-forkpty.c: Update signature check.
23849         * tests/test-openpty.c: Likewise.
23850         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
23851         * doc/glibc-functions/openpty.texi (openpty): Likewise.
23852
23853         forkpty, openpty: split functions into new modules
23854         * modules/pty (Makefile.am): Substitute new witnesses.
23855         (Libraries): Move library detection...
23856         * modules/forkpty: ...into new module.
23857         * modules/openpty: Another new module.
23858         * modules/pty-tests: Rename and split...
23859         * modules/forkpty-tests: ...to this...
23860         * modules/openpty-tests: ...and this.
23861         * tests/test-pty.c: Rename and split...
23862         * tests/test-forkpty.c: ...to this...
23863         * tests/test-openpty.c: ...and this.
23864         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
23865         (gl_PTY): Split library searching...
23866         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
23867         (gl_FORKPTY, gl_OPENPTY): New macros.
23868         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
23869         * NEWS: Mention the split.
23870         * MODULES.html.sh (Misc): Document the modules.
23871         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
23872         * doc/glibc-functions/openpty.texi (openpty): Likewise.
23873
23874         pty: improve replacement header
23875         * lib/pty.in.h: New file.
23876         * modules/pty (Files): Ship it.
23877         (Makefile.am): Always build replacement.
23878         * m4/pty.m4: Rename...
23879         * m4/pty_h.m4: ...to this.
23880         (gl_PTY): Modernize setting of witness macros; update check of
23881         forkpty to take proper advantage of cache.
23882         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
23883
23884         getopt: avoid compiler warning
23885         * lib/getopt.c (attribute_hidden): Remove unused macro.
23886
23887 2010-03-18  Bruno Haible  <bruno@clisp.org>
23888
23889         Fix link errors on Solaris 8.
23890         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
23891         * modules/search-tests (test_search_c___LDADD): Likewise.
23892         * modules/signal-tests (test_signal_c___LDADD): Likewise.
23893         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
23894         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
23895         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
23896         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
23897         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
23898         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
23899
23900 2010-03-18  Bruno Haible  <bruno@clisp.org>
23901
23902         Fix bug introduced on 2010-03-14.
23903         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
23904         (gl_SPAWN_H): Require it.
23905         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
23906         Reported by Simon Josefsson.
23907
23908 2010-03-18  Bruno Haible  <bruno@clisp.org>
23909
23910         Fix typo introduced on 2009-12-31.
23911         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
23912         posix_spawn_file_actions_adddup2.
23913
23914 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
23915         and Eric Blake  <eblake@redhat.com>
23916
23917         test-vc-list-files-git: make more robust
23918         * tests/test-vc-list-files-git.sh: Unset problematic environment
23919         variables.  Chain commands together.
23920
23921 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
23922
23923         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
23924         `AC_CHECK_DECL' invocation.
23925
23926 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
23927
23928         * lib/inttostr.c (inttostr): Make sure the invocation of verify
23929         appears before executable statements. Suggested by Petr Sumbera
23930         <Petr.Sumbera@Sun.COM>.
23931
23932 2010-03-14  Bruno Haible  <bruno@clisp.org>
23933
23934         * tests/test-flock.c (test_exclusive): Comment out a test that causes
23935         portability problems. Instead use a simpler test.
23936         (main): Check that invalid arguments are rejected only on Linux.
23937
23938 2010-03-14  Bruno Haible  <bruno@clisp.org>
23939
23940         Fix bug introduced on 2009-12-31.
23941         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
23942         gl_PREREQ_SYS_H_WINSOCK2 always.
23943         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
23944         SYS_SOCKET_H variable.
23945         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
23946         Update comments.
23947         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
23948         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
23949         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
23950         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
23951         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
23952
23953 2010-03-14  Bruno Haible  <bruno@clisp.org>
23954
23955         Fix values returned by sinl, cosl.
23956         * lib/trigl.h: Add specification comments.
23957         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
23958         that combines the values from the precomputed table with the values of
23959         the Chebyshev polynomials.
23960
23961 2010-03-14  Bruno Haible  <bruno@clisp.org>
23962
23963         Fix compilation error when modules 'posix_spawn[p]' are not used.
23964         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
23965         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
23966
23967 2010-03-14  Bruno Haible  <bruno@clisp.org>
23968
23969         Fix compilation error on mingw when module 'time_r' is not used.
23970         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
23971         is 1.
23972         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
23973         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
23974         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
23975         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
23976
23977 2010-03-14  Bruno Haible  <bruno@clisp.org>
23978
23979         Fix compilation error with Sun C.
23980         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
23981         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
23982         instead of GCC specific ULONG_LONG_MAX.
23983         * lib/xstrtoll.c: Likewise.
23984         * lib/xstrtoull.c: Likewise.
23985
23986 2010-03-13  Bruno Haible  <bruno@clisp.org>
23987
23988         Allow the user to disable C++ code and tests.
23989         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
23990         (gl_PROG_ANSI_CXX): Require it.
23991
23992 2010-03-13  Bruno Haible  <bruno@clisp.org>
23993
23994         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
23995         cases.
23996
23997 2010-03-13  Bruno Haible  <bruno@clisp.org>
23998
23999         Test that gnulib does not break the standard C++ headers.
24000         * tests/test-locale-c++2.cc: New file.
24001         * modules/locale-tests (Files): Add it.
24002         (Makefile.am): Compile it for test-locale-c++.
24003         * tests/test-math-c++2.cc: New file.
24004         * modules/math-tests (Files): Add it.
24005         (Makefile.am): Compile it for test-math-c++.
24006         * tests/test-signal-c++2.cc: New file.
24007         * modules/signal-tests (Files): Add it.
24008         (Makefile.am): Compile it for test-signal-c++.
24009         * tests/test-stdio-c++2.cc: New file.
24010         * modules/stdio-tests (Files): Add it.
24011         (Makefile.am): Compile it for test-stdio-c++.
24012         * tests/test-stdlib-c++2.cc: New file.
24013         * modules/stdlib-tests (Files): Add it.
24014         (Makefile.am): Compile it for test-stdlib-c++.
24015         * tests/test-string-c++2.cc: New file.
24016         * modules/string-tests (Files): Add it.
24017         (Makefile.am): Compile it for test-string-c++.
24018         * tests/test-time-c++2.cc: New file.
24019         * modules/time-tests (Files): Add it.
24020         (Makefile.am): Compile it for test-time-c++.
24021         Reported by John W. Eaton <jwe@gnu.org>.
24022
24023 2010-03-13  Bruno Haible  <bruno@clisp.org>
24024
24025         * gnulib-tool (func_usage): Clarify which options are available for
24026         --create-testdir and --create-megatestdir.
24027
24028 2010-03-13  Bruno Haible  <bruno@clisp.org>
24029
24030         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
24031         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
24032         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
24033         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
24034         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
24035         when appropriate.
24036         Reported by Jim Meyering.
24037
24038 2010-03-12  Simon Josefsson  <simon@josefsson.org>
24039
24040         * gnulib-tool (func_import): Explain origin of code.
24041
24042 2010-03-12  Bruno Haible  <bruno@clisp.org>
24043
24044         Fix problem with automake's definition of CXXLINK.
24045         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
24046         Reported by Simon Josefsson and Ludovic Courtès.
24047
24048 2010-03-12  Bruno Haible  <bruno@clisp.org>
24049
24050         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
24051         stable releases.
24052
24053 2010-03-11  Bruno Haible  <bruno@clisp.org>
24054
24055         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
24056         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
24057         whether the system provides one variant or multiple variants of the
24058         function.
24059         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
24060         C++ compilers.
24061         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
24062         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
24063         Reported by Jim Meyering.
24064
24065 2010-03-09  Simon Josefsson  <simon@josefsson.org>
24066
24067         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
24068
24069 2010-03-08  Bruno Haible  <bruno@clisp.org>
24070
24071         gnulib-tool: Add support for --libtool in --create-testdir.
24072         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
24073         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
24074
24075 2010-03-08  Eric Blake  <eblake@redhat.com>
24076
24077         gnulib-tool.texi: mention possibility of git submodule
24078         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
24079         submodules.
24080         * doc/.gitignore: Ignore another generated file.
24081
24082 2010-03-08  Karl Berry  <karl@gnu.org>
24083
24084         * doc/gnulib-tool.texi (VCS Issues): Mention third option
24085         of committing gnulib files while skipping others.
24086
24087 2010-03-07  Bruno Haible  <bruno@clisp.org>
24088
24089         Tests of module 'wctype' in C++ mode.
24090         * tests/test-wctype-c++.cc: New file.
24091         * modules/wctype-tests (Files): Add it and tests/signature.h.
24092         (Depends-on): Add ansi-c++-opt.
24093         (Makefile.am): Arrange to compile and run test-wctype-c++.
24094
24095         Tests of module 'wchar' in C++ mode.
24096         * tests/test-wchar-c++.cc: New file.
24097         * modules/wchar-tests (Files): Add it and tests/signature.h.
24098         (Depends-on): Add ansi-c++-opt.
24099         (Makefile.am): Arrange to compile and run test-wchar-c++.
24100         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
24101         gl_MODULE_INDICATOR.
24102
24103         Tests of module 'unistd' in C++ mode.
24104         * tests/test-unistd-c++.cc: New file.
24105         * modules/unistd-tests (Files): Add it and tests/signature.h.
24106         (Depends-on): Add ansi-c++-opt.
24107         (Makefile.am): Arrange to compile and run test-unistd-c++.
24108         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
24109         gl_MODULE_INDICATOR.
24110
24111         Tests of module 'time' in C++ mode.
24112         * tests/test-time-c++.cc: New file.
24113         * modules/time-tests (Files): Add it and tests/signature.h.
24114         (Depends-on): Add ansi-c++-opt.
24115         (Makefile.am): Arrange to compile and run test-time-c++.
24116         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
24117
24118         Tests of module 'sys_time' in C++ mode.
24119         * tests/test-sys_time-c++.cc: New file.
24120         * modules/sys_time-tests (Files): Add it and tests/signature.h.
24121         (Depends-on): Add ansi-c++-opt.
24122         (Makefile.am): Arrange to compile and run test-sys_time-c++.
24123         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
24124         gl_MODULE_INDICATOR.
24125
24126         Tests of module 'sys_stat' in C++ mode.
24127         * tests/test-sys_stat-c++.cc: New file.
24128         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
24129         (Depends-on): Add ansi-c++-opt.
24130         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
24131         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
24132         gl_MODULE_INDICATOR.
24133
24134         Tests of module 'sys_socket' in C++ mode.
24135         * tests/test-sys_socket-c++.cc: New file.
24136         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
24137         (Depends-on): Add ansi-c++-opt.
24138         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
24139         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
24140         gl_MODULE_INDICATOR.
24141
24142         Tests of module 'sys_select' in C++ mode.
24143         * tests/test-sys_select-c++.cc: New file.
24144         * modules/sys_select-tests (Files): Add it and tests/signature.h.
24145         (Depends-on): Add ansi-c++-opt.
24146         (Makefile.am): Arrange to compile and run test-sys_select-c++.
24147         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
24148         gl_MODULE_INDICATOR.
24149
24150         Tests of module 'sys_ioctl' in C++ mode.
24151         * tests/test-sys_ioctl-c++.cc: New file.
24152         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
24153         (Depends-on): Add ansi-c++-opt.
24154         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
24155         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
24156         gl_MODULE_INDICATOR.
24157
24158         Tests of module 'string' in C++ mode.
24159         * tests/test-string-c++.cc: New file.
24160         * modules/string-tests (Files): Add it and tests/signature.h.
24161         (Depends-on): Add ansi-c++-opt.
24162         (Makefile.am): Arrange to compile and run test-string-c++.
24163         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
24164         gl_MODULE_INDICATOR.
24165
24166         Tests of module 'stdlib' in C++ mode.
24167         * tests/test-stdlib-c++.cc: New file.
24168         * modules/stdlib-tests (Files): Add it and tests/signature.h.
24169         (Depends-on): Add ansi-c++-opt.
24170         (Makefile.am): Arrange to compile and run test-stdlib-c++.
24171         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
24172         gl_MODULE_INDICATOR.
24173
24174         Tests of module 'stdio' in C++ mode.
24175         * tests/test-stdio-c++.cc: New file.
24176         * modules/stdio-tests (Files): Add it and tests/signature.h.
24177         (Depends-on): Add ansi-c++-opt.
24178         (Makefile.am): Arrange to compile and run test-stdio-c++.
24179         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
24180         gl_MODULE_INDICATOR.
24181
24182         Tests of module 'spawn' in C++ mode.
24183         * tests/test-spawn-c++.cc: New file.
24184         * modules/spawn-tests (Files): Add it and tests/signature.h.
24185         (Depends-on): Add ansi-c++-opt.
24186         (Makefile.am): Arrange to compile and run test-spawn-c++.
24187         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
24188         gl_MODULE_INDICATOR.
24189
24190         Tests of module 'signal' in C++ mode.
24191         * tests/test-signal-c++.cc: New file.
24192         * modules/signal-tests (Files): Add it and tests/signature.h.
24193         (Depends-on): Add ansi-c++-opt.
24194         (Makefile.am): Arrange to compile and run test-signal-c++.
24195         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
24196         gl_MODULE_INDICATOR.
24197
24198         Tests of module 'search' in C++ mode.
24199         * tests/test-search-c++.cc: New file.
24200         * modules/search-tests (Files): Add it and tests/signature.h.
24201         (Depends-on): Add ansi-c++-opt.
24202         (Makefile.am): Arrange to compile and run test-search-c++.
24203         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
24204         gl_MODULE_INDICATOR.
24205
24206         Tests of module 'math' in C++ mode.
24207         * tests/test-math-c++.cc: New file.
24208         * modules/math-tests (Files): Add it and tests/signature.h.
24209         (Depends-on): Add ansi-c++-opt.
24210         (Makefile.am): Arrange to compile and run test-math-c++.
24211         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
24212
24213         Tests of module 'locale' in C++ mode.
24214         * tests/test-locale-c++.cc: New file.
24215         * modules/locale-tests (Files): Add it and tests/signature.h.
24216         (Depends-on): Add ansi-c++-opt.
24217         (Makefile.am): Arrange to compile and run test-locale-c++.
24218         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
24219         gl_MODULE_INDICATOR.
24220
24221         Tests of module 'langinfo' in C++ mode.
24222         * tests/test-langinfo-c++.cc: New file.
24223         * modules/langinfo-tests (Files): Add it and tests/signature.h.
24224         (Depends-on): Add ansi-c++-opt.
24225         (Makefile.am): Arrange to compile and run test-langinfo-c++.
24226         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
24227         gl_MODULE_INDICATOR.
24228
24229         Tests of module 'iconv-h' in C++ mode.
24230         * tests/test-iconv-h-c++.cc: New file.
24231         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
24232         (Depends-on): Add ansi-c++-opt.
24233         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
24234
24235         Tests of module 'glob' in C++ mode.
24236         * tests/test-glob-c++.cc: New file.
24237         * modules/glob-tests (Files): Add it.
24238         (Depends-on): Add ansi-c++-opt.
24239         (Makefile.am): Arrange to compile and run test-glob-c++.
24240
24241         Tests of module 'fcntl-h' in C++ mode.
24242         * tests/test-fcntl-h-c++.cc: New file.
24243         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
24244         (Depends-on): Add ansi-c++-opt.
24245         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
24246         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
24247         gl_MODULE_INDICATOR.
24248
24249         Tests of module 'dirent' in C++ mode.
24250         * tests/test-dirent-c++.cc: New file.
24251         * modules/dirent-tests (Files): Add it and tests/signature.h.
24252         (Depends-on): Add ansi-c++-opt.
24253         (Makefile.am): Arrange to compile and run test-dirent-c++.
24254         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
24255         gl_MODULE_INDICATOR.
24256
24257         New module 'ansi-c++-opt'.
24258         * modules/ansi-c++-opt: New file.
24259         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
24260
24261         Document C++ namespace mode.
24262         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
24263
24264         wctype: Avoid #define replacements in C++ mode.
24265         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
24266         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
24267         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
24268         In C++, define a namespaced alias symbol.
24269         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
24270         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
24271         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
24272         rule.
24273
24274         wchar: Avoid #define replacements in C++ mode.
24275         * lib/wchar.in.h: Include c++defs.h.
24276         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
24277         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
24278         symbol.
24279         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
24280         * modules/wchar (Depends-on): Add c++defs.
24281         (Makefile.am): Update wchar.h rule.
24282
24283         unistd: Avoid #define replacements in C++ mode.
24284         * lib/unistd.in.h: Include c++defs.h.
24285         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
24286         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
24287         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
24288         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
24289         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
24290         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
24291         symbol.
24292         (environ): Update.
24293         * modules/unistd (Depends-on): Add c++defs.
24294         (Makefile.am): Update unistd.h rule.
24295
24296         time: Avoid #define replacements in C++ mode.
24297         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
24298         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
24299         define a namespaced alias symbol.
24300         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
24301         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
24302         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
24303         * modules/time (Depends-on): Add c++defs, warn-on-use.
24304         (Makefile.am): Update time.h rule.
24305         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
24306         * modules/nanosleep (configure.ac): Likewise.
24307         * modules/strptime (configure.ac): Likewise.
24308         * modules/timegm (configure.ac): Likewise.
24309
24310         sys_time: Avoid #define replacements in C++ mode.
24311         * lib/sys_time.in.h: Include c++defs.h.
24312         (gettimeofday): In C++, define a namespaced alias symbol.
24313         * modules/sys_time (Depends-on): Add c++defs.
24314         (Makefile.am): Update sys/time.h rule.
24315
24316         sys_stat: Avoid #define replacements in C++ mode.
24317         * lib/sys_stat.in.h: Include c++defs.h.
24318         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
24319         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
24320         namespaced alias symbol.
24321         In C++, define a namespaced alias symbol.
24322         * modules/sys_stat (Depends-on): Add c++defs.
24323         (Makefile.am): Update sys/stat.h rule.
24324
24325         sys_socket: Avoid #define replacements in C++ mode.
24326         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
24327         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
24328         definitions also when the system has a <sys/socket.h>.
24329         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
24330         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
24331         In C++, define a namespaced alias symbol.
24332         * modules/sys_socket (Depends-on): Add c++defs.
24333         (Makefile.am): Update sys/socket.h rule.
24334
24335         sys_select: Avoid #define replacements in C++ mode.
24336         * lib/sys_select.in.h: Include c++defs.h. Enable the function
24337         definitions also when the system has a <sys/select.h>.
24338         (select): In C++, define a namespaced alias symbol.
24339         * modules/sys_select (Depends-on): Add c++defs.
24340         (Makefile.am): Update sys/select.h rule.
24341
24342         sys_ioctl: Avoid #define replacements in C++ mode.
24343         * lib/sys_ioctl.in.h: Include c++defs.h.
24344         (ioctl): In C++, define a namespaced alias symbol.
24345         * modules/sys_ioctl (Depends-on): Add c++defs.
24346         (Makefile.am): Update sys/ioctl.h rule.
24347
24348         string: Avoid #define replacements in C++ mode.
24349         * lib/string.in.h: Include c++defs.h.
24350         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
24351         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
24352         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
24353         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
24354         strsignal, strverscmp): In C++, define a namespaced alias symbol.
24355         * modules/string (Depends-on): Add c++defs.
24356         (Makefile.am): Update string.h rule.
24357
24358         stdlib: Avoid #define replacements in C++ mode.
24359         * lib/stdlib.in.h: Include c++defs.h.
24360         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
24361         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
24362         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
24363         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
24364         symbol.
24365         * modules/stdlib (Depends-on): Add c++defs.
24366         (Makefile.am): Update stdlib.h rule.
24367
24368         stdio: Avoid #define replacements in C++ mode.
24369         * lib/stdio.in.h: Include c++defs.h.
24370         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
24371         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
24372         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
24373         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
24374         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
24375         namespaced alias symbol.
24376         * modules/stdio (Depends-on): Add c++defs.
24377         (Makefile.am): Update stdio.h rule.
24378
24379         spawn: Avoid #define replacements in C++ mode.
24380         * lib/spawn.in.h: Include c++defs.h.
24381         (posix_spawn, posix_spawnp, posix_spawnattr_init,
24382         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
24383         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
24384         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
24385         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
24386         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
24387         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
24388         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
24389         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
24390         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
24391         In C++, define a namespaced alias symbol.
24392         * modules/spawn (Depends-on): Add c++defs.
24393         (Makefile.am): Update spawn.h rule.
24394
24395         signal: Avoid #define replacements in C++ mode.
24396         * lib/signal.in.h: Include c++defs.h.
24397         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
24398         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
24399         namespaced alias symbol.
24400         * modules/signal (Depends-on): Add c++defs.
24401         (Makefile.am): Update signal.h rule.
24402
24403         search: Avoid #define replacements in C++ mode.
24404         * lib/search.in.h: Include c++defs.h.
24405         (_gl_search_compar_fn, _gl_search_action_fn): New types.
24406         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
24407         symbol.
24408         * modules/search (Depends-on): Add c++defs.
24409         (Makefile.am): Update search.h rule.
24410
24411         math: Avoid #define replacements in C++ mode.
24412         * lib/math.in.h: Include c++defs.h.
24413         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
24414         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
24415         trunc, truncl): In C++, define a namespaced alias symbol.
24416         * modules/math (Depends-on): Add c++defs.
24417         (Makefile.am): Update math.h rule.
24418
24419         locale: Avoid #define replacements in C++ mode.
24420         * lib/locale.in.h: Include c++defs.h.
24421         (duplocale): In C++, define a namespaced alias symbol.
24422         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
24423         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
24424         * modules/locale (Depends-on): Add c++defs.
24425         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
24426
24427         langinfo: Avoid #define replacements in C++ mode.
24428         * lib/langinfo.in.h: Include c++defs.h.
24429         (nl_langinfo): In C++, define a namespaced alias symbol.
24430         * modules/langinfo (Depends-on): Add c++defs.
24431         (Makefile.am): Update langinfo.h rule.
24432
24433         iconv-h: Avoid #define replacements in C++ mode.
24434         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
24435         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
24436         symbol.
24437         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
24438         whenever iconv is present.
24439         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
24440         (Makefile.am): Update iconv.h rule.
24441
24442         glob: Avoid #define replacements in C++ mode.
24443         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
24444         (_gl_glob_errfunc_fn): New type.
24445         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
24446         symbol.
24447         * modules/glob (Depends-on): Add c++defs, warn-on-use.
24448         (Makefile.am): Update glob.h rule.
24449
24450         fcntl-h: Avoid #define replacements in C++ mode.
24451         * lib/fcntl.in.h: Include c++defs.h.
24452         (fcntl, open, openat): In C++, define a namespaced alias symbol.
24453         * modules/fcntl-h (Depends-on): Add c++defs.
24454         (Makefile.am): Update fcntl.h rule.
24455
24456         dirent: Avoid #define replacements in C++ mode.
24457         * lib/dirent.in.h: Include c++defs.h.
24458         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
24459         namespaced alias symbol.
24460         (dirfd): Update declaration.
24461         * modules/dirent (Depends-on): Add c++defs.
24462         (Makefile.am): Update dirent.h rule.
24463
24464         ctype: Make it usable in C++ code.
24465         * lib/ctype.in.h: Include c++defs.h.
24466         (isblank): Declare as extern "C".
24467         * modules/ctype (Depends-on): Add c++defs.
24468         (Makefile.am): Update ctype.h rule.
24469
24470         New module 'c++defs'.
24471         * modules/c++defs: New file.
24472         * build-aux/c++defs.h: New file.
24473         Reported by John W. Eaton <jwe@gnu.org>.
24474
24475 2010-03-07  Bruno Haible  <bruno@clisp.org>
24476
24477         logb: Provide missing declaration for Cygwin.
24478         * lib/math.in.h (logb): New declaration.
24479         * m4/logb.m4: New file.
24480         * modules/logb (Files): Add m4/logb.m4.
24481         (Depends-on): Add math.
24482         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
24483         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
24484         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
24485         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
24486         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
24487
24488 2010-03-07  Bruno Haible  <bruno@clisp.org>
24489
24490         Fix test-cond link error.
24491         * tests/test-cond.c: Include <stdio.h>.
24492
24493 2010-03-07  Bruno Haible  <bruno@clisp.org>
24494
24495         Fix test-dirent-safer link error.
24496         * modules/dirent-safer-tests (Makefile.am): Define
24497         test_dirent_safer_LDADD.
24498
24499 2010-03-07  Bruno Haible  <bruno@clisp.org>
24500
24501         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
24502         among default module list.
24503
24504 2010-03-07  Bruno Haible  <bruno@clisp.org>
24505
24506         Fix link error on platforms with GNU libiconv.
24507         * modules/unistr/u8-strcoll-tests (Makefile): Define
24508         test_u8_strcoll_LDADD.
24509         * modules/unistr/u16-strcoll-tests (Makefile): Define
24510         test_u16_strcoll_LDADD.
24511         * modules/unistr/u32-strcoll-tests (Makefile): Define
24512         test_u32_strcoll_LDADD.
24513
24514 2010-03-07  Bruno Haible  <bruno@clisp.org>
24515
24516         Use POSIX declarations for socket functions.
24517         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
24518         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
24519         rpl_sendto): Change declaration to match POSIX.
24520         * lib/connect.c (rpl_connect): Likewise.
24521         * lib/accept.c (rpl_accept): Likewise.
24522         * lib/bind.c (rpl_bind): Likewise.
24523         * lib/getpeername.c (rpl_getpeername): Likewise.
24524         * lib/getsockname.c (rpl_getsockname): Likewise.
24525         * lib/recv.c (rpl_recv): Likewise.
24526         * lib/send.c (rpl_send): Likewise.
24527         * lib/recvfrom.c (rpl_recvfrom): Likewise.
24528         * lib/sendto.c (rpl_sendto): Likewise.
24529
24530 2010-03-06  Bruno Haible  <bruno@clisp.org>
24531
24532         Clarify access, euidaccess, faccessat.
24533         * doc/posix-functions/faccessat.texi: Mention security problem under
24534         "Other problems", not "Portability problems".
24535         * doc/posix-functions/access.texi: Likewise. Mention a related security
24536         problem.
24537         * doc/glibc-functions/euidaccess.texi: Mention security problems.
24538         * lib/euidaccess.c: Add comments about platforms.
24539         * lib/unistd.in.h (access, euidaccess): Add warnings.
24540
24541 2010-03-07  Bruno Haible  <bruno@clisp.org>
24542
24543         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
24544         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
24545         (POSIX_SPAWN_SETSCHEDULER): Likewise.
24546         (POSIX_SPAWN_USEVFORK): Define in a way that works when
24547         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
24548         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
24549         declare when POSIX_SPAWN_SETSCHEDULER is zero.
24550         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
24551         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
24552         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
24553         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
24554         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
24555         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
24556         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
24557         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
24558         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
24559         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
24560         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
24561         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
24562         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
24563         Likewise.
24564         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
24565         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
24566         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
24567         Likewise.
24568         * tests/test-spawn.c (main): Make it work when
24569         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
24570
24571 2010-03-07  Bruno Haible  <bruno@clisp.org>
24572
24573         Fix incorrect Makefile.am generation in German locale.
24574         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
24575         Execute sed command with character range in C locale.
24576
24577 2010-03-06  Bruno Haible  <bruno@clisp.org>
24578
24579         Tests for module 'iconv-h'.
24580         * modules/iconv-h-tests: New file.
24581         * tests/test-iconv-h.c: New file.
24582
24583         New module 'iconv-h'.
24584         * modules/iconv-h: New file.
24585         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
24586         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
24587         (configure.ac): Remove gl_ICONV_H.
24588         (Makefile.am): Remove rule for iconv.h.
24589
24590 2010-03-06  Bruno Haible  <bruno@clisp.org>
24591
24592         More consistent naming of *.m4 files.
24593         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
24594         * modules/wctype (Files): Update.
24595
24596         More consistent naming of *.m4 files.
24597         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
24598         * modules/wchar (Files): Update.
24599
24600 2010-03-06  Jim Meyering  <meyering@redhat.com>
24601
24602         euidaccess: relax license to LGPLv2+
24603         * modules/euidaccess (License): Relax to LGPLv2+.
24604
24605 2010-03-06  Bruno Haible  <bruno@clisp.org>
24606
24607         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
24608         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
24609         (Makefile.am): Augment lib_SOURCES instead.
24610
24611 2010-03-04  Jim Meyering  <meyering@redhat.com>
24612
24613         utime: remove obsolete module
24614         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
24615         unnecessary for years, and has been marked as obsolete for 10 months.
24616         * modules/utime: Remove file.
24617         * lib/utime.c: Remove file.
24618         * m4/utime.m4: Remove file.
24619         * m4/utimes-null.m4: Remove file.
24620         * doc/posix-functions/utime.texi (utime): Remove reference to
24621         the module.  Move the sole "fixed by gnulib" item into the
24622         "problems not fixed by Gnulib" list.
24623         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
24624
24625 2010-03-05  Simon Josefsson  <simon@josefsson.org>
24626
24627         * modules/exit (License): Relax license to LGPLv2+.
24628         (Status): Mark as obsolete.
24629         * NEWS: Mention deprecated 'exit' module.
24630         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
24631         of now obsolete 'exit'.
24632
24633 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24634
24635         fts-lgpl: remove unused module
24636         * modules/fts-lgpl: Remove.
24637         * MODULES.html.sh (func_all_modules): Adjust.
24638         * check-module (find_included_lib_files): Adjust.
24639         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
24640
24641 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
24642
24643         copy-acl: enhance Solaris ACL error handling
24644         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
24645         * lib/set-mode-acl.c (qset_acl): Likewise.
24646
24647 2010-03-02  Bruno Haible  <bruno@clisp.org>
24648
24649         spawn: Don't override the system defined values on FreeBSD 8.
24650         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
24651         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
24652         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
24653         if HAVE_POSIX_SPAWN is 1.
24654         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
24655
24656 2010-03-01  Bruno Haible  <bruno@clisp.org>
24657
24658         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
24659         regarding Automake.
24660
24661 2010-02-25  Bruno Haible  <bruno@clisp.org>
24662
24663         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
24664         * gnulib-tool: Define 'echo' as a function only before the ksh alias
24665         setting, not afterwards.
24666         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
24667
24668 2010-02-24  Eric Blake  <eblake@redhat.com>
24669
24670         bootstrap, git-version-gen: use timestamp
24671         * build-aux/git-version-gen (scriptversion): Force UTC.
24672         * build-aux/bootstrap (scriptversion): New variable.
24673
24674         bootstrap: allow older git
24675         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
24676         older than 1.6.4.  Requested by the libvirt project.
24677
24678 2010-02-23  Eric Blake  <eblake@redhat.com>
24679
24680         warn-on-use: work with old autoconf
24681         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
24682         AS_VAR semantics of autoconf 2.60.
24683         Reported by Bruno Haible.
24684
24685         bootstrap: improve some comments
24686         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
24687         clarification comments.
24688
24689         gettimeofday: provide correct function
24690         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
24691         when replacement is declared, otherwise provide gettimeofday.
24692         Reported by Michael Goffioul.
24693
24694 2010-02-23  Jim Meyering  <meyering@redhat.com>
24695
24696         lib-ignore: relax license to "unlimited", not LGPLv2+
24697         * modules/lib-ignore (License): Relax to "unlimited".
24698
24699 2010-02-23  Jim Meyering  <meyering@redhat.com>
24700
24701         lib-ignore: relax license to LGPLv2+
24702         * modules/lib-ignore (License): Relax to LGPLv2+.
24703
24704 2010-02-22  Eric Blake  <eblake@redhat.com>
24705
24706         lseek: avoid bash 3.2 broken pipe bug
24707         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
24708         warning from bash 3.2.
24709         Reported by Ben Pfaff, with analysis from Bruno Haible.
24710
24711         bootstrap: support non-FSF copyright holder
24712         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
24713         bootstrap.conf override of COPYRIGHT_HOLDER.
24714         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
24715
24716         bootstrap: interoperate with gettext 0.14.1
24717         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
24718
24719         bootstrap: allow for alternate submodule location
24720         * build-aux/bootstrap (gnulib_path): New variable; use instead of
24721         hardcoding submodule location.
24722         (gnulib_mk): Allow direct use of Makefile.am.
24723
24724         bootstrap: use GNULIB_SRCDIR to reduce disk usage
24725         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
24726         rather than reconfiguring where the submodule points.
24727
24728         gettimeofday: restore support for platforms that lack function
24729         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
24730         replacement if function is missing.
24731         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
24732         * modules/sys_time (Makefile.am): Substitute it.
24733         * lib/sys_time.in.h (gettimeofday): Check it.
24734         Reported by Michael Goffioul.
24735
24736 2010-02-21  Bruno Haible  <bruno@clisp.org>
24737
24738         * lib/stdio.in.h (obstack_printf): Fix typo.
24739
24740 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
24741
24742         vc-list-files: use bzr ls's -R option
24743         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
24744         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
24745
24746 2010-02-21  Jim Meyering  <meyering@redhat.com>
24747
24748         init.sh: fix EXEEXT shims to work also for names like test-prog
24749         * tests/init.sh: Re-exec a better shell, when needed.
24750         If the current shell lacks support for posix $(...), an init.sh-using
24751         test will now try to find a shell that supports that.  If EXEEXT is
24752         nonempty, we also require support for hyphen-in-alias-name and shell
24753         substitutions like ${var#glob}.  Failure to find such a shell results
24754         in a skipped test.
24755
24756 2010-02-21  Bruno Haible  <bruno@clisp.org>
24757
24758         Really work around around "broken pipe" error message from bash 3.2.
24759         * gnulib-tool (func_reset_sigpipe): Remove function.
24760         (echo): In bash 3.2, define to a function that uses printf.
24761         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
24762
24763 2010-02-20  Bruno Haible  <bruno@clisp.org>
24764
24765         Restore support for automake 1.9.6 with autoconf 2.61.
24766         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
24767         Reported by James Youngman <jay@gnu.org>.
24768
24769 2010-02-20  Bruno Haible  <bruno@clisp.org>
24770
24771         Improve *printf warning condition.
24772         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
24773         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
24774         and the function is overridden due to SIGPIPE emulation.
24775
24776 2010-02-20  Bruno Haible  <bruno@clisp.org>
24777
24778         * lib/stdio.in.h: Tweak comments.
24779
24780 2010-02-19  Bruno Haible  <bruno@clisp.org>
24781
24782         Make it easier to find modules. New gnulib-tool option '--find'.
24783         * gnulib-tool: New option --find.
24784         (func_usage): Document it.
24785         (func_sanitize_modulelist): New function, extracted from
24786         func_all_modules.
24787         (func_all_modules): Invoke it.
24788         * doc/gnulib-tool.texi (Which modules?): New node.
24789
24790 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
24791
24792         * lib/sys_select.in.h: Provide select replacement even if
24793         sys/select.h exists on a system, for Interix.
24794
24795 2010-02-18  Jim Meyering  <meyering@redhat.com>
24796
24797         init.sh: don't use $(...) just yet
24798         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
24799         to accommodate e.g., Solaris' /bin/sh.
24800
24801 2010-02-17  Bruno Haible  <bruno@clisp.org>
24802
24803         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
24804         Reported by Ludovic Courtès <ludo@gnu.org>.
24805
24806 2010-02-16  Simon Josefsson  <simon@josefsson.org>
24807
24808         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
24809         linking with -lintl.
24810
24811 2010-02-17  Simon Josefsson  <simon@josefsson.org>
24812
24813         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
24814         if not provided by the system's netdb.h.  Reported by
24815         ludo@gnu.org (Ludovic Courtès).
24816
24817 2010-02-15  Jim Meyering  <meyering@redhat.com>
24818
24819         init.sh: improve portability and efficiency
24820         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
24821         "dummy" in a for loop.
24822         Use '!', not '^' to select the complement of a character set used
24823         in a "case" statement.
24824         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
24825         Suggestions from Eric Blake.
24826
24827         init.sh: automatically accommodate programs with the .exe suffix
24828         Automatically arrange for an invocation of "prog" to execute the
24829         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
24830         may use the simpler "prog", yet still work when built on a system
24831         that requires specifying the added suffix.
24832         Do this by constructing a function named "prog" that invokes
24833         "prog.exe" for each .exe file in selected directories.
24834         * tests/init.sh (find_exe_basenames_): New function.
24835         (create_exe_shim_functions_): New function.
24836         (path_prepend_): Use it.
24837
24838         maint.mk: mark syntax-check sc_*.m rules as .PHONY
24839         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
24840         "make -t syntax-check" doesn't create a ton of sc_*.m files.
24841
24842 2010-02-14  Jim Meyering  <meyering@redhat.com>
24843
24844         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
24845         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
24846         (sc_prohibit_hash_pjw_without_use): New rule.
24847
24848         maint.mk: allow the default upload destination dir to be overridden
24849         * top/maint.mk (upload_dest_dir_): Define with a default that
24850         preserves the status quo.
24851         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
24852         Reported by Peter Simons.
24853
24854         maint.mk: prohibit inclusion of "hash.h" without_use
24855         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
24856
24857 2010-02-10  Jim Meyering  <meyering@redhat.com>
24858
24859         maint.mk: prohibit inclusion of "ignore-value.h" without_use
24860         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
24861
24862 2010-02-09  Eric Blake  <ebb9@byu.net>
24863         and Bruno Haible  <bruno@clisp.org>
24864
24865         obstack-printf-posix: ensure declaration
24866         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
24867         extracted from gl_FUNC_OBSTACK_PRINTF.
24868         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
24869         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
24870         Likewise.
24871         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
24872         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
24873         0.
24874
24875 2010-02-08  Bruno Haible  <bruno@clisp.org>
24876
24877         gnulib-tool: Fix typo in 2010-02-07 commit.
24878         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
24879         Reported by Eric Blake.
24880
24881 2010-02-07  Bruno Haible  <bruno@clisp.org>
24882
24883         gnulib-tool: Fix up caching patches.
24884         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
24885         option --no-cache. Use associative arrays when supported by the shell.
24886         (sed_comments): New variable.
24887         (modcache): Renamed from do_cache.
24888         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
24889         abbreviate unnecessarily.
24890         (have_associative): New variable.
24891         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
24892         way also for ksh and zsh.
24893         (func_init_sed_convert_to_cache_statements): New function, extracted
24894         from func_cache_lookup_module. Add support for associative arrays.
24895         Don't set the c_MODULE_cached variable here. Ignore all lines before
24896         the first field header. Remove only the final newline, not all trailing
24897         newlines. Support empty fields correctly. Limit the use of 'eval' to
24898         assignments.
24899         (func_get_description, func_get_status, func_get_notice,
24900         func_get_applicability, func_get_filelist, func_get_dependencies,
24901         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
24902         func_get_automake_snippet, func_get_include_directive,
24903         func_get_link_directive, func_get_license, func_get_maintainer):
24904         Update documentation. List the unoptimized code first. Add support for
24905         associative arrays. Limit the use of 'eval' to assignments.
24906         (func_get_applicability): Undo stylistic pessimisations.
24907         (func_get_automake_snippet, func_get_include_directive): Reduce code
24908         duplication.
24909         (func_modules_transitive_closure, func_modules_add_dummy,
24910         func_modules_notice, func_modules_to_filelist, func_add_file,
24911         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
24912         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
24913         func_create_testdir, func_create_megatestdir): Update documentation.
24914
24915 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24916
24917         * gnulib-tool (func_cache_lookup_module): Store the module name
24918         belonging to the cache variable; error out if two different
24919         module names map to the same cache variable name.
24920
24921 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24922
24923         gnulib-tool: Make caching optional.
24924         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
24925         Update matching short versions of --no-changelog.
24926         (func_usage): Update.
24927         (sed_extract_cache_prog): Renamed from ...
24928         (sed_extract_prog): ... this; revert to old extraction script.
24929         (func_get_description, func_get_status)
24930         (func_get_notice, func_get_applicability, func_get_filelist)
24931         (func_get_dependencies, func_get_autoconf_early_snippet)
24932         (func_get_autoconf_snippet, func_get_automake_snippet)
24933         (func_get_include_directive, func_get_link_directive)
24934         (func_get_license, func_get_maintainer): If $do_cache is false,
24935         use old, non-caching extraction scripts.
24936         Suggestion by Bruno Haible.
24937
24938 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24939
24940         gnulib-tool: cache module metainformation.
24941         * gnulib-tool (sed_extract_prog): Match newline before each
24942         header, and rewrite header to a shell variable suffix.
24943         (func_cache_var, func_cache_lookup_module): New functions,
24944         to turn a module name into a cache variable prefix, and to
24945         look up and cache module metainformation.
24946         (func_get_description, func_get_status)
24947         (func_get_notice, func_get_applicability, func_get_filelist)
24948         (func_get_dependencies, func_get_autoconf_early_snippet)
24949         (func_get_autoconf_snippet, func_get_automake_snippet)
24950         (func_get_include_directive, func_get_link_directive)
24951         (func_get_license, func_get_maintainer): Use
24952         func_cache_lookup_module.
24953
24954 2010-02-07  Bruno Haible  <bruno@clisp.org>
24955
24956         fnctl: Fix missing dependency.
24957         * modules/fcntl (Depends-on): Add getdtablesize.
24958         Reported by John W. Eaton <jwe@gnu.org>.
24959
24960 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
24961
24962         Argp: fix recognition of short alias options.
24963
24964         * lib/argp-parse.c (convert_options): Fix improper use of
24965         `|' between character values.
24966         * tests/test-argp.c (group1_option): New alias option
24967         --read (-r).
24968         (group1_parser): Special handling for 'r'.
24969         (test15): New test case.
24970         (test_fun): Add test15.
24971         * tests/test-argp-2.sh: Update expected --help and --usage
24972         outputs.
24973
24974 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
24975
24976         * tests/test-argp.c: Fix indentation.
24977
24978 2010-02-04  Eric Blake  <ebb9@byu.net>
24979
24980         gettimeofday: expose type of second argument
24981         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
24982         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
24983         * tests/test-gettimeofday.c: Use it to silence warning.
24984         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
24985         the issue.
24986
24987 2010-02-03  Jim Meyering  <meyering@redhat.com>
24988
24989         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
24990         * lib/regcomp.c (TYPE_SIGNED): Define.
24991         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
24992
24993         regcomp.c: avoid a new -Wshadow warning
24994         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
24995
24996 2010-02-01  Jim Meyering  <meyering@redhat.com>
24997
24998         removing useless parentheses in cpp #define directives
24999         For motivation, see commit c0221df4, "define STREQ(a,b)
25000         consistently, removing useless parentheses"
25001         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
25002         * lib/mountlist.c (MNT_IGNORE): Likewise.
25003         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
25004
25005 2010-02-01  Eric Blake  <ebb9@byu.net>
25006
25007         sys_time: use link-warning
25008         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
25009         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
25010         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
25011         * modules/sys_time (Depends-on): Add warn-on-use.
25012         (Makefile.am): Always build replacement.
25013         (configure.ac): Update substitutions.
25014         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
25015         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
25016         bother with SYS_TIME_H.
25017         * modules/gettimeofday (configure.ac): Declare indicator.
25018         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
25019         in use.
25020
25021         closein-tests: silence compiler warning
25022         * tests/test-closein.c (main): Ignore fread result.
25023         * modules/closein-tests (Depends-on): Add ignore-value.
25024
25025         tests: silence warning about system return
25026         * tests/test-areadlink-with-size.c (main): Ignore system result.
25027         * tests/test-areadlink.c (main): Likewise.
25028         * tests/test-areadlinkat-with-size.c (main): Likewise.
25029         * tests/test-areadlinkat.c (main): Likewise.
25030         * tests/test-canonicalize-lgpl.c (main): Likewise.
25031         * tests/test-canonicalize.c (main): Likewise.
25032         * tests/test-chown.c (main): Likewise.
25033         * tests/test-fchownat.c (main): Likewise.
25034         * tests/test-fdutimensat.c (main): Likewise.
25035         * tests/test-fstatat.c (main): Likewise.
25036         * tests/test-futimens.c (main): Likewise.
25037         * tests/test-lchown.c (main): Likewise.
25038         * tests/test-link.c (main): Likewise.
25039         * tests/test-linkat.c (main): Likewise.
25040         * tests/test-lstat.c (main): Likewise.
25041         * tests/test-mkdir.c (main): Likewise.
25042         * tests/test-mkdirat.c (main): Likewise.
25043         * tests/test-mkfifo.c (main): Likewise.
25044         * tests/test-mkfifoat.c (main): Likewise.
25045         * tests/test-mknod.c (main): Likewise.
25046         * tests/test-readlink.c (main): Likewise.
25047         * tests/test-remove.c (main): Likewise.
25048         * tests/test-rename.c (main): Likewise.
25049         * tests/test-renameat.c (main): Likewise.
25050         * tests/test-rmdir.c (main): Likewise.
25051         * tests/test-symlink.c (main): Likewise.
25052         * tests/test-symlinkat.c (main): Likewise.
25053         * tests/test-unlink.c (main): Likewise.
25054         * tests/test-unlinkat.c (main): Likewise.
25055         * tests/test-utimens.c (main): Likewise.
25056         * tests/test-utimensat.c (main): Likewise.
25057         * modules/areadlink-tests (Depends-on): Add ignore-value.
25058         * modules/areadlink-with-size-tests (Depends-on): Likewise.
25059         * modules/areadlinkat-tests (Depends-on): Likewise.
25060         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
25061         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
25062         * modules/canonicalize-tests (Depends-on): Likewise.
25063         * modules/chown-tests (Depends-on): Likewise.
25064         * modules/fdutimensat-tests (Depends-on): Likewise.
25065         * modules/futimens-tests (Depends-on): Likewise.
25066         * modules/lchown-tests (Depends-on): Likewise.
25067         * modules/link-tests (Depends-on): Likewise.
25068         * modules/linkat-tests (Depends-on): Likewise.
25069         * modules/lstat-tests (Depends-on): Likewise.
25070         * modules/mkdir-tests (Depends-on): Likewise.
25071         * modules/mkfifo-tests (Depends-on): Likewise.
25072         * modules/mkfifoat-tests (Depends-on): Likewise.
25073         * modules/mknod-tests (Depends-on): Likewise.
25074         * modules/openat-tests (Depends-on): Likewise.
25075         * modules/readlink-tests (Depends-on): Likewise.
25076         * modules/remove-tests (Depends-on): Likewise.
25077         * modules/rename-tests (Depends-on): Likewise.
25078         * modules/renameat-tests (Depends-on): Likewise.
25079         * modules/rmdir-tests (Depends-on): Likewise.
25080         * modules/symlink-tests (Depends-on): Likewise.
25081         * modules/symlinkat-tests (Depends-on): Likewise.
25082         * modules/unlink-tests (Depends-on): Likewise.
25083         * modules/utimens-tests (Depends-on): Likewise.
25084         * modules/utimensat-tests (Depends-on): Likewise.
25085
25086 2010-01-31  Bruno Haible  <bruno@clisp.org>
25087
25088         Perform the same test for many <math.h> functions.
25089         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
25090         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
25091         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
25092         of gl_MATHFUNC.
25093         * modules/acos (configure.ac): Likewise.
25094         * modules/asin (configure.ac): Likewise.
25095         * modules/atan (configure.ac): Likewise.
25096         * modules/atan2 (configure.ac): Likewise.
25097         * modules/cbrt (configure.ac): Likewise.
25098         * modules/copysign (configure.ac): Likewise.
25099         * modules/cos (configure.ac): Likewise.
25100         * modules/cosh (configure.ac): Likewise.
25101         * modules/erf (configure.ac): Likewise.
25102         * modules/erfc (configure.ac): Likewise.
25103         * modules/exp (configure.ac): Likewise.
25104         * modules/fmod (configure.ac): Likewise.
25105         * modules/hypot (configure.ac): Likewise.
25106         * modules/j0 (configure.ac): Likewise.
25107         * modules/j1 (configure.ac): Likewise.
25108         * modules/jn (configure.ac): Likewise.
25109         * modules/lgamma (configure.ac): Likewise.
25110         * modules/log (configure.ac): Likewise.
25111         * modules/log10 (configure.ac): Likewise.
25112         * modules/log1p (configure.ac): Likewise.
25113         * modules/pow (configure.ac): Likewise.
25114         * modules/remainder (configure.ac): Likewise.
25115         * modules/sin (configure.ac): Likewise.
25116         * modules/sinh (configure.ac): Likewise.
25117         * modules/tan (configure.ac): Likewise.
25118         * modules/tanh (configure.ac): Likewise.
25119         * modules/y0 (configure.ac): Likewise.
25120         * modules/y1 (configure.ac): Likewise.
25121         * modules/yn (configure.ac): Likewise.
25122         Suggested by Paolo Bonzini.
25123
25124 2010-01-31  Bruno Haible  <bruno@clisp.org>
25125
25126         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
25127
25128 2010-01-31  Bruno Haible  <bruno@clisp.org>
25129
25130         Work around getdelim() bug on FreeBSD 8.0.
25131         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
25132         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
25133         not work.
25134         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
25135         is 1.
25136         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
25137         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
25138         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
25139         a non-zero size.
25140         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
25141
25142 2010-01-31  Bruno Haible  <bruno@clisp.org>
25143
25144         Work around getline() bug on FreeBSD 8.0.
25145         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
25146         and a non-zero size.
25147         * tests/test-getline.c (main): Likewise.
25148         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
25149         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
25150
25151 2010-01-28  Eric Blake  <ebb9@byu.net>
25152
25153         regex: fix build failure
25154         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
25155         platforms.
25156
25157 2010-01-28  Jim Meyering  <meyering@redhat.com>
25158
25159         regex: do not ignore memory allocation failure
25160         * lib/regex_internal.c (create_cd_newstate): Detect
25161         re_node_set_init_copy failure.   Extracted from glibc commit
25162         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
25163
25164         regex: sync more white-space changes from libc
25165         * lib/regex_internal.c: White-space only changes.
25166         * lib/regexec.c: Likewise.
25167
25168         regex: add many uses of __attribute_warn_unused_result__
25169         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
25170         * lib/regexec.c: Likewise.
25171         Extracted from a messy glibc commit.
25172
25173         regcomp.c: spelling and merge-artifact from glibc
25174         * lib/regcomp.c: Merge remainder of glibc's
25175         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
25176
25177         regcomp.c: sync white-space changes from glibc
25178         * lib/regcomp.c: Merge to accommodate white space
25179         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
25180
25181         regcomp.c: do not ignore internal return values
25182         * lib/regcomp.c: Do not ignore internal return values.
25183         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
25184         but without its white-space changes and spelling fixes.
25185
25186         regex_internal.h: define __attribute_warn_unused_result__
25187         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
25188
25189         maint: add a syntax-check rule to check for vulnerable Makefile.in
25190         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
25191
25192 2010-01-27  Jim Meyering  <meyering@redhat.com>
25193
25194         ncftpput-ftp: clean up spaces
25195         * build-aux/ncftpput-ftp: Make Copyright line consistent.
25196         Remove trailing blanks.
25197
25198 2010-01-27  Simon Josefsson  <simon@josefsson.org>
25199
25200         * build-aux/git-version-gen: Fix copyright statement.
25201         * build-aux/gnupload: Likewise.
25202         * tests/test-arcfour.c: Likewise.
25203         * tests/test-arctwo.c: Likewise.
25204         * tests/test-count-one-bits.c: Likewise.
25205         * tests/test-crc.c: Likewise.
25206         * tests/test-des.c: Likewise.
25207         * tests/test-gc-arcfour.c: Likewise.
25208         * tests/test-gc-arctwo.c: Likewise.
25209         * tests/test-gc-des.c: Likewise.
25210         * tests/test-gc-hmac-md5.c: Likewise.
25211         * tests/test-gc-hmac-sha1.c: Likewise.
25212         * tests/test-gc-md2.c: Likewise.
25213         * tests/test-gc-md4.c: Likewise.
25214         * tests/test-gc-md5.c: Likewise.
25215         * tests/test-gc-pbkdf2-sha1.c: Likewise.
25216         * tests/test-gc-rijndael.c: Likewise.
25217         * tests/test-gc-sha1.c: Likewise.
25218         * tests/test-gc.c: Likewise.
25219         * tests/test-gethostname.c: Likewise.
25220         * tests/test-gettimeofday.c: Likewise.
25221         * tests/test-hash.c: Likewise.
25222         * tests/test-hmac-md5.c: Likewise.
25223         * tests/test-hmac-sha1.c: Likewise.
25224         * tests/test-md2.c: Likewise.
25225         * tests/test-md4.c: Likewise.
25226         * tests/test-md5.c: Likewise.
25227         * tests/test-memchr.c: Likewise.
25228         * tests/test-memchr2.c: Likewise.
25229         * tests/test-memcmp.c: Likewise.
25230         * tests/test-memmem.c: Likewise.
25231         * tests/test-memrchr.c: Likewise.
25232         * tests/test-rawmemchr.c: Likewise.
25233         * tests/test-read-file.c: Likewise.
25234         * tests/test-rijndael.c: Likewise.
25235         * tests/test-sockets.c: Likewise.
25236         * tests/test-strchrnul.c: Likewise.
25237         * tests/test-strstr.c: Likewise.
25238         * tests/test-strtod.c: Likewise.
25239         * build-aux/ncftpput-ftp: Likewise.
25240
25241 2010-01-26  Eric Blake  <ebb9@byu.net>
25242
25243         ignore-value: update recommended header name
25244         * modules/ignore-value (Include): Only use <> for headers that
25245         exist in glibc.
25246
25247 2010-01-26  Jim Meyering  <meyering@redhat.com>
25248
25249         test-userspec.c: avoid compiler warnings
25250         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
25251         and "initialization discards qualifiers..." warnings.
25252         Put the first "uid" in its own scope, and make char* members "const".
25253
25254 2010-01-25  Bruno Haible  <bruno@clisp.org>
25255
25256         gnulib-tool: Make warning diagnostics consistent.
25257         * gnulib-tool (func_warning): New function.
25258         Use it everywhere where gnulib-tool produces output to stderr and it is
25259         not a fatal error.
25260
25261 2010-01-25  Bruno Haible  <bruno@clisp.org>
25262
25263         Fix test dependencies.
25264         * modules/xstrtol-tests (Depends-on): Add inttypes.
25265         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
25266
25267 2010-01-25 Pádraig Brady <P@draigBrady.com>
25268
25269         syntax-check: detect incorrect boolean macro values in config.h
25270         * modules/maintainer-makefile (configure.ac): Parameterize the location
25271         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
25272         The logic is from Eric Blake and the location indicated by Jim Meyering.
25273         Note the more natural CONFIG_HEADER name is prohibited by automake
25274         for backwards compatibility reasons.
25275         * top/maint.mk (sc_Wundef_boolean): New rule.
25276
25277 2010-01-25  Jim Meyering  <meyering@redhat.com>
25278
25279         bootstrap: detect MacOS 10.6's shasum, too
25280         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
25281         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
25282
25283 2010-01-23  Jim Meyering  <meyering@redhat.com>
25284
25285         xstrtoll: new module
25286         * modules/xstrtoll: New file.
25287         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
25288         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
25289         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
25290         ./configure fails if you use this module and lack "long long".
25291         * modules/xstrtoll-tests: New module.
25292         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
25293         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
25294         new init.sh-based test framework.
25295
25296 2010-01-24  Bruno Haible  <bruno@clisp.org>
25297
25298         Tests for module 'yn'.
25299         * modules/yn-tests: New file.
25300         * tests/test-yn.c: New file.
25301
25302         Tests for module 'y1'.
25303         * modules/y1-tests: New file.
25304         * tests/test-y1.c: New file.
25305
25306         Tests for module 'y0'.
25307         * modules/y0-tests: New file.
25308         * tests/test-y0.c: New file.
25309
25310         Tests for module 'tanh'.
25311         * modules/tanh-tests: New file.
25312         * tests/test-tanh.c: New file.
25313
25314         Tests for module 'tan'.
25315         * modules/tan-tests: New file.
25316         * tests/test-tan.c: New file.
25317
25318         Tests for module 'sqrt'.
25319         * modules/sqrt-tests: New file.
25320         * tests/test-sqrt.c: New file.
25321
25322         Tests for module 'sinh'.
25323         * modules/sinh-tests: New file.
25324         * tests/test-sinh.c: New file.
25325
25326         Tests for module 'sin'.
25327         * modules/sin-tests: New file.
25328         * tests/test-sin.c: New file.
25329
25330         Tests for module 'rint'.
25331         * modules/rint-tests: New file.
25332         * tests/test-rint.c: New file.
25333
25334         Tests for module 'remainder'.
25335         * modules/remainder-tests: New file.
25336         * tests/test-remainder.c: New file.
25337
25338         Tests for module 'pow'.
25339         * modules/pow-tests: New file.
25340         * tests/test-pow.c: New file.
25341
25342         Tests for module 'nextafter'.
25343         * modules/nextafter-tests: New file.
25344         * tests/test-nextafter.c: New file.
25345
25346         Tests for module 'modf'.
25347         * modules/modf-tests: New file.
25348         * tests/test-modf.c: New file.
25349
25350         Tests for module 'logb'.
25351         * modules/logb-tests: New file.
25352         * tests/test-logb.c: New file.
25353
25354         Tests for module 'log1p'.
25355         * modules/log1p-tests: New file.
25356         * tests/test-log1p.c: New file.
25357
25358         Tests for module 'log10'.
25359         * modules/log10-tests: New file.
25360         * tests/test-log10.c: New file.
25361
25362         Tests for module 'log'.
25363         * modules/log-tests: New file.
25364         * tests/test-log.c: New file.
25365
25366         Tests for module 'lgamma'.
25367         * modules/lgamma-tests: New file.
25368         * tests/test-lgamma.c: New file.
25369
25370         Tests for module 'ldexp'.
25371         * modules/ldexp-tests: New file.
25372         * tests/test-ldexp.c: New file.
25373
25374         Tests for module 'jn'.
25375         * modules/jn-tests: New file.
25376         * tests/test-jn.c: New file.
25377
25378         Tests for module 'j1'.
25379         * modules/j1-tests: New file.
25380         * tests/test-j1.c: New file.
25381
25382         Tests for module 'j0'.
25383         * modules/j0-tests: New file.
25384         * tests/test-j0.c: New file.
25385
25386         Tests for module 'hypot'.
25387         * modules/hypot-tests: New file.
25388         * tests/test-hypot.c: New file.
25389
25390         Tests for module 'fmod'.
25391         * modules/fmod-tests: New file.
25392         * tests/test-fmod.c: New file.
25393
25394         Tests for module 'fabs'.
25395         * modules/fabs-tests: New file.
25396         * tests/test-fabs.c: New file.
25397
25398         Tests for module 'exp'.
25399         * modules/exp-tests: New file.
25400         * tests/test-exp.c: New file.
25401
25402         Tests for module 'erfc'.
25403         * modules/erfc-tests: New file.
25404         * tests/test-erfc.c: New file.
25405
25406         Tests for module 'erf'.
25407         * modules/erf-tests: New file.
25408         * tests/test-erf.c: New file.
25409
25410         Tests for module 'cosh'.
25411         * modules/cosh-tests: New file.
25412         * tests/test-cosh.c: New file.
25413
25414         Tests for module 'cos'.
25415         * modules/cos-tests: New file.
25416         * tests/test-cos.c: New file.
25417
25418         Tests for module 'copysign'.
25419         * modules/copysign-tests: New file.
25420         * tests/test-copysign.c: New file.
25421
25422         Tests for module 'cbrt'.
25423         * modules/cbrt-tests: New file.
25424         * tests/test-cbrt.c: New file.
25425
25426         Tests for module 'atan2'.
25427         * modules/atan2-tests: New file.
25428         * tests/test-atan2.c: New file.
25429
25430         Tests for module 'atan'.
25431         * modules/atan-tests: New file.
25432         * tests/test-atan.c: New file.
25433
25434         Tests for module 'asin'.
25435         * modules/asin-tests: New file.
25436         * tests/test-asin.c: New file.
25437
25438         Tests for module 'acos'.
25439         * modules/acos-tests: New file.
25440         * tests/test-acos.c: New file.
25441
25442 2010-01-24  Bruno Haible  <bruno@clisp.org>
25443
25444         Fix tests for common <math.h> functions.
25445         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
25446         code snippet that references the function pointer, rather than merely
25447         calling the function. Substitute the FUNC_LIBM variable.
25448         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
25449         * modules/acos (configure.ac): Likewise.
25450         * modules/asin (configure.ac): Likewise.
25451         * modules/atan (configure.ac): Likewise.
25452         * modules/atan2 (configure.ac): Likewise.
25453         * modules/cbrt (configure.ac): Likewise.
25454         * modules/copysign (configure.ac): Likewise.
25455         * modules/cos (configure.ac): Likewise.
25456         * modules/cosh (configure.ac): Likewise.
25457         * modules/erf (configure.ac): Likewise.
25458         * modules/erfc (configure.ac): Likewise.
25459         * modules/exp (configure.ac): Likewise.
25460         * modules/fabs (configure.ac): Likewise.
25461         * modules/fmod (configure.ac): Likewise.
25462         * modules/hypot (configure.ac): Likewise.
25463         * modules/j0 (configure.ac): Likewise.
25464         * modules/j1 (configure.ac): Likewise.
25465         * modules/jn (configure.ac): Likewise.
25466         * modules/ldexp (configure.ac): Likewise.
25467         * modules/lgamma (configure.ac): Likewise.
25468         * modules/log (configure.ac): Likewise.
25469         * modules/log10 (configure.ac): Likewise.
25470         * modules/log1p (configure.ac): Likewise.
25471         * modules/logb (configure.ac): Likewise.
25472         * modules/modf (configure.ac): Likewise.
25473         * modules/nextafter (configure.ac): Likewise.
25474         * modules/pow (configure.ac): Likewise.
25475         * modules/remainder (configure.ac): Likewise.
25476         * modules/rint (configure.ac): Likewise.
25477         * modules/sin (configure.ac): Likewise.
25478         * modules/sinh (configure.ac): Likewise.
25479         * modules/tan (configure.ac): Likewise.
25480         * modules/tanh (configure.ac): Likewise.
25481         * modules/y0 (configure.ac): Likewise.
25482         * modules/y1 (configure.ac): Likewise.
25483         * modules/yn (configure.ac): Likewise.
25484
25485 2010-01-24  Bruno Haible  <bruno@clisp.org>
25486
25487         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
25488         * tests/test-acosl.c (x): New variable.
25489         (main): Store argument in x and fetch it from x.
25490         * tests/test-asinl.c (x): New variable.
25491         (main): Store argument in x and fetch it from x.
25492         * tests/test-atanl.c (x): New variable.
25493         (main): Store argument in x and fetch it from x.
25494         * tests/test-cosl.c (x): New variable.
25495         (main): Store argument in x and fetch it from x.
25496         * tests/test-expl.c (x): New variable.
25497         (main): Store argument in x and fetch it from x.
25498         * tests/test-logl.c (x): New variable.
25499         (main): Store argument in x and fetch it from x.
25500         * tests/test-sinl.c (x): New variable.
25501         (main): Store argument in x and fetch it from x.
25502         * tests/test-sqrtl.c (x): New variable.
25503         (main): Store argument in x and fetch it from x.
25504         * tests/test-tanl.c (x): New variable.
25505         (main): Store argument in x and fetch it from x.
25506
25507 2010-01-24  Bruno Haible  <bruno@clisp.org>
25508
25509         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
25510         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
25511         assignments to the initial TESTS_ENVIRONMENT.
25512         * doc/gnulib.texi (Unit test modules): Document it.
25513         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
25514         TESTS_ENVIRONMENT.
25515         * modules/btowc-tests (Makefile.am): Likewise.
25516         * modules/c-stack-tests (Makefile.am): Likewise.
25517         * modules/c-strcase-tests (Makefile.am): Likewise.
25518         * modules/copy-file-tests (Makefile.am): Likewise.
25519         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
25520         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
25521         * modules/mbrtowc-tests (Makefile.am): Likewise.
25522         * modules/mbscasecmp-tests (Makefile.am): Likewise.
25523         * modules/mbscasestr-tests (Makefile.am): Likewise.
25524         * modules/mbschr-tests (Makefile.am): Likewise.
25525         * modules/mbscspn-tests (Makefile.am): Likewise.
25526         * modules/mbsinit-tests (Makefile.am): Likewise.
25527         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
25528         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
25529         * modules/mbspbrk-tests (Makefile.am): Likewise.
25530         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
25531         * modules/mbsrchr-tests (Makefile.am): Likewise.
25532         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
25533         * modules/mbsspn-tests (Makefile.am): Likewise.
25534         * modules/mbsstr-tests (Makefile.am): Likewise.
25535         * modules/nl_langinfo-tests (Makefile.am): Likewise.
25536         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
25537         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
25538         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
25539         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
25540         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
25541         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
25542         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
25543         * modules/wcrtomb-tests (Makefile.am): Likewise.
25544         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
25545         * modules/wcsrtombs-tests (Makefile.am): Likewise.
25546         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
25547         assignments from TESTS_ENVIRONMENT.
25548         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
25549         augmentation.
25550         * modules/argp-version-etc-tests (Makefile.am): Likewise.
25551         * modules/atexit-tests (Makefile.am): Likewise.
25552         * modules/binary-io-tests (Makefile.am): Likewise.
25553         * modules/closein-tests (Makefile.am): Likewise.
25554         * modules/dprintf-posix-tests (Makefile.am): Likewise.
25555         * modules/exclude-tests (Makefile.am): Likewise.
25556         * modules/fflush-tests (Makefile.am): Likewise.
25557         * modules/fpending-tests (Makefile.am): Likewise.
25558         * modules/fprintf-posix-tests (Makefile.am): Likewise.
25559         * modules/freadahead-tests (Makefile.am): Likewise.
25560         * modules/freadptr-tests (Makefile.am): Likewise.
25561         * modules/freadseek-tests (Makefile.am): Likewise.
25562         * modules/fseek-tests (Makefile.am): Likewise.
25563         * modules/fseeko-tests (Makefile.am): Likewise.
25564         * modules/ftell-tests (Makefile.am): Likewise.
25565         * modules/ftello-tests (Makefile.am): Likewise.
25566         * modules/idpriv-drop-tests (Makefile.am): Likewise.
25567         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
25568         * modules/lseek-tests (Makefile.am): Likewise.
25569         * modules/parse-duration-tests (Makefile.am): Likewise.
25570         * modules/perror-tests (Makefile.am): Likewise.
25571         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
25572         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
25573         * modules/pipe-tests (Makefile.am): Likewise.
25574         * modules/pread-tests (Makefile.am): Likewise.
25575         * modules/printf-posix-tests (Makefile.am): Likewise.
25576         * modules/select-tests (Makefile.am): Likewise.
25577         * modules/sigpipe-tests (Makefile.am): Likewise.
25578         * modules/tsearch-tests (Makefile.am): Likewise.
25579         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
25580         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
25581         * modules/uniname/uniname-tests (Makefile.am): Likewise.
25582         * modules/uniwidth/width-tests (Makefile.am): Likewise.
25583         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
25584         * modules/version-etc-tests (Makefile.am): Likewise.
25585         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
25586         * modules/vprintf-posix-tests (Makefile.am): Likewise.
25587         * modules/xalloc-die-tests (Makefile.am): Likewise.
25588         * modules/xprintf-posix-tests (Makefile.am): Likewise.
25589         * modules/xstrtoimax-tests (Makefile.am): Likewise.
25590         * modules/xstrtol-tests (Makefile.am): Likewise.
25591         * modules/xstrtoumax-tests (Makefile.am): Likewise.
25592         * modules/yesno-tests (Makefile.am): Likewise.
25593         Suggested by Jim Meyering.
25594
25595 2010-01-24  Bruno Haible  <bruno@clisp.org>
25596
25597         More documentation.
25598         * doc/gnulib.texi (Writing modules): New chapter.
25599         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
25600         the new chapter.
25601
25602 2010-01-24  Jim Meyering  <meyering@redhat.com>
25603
25604         maint.mk: do not prepend "./" after filtering
25605         * top/maint.mk (_prepend_srcdir_prefix): New variable
25606         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
25607         "./" when $(srcdir) is ".".
25608
25609         define STREQ(a,b) consistently, removing useless parentheses
25610         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
25611         since the only risk is that "a" or "b" contains an unparenthesized
25612         comma, but if either did that, STREQ would have 3 or more arguments.
25613         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
25614         * lib/fts.c (STREQ): Remove unnecessary parentheses.
25615         * lib/hash-triple.c (STREQ): Likewise.
25616         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
25617         * lib/getugroups.c (STREQ): Likewise.
25618
25619 2010-01-23  Jim Meyering  <meyering@redhat.com>
25620
25621         maint.mk: fix syntax-check in a non-srcdir build directory
25622         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
25623         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
25624
25625 2010-01-22  Jim Meyering  <meyering@redhat.com>
25626
25627         userspec: add unit tests
25628         * tests/test-userspec.c: New file.
25629         * modules/userspec-tests: Likewise.
25630
25631 2010-01-21  Jim Meyering  <meyering@redhat.com>
25632
25633         maint.mk: handle source file names containing "." robustly
25634         * top/maint.mk (_dot_escaped_srcdir): Define.
25635         (VC_LIST): Use it in LHS of sed substitution.
25636
25637 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
25638
25639         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
25640         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
25641         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
25642         from a non-srcdir build.
25643
25644 2010-01-20  Eric Blake  <ebb9@byu.net>
25645
25646         warn-on-use: use instead of link-warning
25647         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
25648         * modules/unistd (Depends-on, Makefile.am): Likewise.
25649         * modules/arpa_inet (Depends-on): Replace link-warning with
25650         warn-on-use.
25651         (Makefile.am): Update rules accordingly.
25652         * modules/ctype (Depends-on, Makefile.am): Likewise.
25653         * modules/dirent (Depends-on, Makefile.am): Likewise.
25654         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
25655         * modules/inttypes (Depends-on, Makefile.am): Likewise.
25656         * modules/langinfo (Depends-on, Makefile.am): Likewise.
25657         * modules/locale (Depends-on, Makefile.am): Likewise.
25658         * modules/math (Depends-on, Makefile.am): Likewise.
25659         * modules/search (Depends-on, Makefile.am): Likewise.
25660         * modules/signal (Depends-on, Makefile.am): Likewise.
25661         * modules/spawn (Depends-on, Makefile.am): Likewise.
25662         * modules/stdlib (Depends-on, Makefile.am): Likewise.
25663         * modules/string (Depends-on, Makefile.am): Likewise.
25664         * modules/strings (Depends-on, Makefile.am): Likewise.
25665         * modules/sys_file (Depends-on, Makefile.am): Likewise.
25666         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
25667         * modules/sys_select (Depends-on, Makefile.am): Likewise.
25668         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
25669         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
25670         * modules/sys_times (Depends-on, Makefile.am): Likewise.
25671         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
25672         * modules/wchar (Depends-on, Makefile.am): Likewise.
25673         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
25674         should be poisoned.
25675         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
25676         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
25677         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
25678         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
25679         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
25680         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
25681         * m4/math_h.m4 (gl_MATH_H): Likewise.
25682         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25683         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
25684         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25685         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
25686         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
25687         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
25688         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
25689         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
25690         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
25691         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25692         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
25693         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
25694         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25695         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25696         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25697         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
25698         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
25699         GL_LINK_WARNING.
25700         * lib/ctype.in.h: Likewise.
25701         * lib/dirent.in.h: Likewise.
25702         * lib/fcntl.in.h: Likewise.
25703         * lib/inttypes.in.h: Likewise.
25704         * lib/langinfo.in.h: Likewise.
25705         * lib/locale.in.h: Likewise.
25706         * lib/math.in.h: Likewise.
25707         * lib/search.in.h: Likewise.
25708         * lib/signal.in.h: Likewise.
25709         * lib/spawn.in.h: Likewise.
25710         * lib/stdio.in.h: Likewise.
25711         * lib/stdlib.in.h: Likewise.
25712         * lib/string.in.h: Likewise.
25713         * lib/strings.in.h: Likewise.
25714         * lib/sys_file.in.h: Likewise.
25715         * lib/sys_ioctl.in.h: Likewise.
25716         * lib/sys_select.in.h: Likewise.
25717         * lib/sys_socket.in.h: Likewise.
25718         * lib/sys_stat.in.h: Likewise.
25719         * lib/sys_times.in.h: Likewise.
25720         * lib/sys_utsname.in.h: Likewise.
25721         * lib/unistd.in.h: Likewise.
25722         * lib/wchar.in.h: Likewise.
25723
25724 2010-01-20  Bruno Haible  <bruno@clisp.org>
25725
25726         Avoid duplicate -lm.
25727         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
25728         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
25729         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
25730         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
25731         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
25732         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
25733         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
25734         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
25735         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
25736         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
25737         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
25738         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
25739         Reported by Paolo Bonzini.
25740
25741 2010-01-19  Bruno Haible  <bruno@clisp.org>
25742
25743         langinfo, nl_langinfo: Relicense under LGPLv2+.
25744         * modules/langinfo (License): Change to LGPLv2+.
25745         * modules/nl_langinfo (License): Likewise.
25746         Patch by David Lutterkort <lutter@redhat.com>.
25747
25748 2010-01-19  Bruno Haible  <bruno@clisp.org>
25749
25750         Avoid compilation error with cc on OSF/1 5.1.
25751         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
25752         statement, not before.
25753         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25754
25755 2010-01-18  Bruno Haible  <bruno@clisp.org>
25756
25757         Avoid a link error due to the __printf__ symbol.
25758         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
25759         and 2.6.x.
25760         (__format__, __printf__): Remove definitions.
25761         * lib/argp-fmtstream.h: Likewise.
25762         * lib/argp.h: Likewise.
25763         * lib/error.h: Likewise.
25764         * lib/vasnprintf.h: Likewise.
25765         * lib/xprintf.h: Likewise.
25766         * lib/xvasprintf.h: Likewise.
25767         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25768
25769 2010-01-18  Bruno Haible  <bruno@clisp.org>
25770
25771         Tests for module 'tanl'.
25772         * modules/tanl-tests: New file.
25773         * tests/test-tanl.c: New file.
25774
25775         Tests for module 'sqrtl'.
25776         * modules/sqrtl-tests: New file.
25777         * tests/test-sqrtl.c: New file.
25778
25779         Tests for module 'sinl'.
25780         * modules/sinl-tests: New file.
25781         * tests/test-sinl.c: New file.
25782
25783         Tests for module 'logl'.
25784         * modules/logl-tests: New file.
25785         * tests/test-logl.c: New file.
25786
25787         Tests for module 'expl'.
25788         * modules/expl-tests: New file.
25789         * tests/test-expl.c: New file.
25790
25791         Tests for module 'cosl'.
25792         * modules/cosl-tests: New file.
25793         * tests/test-cosl.c: New file.
25794
25795         Tests for module 'atanl'.
25796         * modules/atanl-tests: New file.
25797         * tests/test-atanl.c: New file.
25798
25799         Tests for module 'asinl'.
25800         * modules/asinl-tests: New file.
25801         * tests/test-asinl.c: New file.
25802
25803         Tests for module 'acosl'.
25804         * modules/acosl-tests: New file.
25805         * tests/test-acosl.c: New file.
25806
25807         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
25808         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
25809         tanl): Use the standard gnulib idiom.
25810         * lib/cosl.c: Don't include trigl.c and sincosl.c.
25811         * lib/sinl.c: Likewise.
25812         * lib/tanl.c: Don't include trigl.c.
25813         (kernel_tanl): Make static.
25814         * lib/sincosl.c: Include trigl.h first.
25815         * lib/trigl.c: Likewise.
25816         * m4/acosl.m4: New file.
25817         * m4/asinl.m4: New file.
25818         * m4/atanl.m4: New file.
25819         * m4/cosl.m4: New file.
25820         * m4/expl.m4: New file.
25821         * m4/logl.m4: New file.
25822         * m4/sinl.m4: New file.
25823         * m4/sqrtl.m4: New file.
25824         * m4/tanl.m4: New file.
25825         * m4/mathl.m4: Remove file.
25826         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
25827         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
25828         Don't initialize GNULIB_MATHL.
25829         * modules/acosl: New file.
25830         * modules/asinl: New file.
25831         * modules/atanl: New file.
25832         * modules/cosl: New file.
25833         * modules/expl: New file.
25834         * modules/logl: New file.
25835         * modules/sinl: New file.
25836         * modules/sqrtl: New file.
25837         * modules/tanl: New file.
25838         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
25839         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
25840         substitute GNULIB_MATHL.
25841         * modules/mathl: Rewritten.
25842         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
25843         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
25844         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
25845         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
25846         * doc/posix-functions/expl.texi: Mention the 'expl' module.
25847         * doc/posix-functions/logl.texi: Mention the 'logl' module.
25848         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
25849         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
25850         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
25851
25852 2010-01-18  Bruno Haible  <bruno@clisp.org>
25853
25854         sqrt: Make gl_FUNC_SQRT requirable.
25855         * m4/sqrt.m4: New file.
25856         * modules/sqrt (Files): Add it.
25857         (configure.ac): Invoke gl_FUNC_SQRT.
25858
25859 2010-01-18  Bruno Haible  <bruno@clisp.org>
25860
25861         New modules for common <math.h> functions.
25862         * m4/mathfunc.m4: New file.
25863         * modules/acos: New file.
25864         * modules/asin: New file.
25865         * modules/atan: New file.
25866         * modules/atan2: New file.
25867         * modules/cbrt: New file.
25868         * modules/copysign: New file.
25869         * modules/cos: New file.
25870         * modules/cosh: New file.
25871         * modules/erf: New file.
25872         * modules/erfc: New file.
25873         * modules/exp: New file.
25874         * modules/fabs: New file.
25875         * modules/fmod: New file.
25876         * modules/hypot: New file.
25877         * modules/j0: New file.
25878         * modules/j1: New file.
25879         * modules/jn: New file.
25880         * modules/ldexp: New file.
25881         * modules/lgamma: New file.
25882         * modules/log: New file.
25883         * modules/log10: New file.
25884         * modules/log1p: New file.
25885         * modules/logb: New file.
25886         * modules/modf: New file.
25887         * modules/nextafter: New file.
25888         * modules/pow: New file.
25889         * modules/remainder: New file.
25890         * modules/rint: New file.
25891         * modules/sin: New file.
25892         * modules/sinh: New file.
25893         * modules/sqrt: New file.
25894         * modules/tan: New file.
25895         * modules/tanh: New file.
25896         * modules/y0: New file.
25897         * modules/y1: New file.
25898         * modules/yn: New file.
25899         * doc/posix-functions/acos.texi: Mention the 'acos' module.
25900         * doc/posix-functions/asin.texi: Mention the 'asin' module.
25901         * doc/posix-functions/atan.texi: Mention the 'atan' module.
25902         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
25903         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
25904         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
25905         * doc/posix-functions/cos.texi: Mention the 'cos' module.
25906         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
25907         * doc/posix-functions/erf.texi: Mention the 'erf' module.
25908         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
25909         * doc/posix-functions/exp.texi: Mention the 'exp' module.
25910         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
25911         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
25912         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
25913         * doc/posix-functions/j0.texi: Mention the 'j0' module.
25914         * doc/posix-functions/j1.texi: Mention the 'j1' module.
25915         * doc/posix-functions/jn.texi: Mention the 'jn' module.
25916         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
25917         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
25918         * doc/posix-functions/log.texi: Mention the 'log' module.
25919         * doc/posix-functions/log10.texi: Mention the 'log10' module.
25920         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
25921         * doc/posix-functions/logb.texi: Mention the 'logb' module.
25922         * doc/posix-functions/modf.texi: Mention the 'modf' module.
25923         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
25924         * doc/posix-functions/pow.texi: Mention the 'pow' module.
25925         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
25926         * doc/posix-functions/rint.texi: Mention the 'rint' module.
25927         * doc/posix-functions/sin.texi: Mention the 'sin' module.
25928         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
25929         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
25930         * doc/posix-functions/tan.texi: Mention the 'tan' module.
25931         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
25932         * doc/posix-functions/y0.texi: Mention the 'y0' module.
25933         * doc/posix-functions/y1.texi: Mention the 'y1' module.
25934         * doc/posix-functions/yn.texi: Mention the 'yn' module.
25935
25936 2010-01-18  Jim Meyering  <meyering@redhat.com>
25937
25938         ignore-value: relax license to LGPLv2+
25939         * modules/ignore-value (License): Relax to LGPLv2+.
25940
25941         getdate: don't leak when TZ contains two or more '"'s
25942         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
25943         double quote in TZ after the first one.
25944
25945         readtokens: do not leak internal token_lengths buffer
25946         * lib/readtokens.c (readtokens): Free the local, lengths,
25947         when the supplied "token_lengths" parameter is NULL.
25948
25949 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25950
25951         Fix a couple of missing LIBTHREAD link failures on AIX.
25952         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
25953         $(LIBTHREAD).
25954         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
25955
25956         Link test-poll against INET_PTON_LIB.
25957         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
25958         for inet_pton on Solaris 10.
25959
25960 2010-01-17  Bruno Haible  <bruno@clisp.org>
25961
25962         unistdio/*-sprintf: Fix typo in module description.
25963         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
25964         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
25965         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
25966         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
25967         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
25968         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
25969         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
25970         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25971
25972 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25973
25974         gnulib-tool: fix filelist for AIX, HP-UX ksh.
25975         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
25976         variables in shell case patterns, for AIX and HP-UX ksh.
25977
25978         Split large sed scripts, for HP-UX sed.
25979         * modules/stdio: Split sed scripts around 50 sed commands,
25980         to avoid HP-UX limit of 99 commands, in the near future.
25981         * modules/string: Likewise.
25982         * modules/unistd: Likewise.
25983
25984         gnulib-tool: avoid writing in the current directory.
25985         * gnulib-tool (func_emit_lib_Makefile_am)
25986         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
25987         not in the current directory, so concurrent gnulib-tool
25988         instances do not interfere.
25989
25990 2010-01-16  Jim Meyering  <meyering@redhat.com>
25991
25992         doc: update users.txt
25993         * users.txt: Add grep.
25994         (diffutils, gzip): Update URLs.
25995
25996 2010-01-12  Bruno Haible  <bruno@clisp.org>
25997
25998         posix_spawn: Avoid test failure on Cygwin.
25999         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
26000         characters.
26001         Reported by Simon Josefsson.
26002
26003 2010-01-12  Bruno Haible  <bruno@clisp.org>
26004
26005         * tests/test-cond.c (main): When skipping the test, show the reason.
26006
26007 2010-01-12  Simon Josefsson  <simon@josefsson.org>
26008
26009         * lib/striconv.c (str_cd_iconv): Avoid if before free.
26010
26011 2010-01-12  Simon Josefsson  <simon@josefsson.org>
26012
26013         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
26014         VC_LIST_ALWAYS_EXCLUDE_REGEX.
26015
26016 2010-01-12  Eric Blake  <ebb9@byu.net>
26017
26018         build: guarantee AS_VAR_IF
26019         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
26020         (gl_AS_VAR_IF): Move...
26021         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
26022         Reported by Simon Josefsson.
26023
26024 2010-01-12  Simon Josefsson  <simon@josefsson.org>
26025
26026         * lib/stdio.in.h: Fix typo.
26027
26028 2010-01-12  Simon Josefsson  <simon@josefsson.org>
26029
26030         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
26031         libgpg-error.
26032
26033 2010-01-12  Simon Josefsson  <simon@josefsson.org>
26034
26035         * tests/test-xalloc-die.sh: Use $EXEEXT.
26036
26037 2010-01-12  Simon Josefsson  <simon@josefsson.org>
26038             Bruno Haible  <bruno@clisp.org>
26039
26040         getlogin, getlogin_r: Avoid test failure.
26041         * tests/test-getlogin.c: Include <stdio.h>.
26042         (main): Skip the test when the function fails because stdin is not a
26043         tty.
26044         * tests/test-getlogin_r.c: Include <stdio.h>.
26045         (main): Skip the test when the function fails because stdin is not a
26046         tty.
26047
26048 2010-01-11  Eric Blake  <ebb9@byu.net>
26049
26050         tests: avoid more large file warnings
26051         * tests/test-fflush.c: Avoid warning about ftell use.
26052         * tests/test-fseek.c: Avoid warning about fseek use.
26053
26054 2010-01-10  Bruno Haible  <bruno@clisp.org>
26055
26056         nproc: Work better on Linux when /proc and /sys are not mounted.
26057         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
26058         as lower bound when, on glibc/Linux systems,
26059         sysconf (_SC_NPROCESSORS_CONF) returns 1.
26060         Suggested by Pádraig Brady <P@draigbrady.com>.
26061         Reported by Dmitry V. Levin <ldv@altlinux.org>.
26062
26063         nproc: Refactor.
26064         * lib/nproc.c (num_processors_via_affinity_mask): New function,
26065         extracted from num_processors.
26066         (num_processors): Call it.
26067
26068 2010-01-11  Jim Meyering  <meyering@redhat.com>
26069
26070         utimecmp: avoid new warning from upcoming gcc-4.5.0
26071         * lib/utimecmp.c (BILLION): Define using #define rather than an
26072         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
26073
26074 2010-01-11  Eric Blake  <ebb9@byu.net>
26075
26076         math: add portability warnings for classification macros
26077         * modules/math (Depends-on): Add warn-on-use.
26078         (Makefile.am): Provide new substitutions.
26079         * m4/math_h.m4 (gl_MATH_H): Require inline.
26080         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
26081         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
26082         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
26083         implement warnings.
26084
26085         unistd: warn on use of environ without module
26086         * modules/unistd (Depends-on): Add warn-on-use.
26087         (Makefile.am): Provide new substitutions.
26088         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
26089         * lib/unistd.in.h (environ): Wrap with a warning helper function.
26090
26091         stdio: warn on suspicious uses
26092         * modules/stdio (Depends-on): Add warn-on-use.
26093         (Makefile.am): Provide new substitutions.
26094         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
26095         fseeko.
26096         * lib/stdio.in.h (gets): Always warn on use.
26097         (fseek, ftell): Adjust when warnings are issued, and honor
26098         _GL_NO_LARGE_FILES as a way to silence the warning.
26099         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
26100         any warning about large file offsets.
26101         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
26102         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
26103         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
26104         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
26105         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
26106         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
26107         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
26108         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
26109
26110         warn-on-use: new module
26111         * modules/warn-on-use: New file.
26112         * build-aux/warn-on-use.h: Likewise.
26113         * m4/warn-on-use.m4: Likewise.
26114         * MODULES.html.sh (Support for building): Mention it.
26115
26116 2010-01-10  Bruno Haible  <bruno@clisp.org>
26117
26118         Tests for module 'unistr/u32-strdup'.
26119         * modules/unistr/u32-strdup-tests: New file.
26120         * tests/unistr/test-u32-strdup.c: New file.
26121
26122         Tests for module 'unistr/u16-strdup'.
26123         * modules/unistr/u16-strdup-tests: New file.
26124         * tests/unistr/test-u16-strdup.c: New file.
26125
26126         Tests for module 'unistr/u8-strdup'.
26127         * modules/unistr/u8-strdup-tests: New file.
26128         * tests/unistr/test-u8-strdup.c: New file.
26129         * tests/unistr/test-strdup.h: New file.
26130
26131         Tests for module 'unistr/u32-strncmp'.
26132         * modules/unistr/u32-strncmp-tests: New file.
26133         * tests/unistr/test-u32-strncmp.c: New file.
26134
26135         Tests for module 'unistr/u16-strncmp'.
26136         * modules/unistr/u16-strncmp-tests: New file.
26137         * tests/unistr/test-u16-strncmp.c: New file.
26138
26139         Tests for module 'unistr/u8-strncmp'.
26140         * modules/unistr/u8-strncmp-tests: New file.
26141         * tests/unistr/test-u8-strncmp.c: New file.
26142         * tests/unistr/test-strncmp.h: New file.
26143
26144         Tests for module 'unistr/u32-strcoll'.
26145         * modules/unistr/u32-strcoll-tests: New file.
26146         * tests/unistr/test-u32-strcoll.c: New file.
26147
26148         Tests for module 'unistr/u16-strcoll'.
26149         * modules/unistr/u16-strcoll-tests: New file.
26150         * tests/unistr/test-u16-strcoll.c: New file.
26151
26152         Tests for module 'unistr/u8-strcoll'.
26153         * modules/unistr/u8-strcoll-tests: New file.
26154         * tests/unistr/test-u8-strcoll.c: New file.
26155
26156         Tests for module 'unistr/u32-strcmp'.
26157         * modules/unistr/u32-strcmp-tests: New file.
26158         * tests/unistr/test-u32-strcmp.c: New file.
26159         * tests/unistr/test-u32-strcmp.h: New file.
26160
26161         Tests for module 'unistr/u16-strcmp'.
26162         * modules/unistr/u16-strcmp-tests: New file.
26163         * tests/unistr/test-u16-strcmp.c: New file.
26164         * tests/unistr/test-u16-strcmp.h: New file.
26165
26166         Tests for module 'unistr/u8-strcmp'.
26167         * modules/unistr/u8-strcmp-tests: New file.
26168         * tests/unistr/test-u8-strcmp.c: New file.
26169         * tests/unistr/test-u8-strcmp.h: New file.
26170         * tests/unistr/test-strcmp.h: New file.
26171
26172         Tests for module 'unistr/u32-strncat'.
26173         * modules/unistr/u32-strncat-tests: New file.
26174         * tests/unistr/test-u32-strncat.c: New file.
26175
26176         Tests for module 'unistr/u16-strncat'.
26177         * modules/unistr/u16-strncat-tests: New file.
26178         * tests/unistr/test-u16-strncat.c: New file.
26179
26180         Tests for module 'unistr/u8-strncat'.
26181         * modules/unistr/u8-strncat-tests: New file.
26182         * tests/unistr/test-u8-strncat.c: New file.
26183         * tests/unistr/test-strncat.h: New file.
26184
26185         Tests for module 'unistr/u32-strcat'.
26186         * modules/unistr/u32-strcat-tests: New file.
26187         * tests/unistr/test-u32-strcat.c: New file.
26188
26189         Tests for module 'unistr/u16-strcat'.
26190         * modules/unistr/u16-strcat-tests: New file.
26191         * tests/unistr/test-u16-strcat.c: New file.
26192
26193         Tests for module 'unistr/u8-strcat'.
26194         * modules/unistr/u8-strcat-tests: New file.
26195         * tests/unistr/test-u8-strcat.c: New file.
26196         * tests/unistr/test-strcat.h: New file.
26197
26198         Tests for module 'unistr/u32-stpncpy'.
26199         * modules/unistr/u32-stpncpy-tests: New file.
26200         * tests/unistr/test-u32-stpncpy.c: New file.
26201
26202         Tests for module 'unistr/u16-stpncpy'.
26203         * modules/unistr/u16-stpncpy-tests: New file.
26204         * tests/unistr/test-u16-stpncpy.c: New file.
26205
26206         Tests for module 'unistr/u8-stpncpy'.
26207         * modules/unistr/u8-stpncpy-tests: New file.
26208         * tests/unistr/test-u8-stpncpy.c: New file.
26209         * tests/unistr/test-stpncpy.h: New file.
26210
26211         Tests for module 'unistr/u32-strncpy'.
26212         * modules/unistr/u32-strncpy-tests: New file.
26213         * tests/unistr/test-u32-strncpy.c: New file.
26214
26215         Tests for module 'unistr/u16-strncpy'.
26216         * modules/unistr/u16-strncpy-tests: New file.
26217         * tests/unistr/test-u16-strncpy.c: New file.
26218
26219         Tests for module 'unistr/u8-strncpy'.
26220         * modules/unistr/u8-strncpy-tests: New file.
26221         * tests/unistr/test-u8-strncpy.c: New file.
26222         * tests/unistr/test-strncpy.h: New file.
26223
26224         Tests for module 'unistr/u32-stpcpy'.
26225         * modules/unistr/u32-stpcpy-tests: New file.
26226         * tests/unistr/test-u32-stpcpy.c: New file.
26227
26228         Tests for module 'unistr/u16-stpcpy'.
26229         * modules/unistr/u16-stpcpy-tests: New file.
26230         * tests/unistr/test-u16-stpcpy.c: New file.
26231
26232         Tests for module 'unistr/u8-stpcpy'.
26233         * modules/unistr/u8-stpcpy-tests: New file.
26234         * tests/unistr/test-u8-stpcpy.c: New file.
26235         * tests/unistr/test-stpcpy.h: New file.
26236
26237         Tests for module 'unistr/u32-strcpy'.
26238         * modules/unistr/u32-strcpy-tests: New file.
26239         * tests/unistr/test-u32-strcpy.c: New file.
26240
26241         Tests for module 'unistr/u16-strcpy'.
26242         * modules/unistr/u16-strcpy-tests: New file.
26243         * tests/unistr/test-u16-strcpy.c: New file.
26244
26245         Tests for module 'unistr/u8-strcpy'.
26246         * modules/unistr/u8-strcpy-tests: New file.
26247         * tests/unistr/test-u8-strcpy.c: New file.
26248         * tests/unistr/test-strcpy.h: New file.
26249
26250         Tests for module 'unistr/u32-strnlen'.
26251         * modules/unistr/u32-strnlen-tests: New file.
26252         * tests/unistr/test-u32-strnlen.c: New file.
26253
26254         Tests for module 'unistr/u16-strnlen'.
26255         * modules/unistr/u16-strnlen-tests: New file.
26256         * tests/unistr/test-u16-strnlen.c: New file.
26257
26258         Tests for module 'unistr/u8-strnlen'.
26259         * modules/unistr/u8-strnlen-tests: New file.
26260         * tests/unistr/test-u8-strnlen.c: New file.
26261         * tests/unistr/test-strnlen.h: New file.
26262
26263         Tests for module 'unistr/u32-strlen'.
26264         * modules/unistr/u32-strlen-tests: New file.
26265         * tests/unistr/test-u32-strlen.c: New file.
26266
26267         Tests for module 'unistr/u16-strlen'.
26268         * modules/unistr/u16-strlen-tests: New file.
26269         * tests/unistr/test-u16-strlen.c: New file.
26270
26271         Tests for module 'unistr/u8-strlen'.
26272         * modules/unistr/u8-strlen-tests: New file.
26273         * tests/unistr/test-u8-strlen.c: New file.
26274
26275         Tests for module 'unistr/u32-prev'.
26276         * modules/unistr/u32-prev-tests: New file.
26277         * tests/unistr/test-u32-prev.c: New file.
26278
26279         Tests for module 'unistr/u16-prev'.
26280         * modules/unistr/u16-prev-tests: New file.
26281         * tests/unistr/test-u16-prev.c: New file.
26282
26283         Tests for module 'unistr/u8-prev'.
26284         * modules/unistr/u8-prev-tests: New file.
26285         * tests/unistr/test-u8-prev.c: New file.
26286
26287         Tests for module 'unistr/u32-next'.
26288         * modules/unistr/u32-next-tests: New file.
26289         * tests/unistr/test-u32-next.c: New file.
26290
26291         Tests for module 'unistr/u16-next'.
26292         * modules/unistr/u16-next-tests: New file.
26293         * tests/unistr/test-u16-next.c: New file.
26294
26295         Tests for module 'unistr/u8-next'.
26296         * modules/unistr/u8-next-tests: New file.
26297         * tests/unistr/test-u8-next.c: New file.
26298
26299         Tests for module 'unistr/u32-strmbtouc'.
26300         * modules/unistr/u32-strmbtouc-tests: New file.
26301         * tests/unistr/test-u32-strmbtouc.c: New file.
26302
26303         Tests for module 'unistr/u16-strmbtouc'.
26304         * modules/unistr/u16-strmbtouc-tests: New file.
26305         * tests/unistr/test-u16-strmbtouc.c: New file.
26306
26307         Tests for module 'unistr/u8-strmbtouc'.
26308         * modules/unistr/u8-strmbtouc-tests: New file.
26309         * tests/unistr/test-u8-strmbtouc.c: New file.
26310
26311         Tests for module 'unistr/u32-strmblen'.
26312         * modules/unistr/u32-strmblen-tests: New file.
26313         * tests/unistr/test-u32-strmblen.c: New file.
26314
26315         Tests for module 'unistr/u16-strmblen'.
26316         * modules/unistr/u16-strmblen-tests: New file.
26317         * tests/unistr/test-u16-strmblen.c: New file.
26318
26319         Tests for module 'unistr/u8-strmblen'.
26320         * modules/unistr/u8-strmblen-tests: New file.
26321         * tests/unistr/test-u8-strmblen.c: New file.
26322
26323         Tests for module 'unistr/u32-cpy-alloc'.
26324         * modules/unistr/u32-cpy-alloc-tests: New file.
26325         * tests/unistr/test-u32-cpy-alloc.c: New file.
26326
26327         Tests for module 'unistr/u16-cpy-alloc'.
26328         * modules/unistr/u16-cpy-alloc-tests: New file.
26329         * tests/unistr/test-u16-cpy-alloc.c: New file.
26330
26331         Tests for module 'unistr/u8-cpy-alloc'.
26332         * modules/unistr/u8-cpy-alloc-tests: New file.
26333         * tests/unistr/test-u8-cpy-alloc.c: New file.
26334         * tests/unistr/test-cpy-alloc.h: New file.
26335
26336         Tests for module 'unistr/u32-mbsnlen'.
26337         * modules/unistr/u32-mbsnlen-tests: New file.
26338         * tests/unistr/test-u32-mbsnlen.c: New file.
26339
26340         Tests for module 'unistr/u16-mbsnlen'.
26341         * modules/unistr/u16-mbsnlen-tests: New file.
26342         * tests/unistr/test-u16-mbsnlen.c: New file.
26343
26344         Tests for module 'unistr/u8-mbsnlen'.
26345         * modules/unistr/u8-mbsnlen-tests: New file.
26346         * tests/unistr/test-u8-mbsnlen.c: New file.
26347
26348         Tests for module 'unistr/u32-chr'.
26349         * modules/unistr/u32-chr-tests: New file.
26350         * tests/unistr/test-u32-chr.c: New file.
26351
26352         Tests for module 'unistr/u16-chr'.
26353         * modules/unistr/u16-chr-tests: New file.
26354         * tests/unistr/test-u16-chr.c: New file.
26355
26356         Tests for module 'unistr/u8-chr'.
26357         * modules/unistr/u8-chr-tests: New file.
26358         * tests/unistr/test-u8-chr.c: New file.
26359         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
26360
26361         Tests for module 'unistr/u32-cmp2'.
26362         * modules/unistr/u32-cmp2-tests: New file.
26363         * tests/unistr/test-u32-cmp2.c: New file.
26364
26365         Tests for module 'unistr/u16-cmp2'.
26366         * modules/unistr/u16-cmp2-tests: New file.
26367         * tests/unistr/test-u16-cmp2.c: New file.
26368
26369         Tests for module 'unistr/u8-cmp2'.
26370         * modules/unistr/u8-cmp2-tests: New file.
26371         * tests/unistr/test-u8-cmp2.c: New file.
26372         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
26373
26374         Tests for module 'unistr/u32-cmp'.
26375         * modules/unistr/u32-cmp-tests: New file.
26376         * tests/unistr/test-u32-cmp.c: New file.
26377
26378         Tests for module 'unistr/u16-cmp'.
26379         * modules/unistr/u16-cmp-tests: New file.
26380         * tests/unistr/test-u16-cmp.c: New file.
26381
26382         Tests for module 'unistr/u8-cmp'.
26383         * modules/unistr/u8-cmp-tests: New file.
26384         * tests/unistr/test-u8-cmp.c: New file.
26385         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
26386
26387         Tests for module 'unistr/u32-set'.
26388         * modules/unistr/u32-set-tests: New file.
26389         * tests/unistr/test-u32-set.c: New file.
26390
26391         Tests for module 'unistr/u16-set'.
26392         * modules/unistr/u16-set-tests: New file.
26393         * tests/unistr/test-u16-set.c: New file.
26394
26395         Tests for module 'unistr/u8-set'.
26396         * modules/unistr/u8-set-tests: New file.
26397         * tests/unistr/test-u8-set.c: New file.
26398         * tests/unistr/test-set.h: New file.
26399
26400         Tests for module 'unistr/u32-move'.
26401         * modules/unistr/u32-move-tests: New file.
26402         * tests/unistr/test-u32-move.c: New file.
26403
26404         Tests for module 'unistr/u16-move'.
26405         * modules/unistr/u16-move-tests: New file.
26406         * tests/unistr/test-u16-move.c: New file.
26407
26408         Tests for module 'unistr/u8-move'.
26409         * modules/unistr/u8-move-tests: New file.
26410         * tests/unistr/test-u8-move.c: New file.
26411         * tests/unistr/test-move.h: New file.
26412
26413         Tests for module 'unistr/u32-cpy'.
26414         * modules/unistr/u32-cpy-tests: New file.
26415         * tests/unistr/test-u32-cpy.c: New file.
26416
26417         Tests for module 'unistr/u16-cpy'.
26418         * modules/unistr/u16-cpy-tests: New file.
26419         * tests/unistr/test-u16-cpy.c: New file.
26420
26421         Tests for module 'unistr/u8-cpy'.
26422         * modules/unistr/u8-cpy-tests: New file.
26423         * tests/unistr/test-u8-cpy.c: New file.
26424         * tests/unistr/test-cpy.h: New file.
26425
26426 2010-01-09  Bruno Haible  <bruno@clisp.org>
26427
26428         Tests for module 'unistr/u32-uctomb'.
26429         * modules/unistr/u32-uctomb-tests: New file.
26430         * tests/unistr/test-u32-uctomb.c: New file.
26431
26432         Tests for module 'unistr/u16-uctomb'.
26433         * modules/unistr/u16-uctomb-tests: New file.
26434         * tests/unistr/test-u16-uctomb.c: New file.
26435
26436         Tests for module 'unistr/u8-uctomb'.
26437         * modules/unistr/u8-uctomb-tests: New file.
26438         * tests/unistr/test-u8-uctomb.c: New file.
26439
26440         Tests for module 'unistr/u32-mbtoucr'.
26441         * modules/unistr/u32-mbtoucr-tests: New file.
26442         * tests/unistr/test-u32-mbtoucr.c: New file.
26443
26444         Tests for module 'unistr/u16-mbtoucr'.
26445         * modules/unistr/u16-mbtoucr-tests: New file.
26446         * tests/unistr/test-u16-mbtoucr.c: New file.
26447
26448         Tests for module 'unistr/u8-mbtoucr'.
26449         * modules/unistr/u8-mbtoucr-tests: New file.
26450         * tests/unistr/test-u8-mbtoucr.c: New file.
26451
26452         Tests for module 'unistr/u32-mbtouc'.
26453         * modules/unistr/u32-mbtouc-tests: New file.
26454         * tests/unistr/test-u32-mbtouc.c: New file.
26455
26456         Tests for module 'unistr/u16-mbtouc'.
26457         * modules/unistr/u16-mbtouc-tests: New file.
26458         * tests/unistr/test-u16-mbtouc.c: New file.
26459
26460         Tests for module 'unistr/u8-mbtouc'.
26461         * modules/unistr/u8-mbtouc-tests: New file.
26462         * tests/unistr/test-u8-mbtouc.c: New file.
26463
26464         Tests for module 'unistr/u32-mbtouc-unsafe'.
26465         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
26466         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
26467         * tests/unistr/test-u32-mbtouc.h: New file.
26468
26469         Tests for module 'unistr/u16-mbtouc-unsafe'.
26470         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
26471         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
26472         * tests/unistr/test-u16-mbtouc.h: New file.
26473
26474         Tests for module 'unistr/u8-mbtouc-unsafe'.
26475         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
26476         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
26477         * tests/unistr/test-u8-mbtouc.h: New file.
26478
26479         Tests for module 'unistr/u32-mblen'.
26480         * modules/unistr/u32-mblen-tests: New file.
26481         * tests/unistr/test-u32-mblen.c: New file.
26482
26483         Tests for module 'unistr/u16-mblen'.
26484         * modules/unistr/u16-mblen-tests: New file.
26485         * tests/unistr/test-u16-mblen.c: New file.
26486
26487         Tests for module 'unistr/u8-mblen'.
26488         * modules/unistr/u8-mblen-tests: New file.
26489         * tests/unistr/test-u8-mblen.c: New file.
26490
26491         Tests for module 'unistr/u32-to-u16'.
26492         * modules/unistr/u32-to-u16-tests: New file.
26493         * tests/unistr/test-u32-to-u16.c: New file.
26494
26495         Tests for module 'unistr/u32-to-u8'.
26496         * modules/unistr/u32-to-u8-tests: New file.
26497         * tests/unistr/test-u32-to-u8.c: New file.
26498
26499         Tests for module 'unistr/u16-to-u32'.
26500         * modules/unistr/u16-to-u32-tests: New file.
26501         * tests/unistr/test-u16-to-u32.c: New file.
26502
26503         Tests for module 'unistr/u16-to-u8'.
26504         * modules/unistr/u16-to-u8-tests: New file.
26505         * tests/unistr/test-u16-to-u8.c: New file.
26506
26507         Tests for module 'unistr/u8-to-u32'.
26508         * modules/unistr/u8-to-u32-tests: New file.
26509         * tests/unistr/test-u8-to-u32.c: New file.
26510
26511         Tests for module 'unistr/u8-to-u16'.
26512         * modules/unistr/u8-to-u16-tests: New file.
26513         * tests/unistr/test-u8-to-u16.c: New file.
26514
26515         Tests for module 'unistr/u32-check'.
26516         * modules/unistr/u32-check-tests: New file.
26517         * tests/unistr/test-u32-check.c: New file.
26518
26519         Tests for module 'unistr/u16-check'.
26520         * modules/unistr/u16-check-tests: New file.
26521         * tests/unistr/test-u16-check.c: New file.
26522
26523         Tests for module 'unistr/u8-check'.
26524         * modules/unistr/u8-check-tests: New file.
26525         * tests/unistr/test-u8-check.c: New file.
26526
26527         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
26528         (category_equals): New function.
26529         (main): Add more tests.
26530         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
26531
26532         * tests/unictype/test-bidi_byname.c (main): Add more tests.
26533
26534 2010-01-10  Bruno Haible  <bruno@clisp.org>
26535
26536         unistr/u*-strcoll: Try harder to distinguish different strings.
26537         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
26538         compare s1 and s2 to see if they are different.
26539
26540 2010-01-10  Bruno Haible  <bruno@clisp.org>
26541
26542         unistr/u*-stpncpy: Fix the return value.
26543         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
26544         description of the return value consistent with stpncpy in glibc.
26545         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
26546         written non-NUL unit.
26547
26548 2010-01-10  Bruno Haible  <bruno@clisp.org>
26549
26550         unistr/u*-next: Add missing dependencies.
26551         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
26552         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
26553         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
26554
26555 2010-01-10  Bruno Haible  <bruno@clisp.org>
26556
26557         unistr/u8-mbsnlen: Fix return value for incomplete character.
26558         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
26559         u8_mblen.
26560         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
26561         Remove unistr/u8-mblen.
26562         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
26563         u16_mblen.
26564         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
26565         Remove unistr/u16-mblen.
26566
26567 2010-01-10  Bruno Haible  <bruno@clisp.org>
26568
26569         wchar: Fix compilation error when <wchar.h> is used from coreutils.
26570         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
26571         Reported by Brian Gough <bjg@gnu.org> and
26572         Chris Clayton <chris2553@googlemail.com> via
26573         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
26574
26575 2010-01-09  Bruno Haible  <bruno@clisp.org>
26576
26577         unistr/u16-to-u32: Reject invalid input.
26578         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
26579         u16_mbtouc.
26580         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
26581         Remove unistr/u16-mbtouc.
26582
26583         unistr/u16-to-u8: Reject invalid input.
26584         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
26585         u16_mbtouc.
26586         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
26587         Remove unistr/u16-mbtouc.
26588
26589         unistr/u8-to-u32: Reject invalid input.
26590         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
26591         u8_mbtouc.
26592         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
26593         Remove unistr/u8-mbtouc.
26594
26595         unistr/u8-to-u16: Reject invalid input.
26596         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
26597         u8_mbtouc.
26598         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
26599         Remove unistr/u8-mbtouc.
26600
26601 2010-01-09  Bruno Haible  <bruno@clisp.org>
26602
26603         Tests for module 'getlogin'.
26604         * modules/getlogin-tests: New file.
26605         * tests/test-getlogin.c: New file.
26606
26607         New module 'getlogin'.
26608         * lib/unistd.in.h (getlogin): New declaration.
26609         * lib/getlogin.c: New file.
26610         * m4/getlogin.m4: New file.
26611         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
26612         HAVE_GETLOGIN.
26613         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
26614         HAVE_GETLOGIN.
26615         * modules/getlogin: New file.
26616         * doc/posix-functions/getlogin.texi: Mention the new module.
26617         Reported by John W. Eaton <jwe@gnu.org>.
26618
26619 2010-01-09  Bruno Haible  <bruno@clisp.org>
26620
26621         getlogin_r: Support for native Windows.
26622         * lib/getlogin_r.c: Include <windows.h>
26623         (getlogin_r): Implement for native Windows.
26624         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
26625         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
26626         via John W. Eaton <jwe@gnu.org>.
26627
26628 2010-01-09  Bruno Haible  <bruno@clisp.org>
26629
26630         getlogin_r: Small fixes.
26631         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
26632         succeeds.
26633         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
26634         before testing whether getlogin_r is declared. No need to set
26635         HAVE_DECL_GETLOGIN_R to 1.
26636         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
26637
26638 2010-01-09  Bruno Haible  <bruno@clisp.org>
26639
26640         * lib/unistd.in.h (getlogin_r): Add comment.
26641
26642 2010-01-09  Bruno Haible  <bruno@clisp.org>
26643
26644         Tests for module 'getlogin_r'.
26645         * modules/getlogin_r-tests: New file.
26646         * tests/test-getlogin_r.c: New file.
26647
26648 2010-01-09  Jim Meyering  <meyering@redhat.com>
26649
26650         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
26651         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
26652         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
26653
26654 2010-01-08  Simon Josefsson  <simon@josefsson.org>
26655
26656         * lib/dup2.c (rpl_dup2): Improve comment.
26657
26658 2010-01-08  Eric Blake  <ebb9@byu.net>
26659
26660         maint.mk: allow packages to add makefile @@ exceptions
26661         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
26662         (sc_makefile_check): Rename...
26663         (sc_makefile_at_at_check): ...to this, and use hook.
26664
26665         dup2: work around mingw bug
26666         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
26667         Reported by Simon Josefsson.
26668
26669 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
26670
26671         glob: Fix C++ compilation.
26672         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
26673         C++.
26674
26675 2010-01-07  Bruno Haible  <bruno@clisp.org>
26676
26677         Fix indentation of wctype.in.h, broken since 2007-01-06.
26678         * lib/wctype.in.h: Fix indentation of preprocessor directives.
26679
26680 2010-01-07  Bruno Haible  <bruno@clisp.org>
26681
26682         mbslen: Avoid collision with system function.
26683         * lib/string.in.h [MirBSD]: Include <wchar.h>.
26684         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
26685         * m4/mbslen.m4: New file.
26686         * modules/mbslen (Files): Add it.
26687         (configure.ac): Invoke gl_MBSLEN.
26688         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
26689         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
26690         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
26691         via Ian Beckwith <ianb@erislabs.net>.
26692
26693 2010-01-07  Bruno Haible  <bruno@clisp.org>
26694
26695         dirent: Document the last fix.
26696         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
26697
26698 2010-01-07  Bruno Haible  <bruno@clisp.org>
26699
26700         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
26701         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
26702         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
26703         va_list are defined.
26704         * doc/posix-headers/stdio.texi: Document the bug of missing types.
26705         Reported by Eric Blake.
26706
26707 2010-01-07  Bruno Haible  <bruno@clisp.org>
26708
26709         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
26710         * modules/xlist (Depends-on): Add 'list',
26711         * modules/xoset (Depends-on): Add 'oset'.
26712         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26713
26714 2010-01-07  Bruno Haible  <bruno@clisp.org>
26715
26716         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
26717         * doc/posix-functions/strncasecmp.texi: Likewise.
26718
26719 2010-01-07  Bruno Haible  <bruno@clisp.org>
26720
26721         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
26722
26723 2010-01-07  John W. Eaton  <jwe@octave.org>
26724
26725         wctype: allow C++ use
26726         * lib/wctype.in.h: Add extern "C" block for C++.
26727
26728 2010-01-06  Eric Blake  <ebb9@byu.net>
26729
26730         maint.mk: detect incorrect GFDL usage
26731         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
26732
26733 2010-01-06  Jim Meyering  <meyering@redhat.com>
26734         and Eric Blake  <ebb9@byu.net>
26735
26736         maint.mk: ignore multi-line copyright in NEWS
26737         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
26738
26739 2010-01-06  Eric Blake  <ebb9@byu.net>
26740
26741         select: add missing dependency
26742         * modules/select-tests (Depends-on): Move sockets dependency...
26743         * modules/select (Depends-on): ...here.
26744         Reported by Ian Beckwith.
26745
26746         doc: regenerate INSTALL
26747         * doc/INSTALL: Reflect recent autoconf update.
26748         * doc/INSTALL.ISO: Likewise.
26749         * doc/INSTALL.UTF-8: Likewise.
26750
26751         pread: fix compilation on glibc
26752         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
26753         Reported by Ralf Wildenhues.
26754
26755         dirent: fix test failure
26756         * lib/dirent.in.h (includes): Guarantee ino_t.
26757         Reported by Ralf Wildenhues.
26758
26759 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
26760
26761         linkat, renameat: avoid bad free
26762         * lib/at-func2.c (at_func2): Fix typo.
26763         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
26764
26765 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26766
26767         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
26768         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
26769         to avoid failure of symlink test later.
26770
26771 2010-01-06  Eric Blake  <ebb9@byu.net>
26772
26773         stdio, unistd: guarantee ssize_t
26774         * lib/unistd.in.h (includes): Ensure that types required by POSIX
26775         2008 are exposed when needed.
26776         * lib/stdio.in.h (includes): Likewise.
26777         Reported by Ralf Wildenhues.
26778
26779 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
26780
26781         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
26782         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
26783         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
26784
26785 2010-01-06  Jim Meyering  <meyering@redhat.com>
26786
26787         readtokens: this module *does* require xalloc.h
26788         It uses only functions that were omitted by the old syntax-check rule.
26789         * lib/readtokens.c: Include "xalloc.h" once again.
26790         * modules/readtokens (Depends-on): Add xalloc.
26791         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
26792
26793 2010-01-05  Eric Blake  <ebb9@byu.net>
26794
26795         maint: support 'make announcement' from a VPATH build
26796         * top/maint.mk (announcement): Look for correct NEWS file.
26797
26798 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
26799
26800         utimens (fdutimens): ignore a negative FD, per contract
26801         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
26802         when we have a valid file descriptor.  Otherwise, using a brand
26803         new glibc (with just-patched futimens that now fails with EBADF)
26804         would cause this function to fail with ENOSYS.
26805         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
26806         See also http://bugzilla.redhat.com/552320.
26807
26808 2010-01-05  Eric Blake  <ebb9@byu.net>
26809
26810         strcase: document what it provides
26811         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
26812         gnulib module.
26813         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
26814         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
26815
26816 2010-01-05  Jim Meyering  <meyering@redhat.com>
26817
26818         maint: remove useless inclusions of "xalloc.h"
26819         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
26820         * lib/readtokens.c: Likewise.
26821         * lib/same.c: Likewise.
26822         * modules/getloadavg (Depends-on): Remove xalloc.
26823         * modules/readtokens: Likewise.
26824         * modules/same: Likewise.
26825
26826         maint.mk: include 4 more function names in alloca.h-checking regexp
26827         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
26828         regexp.  Before, we would give a false-positive (saying alloca.h
26829         is included unnecessarily) when the only uses involved omitted symbols.
26830
26831         xalloc.h: use consistent formatting
26832         * lib/xalloc.h: Move declarations to start in the first column.
26833
26834 2010-01-05  Eric Blake  <ebb9@byu.net>
26835
26836         mkdir: avoid xalloc
26837         * lib/mkdir.c (includes): Drop unused header.
26838         Reported by John W. Eaton.
26839
26840 2010-01-04  Jim Meyering  <meyering@redhat.com>
26841
26842         nl_langinfo: avoid configure-time syntax error
26843         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
26844         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
26845         the empty string.  Don't let that provoke a shell syntax error.
26846
26847         regcomp, regexec, fnmatch: avoid array bounds read error
26848         * lib/regcomp.c (build_equiv_class): From glibc:
26849         Use only the low 24 bits of a findidx return value as an index
26850         into the weights array.  Patch by Ulrich Drepper:
26851         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
26852         * lib/regexec.c (check_node_accept_bytes): Likewise.
26853         * lib/fnmatch_loop.c (FCT): Likewise.
26854
26855         regcomp: skip collseq lookup when there are no rules
26856         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
26857         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
26858
26859         regcomp: recognize ill-formed { } expressions
26860         * lib/regcomp.c (parse_dup_op): From glibc:
26861         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
26862
26863         regcomp: fix typo in comment
26864         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
26865         s/satisfy/satisfies/.
26866
26867         regcomp: sync from glibc: remove dead store
26868         * lib/regcomp.c (duplicate_node_closure): Remove useless
26869         search_duplicated_node call and dead store.
26870
26871         regcomp: sync from glibc; always use nl_langinfo
26872         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
26873         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
26874         * modules/regex (Depends-on): Add nl_langinfo.
26875
26876 2010-01-04  Eric Blake  <ebb9@byu.net>
26877
26878         fdopendir: fix configure test
26879         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
26880
26881 2010-01-01  Bruno Haible  <bruno@clisp.org>
26882
26883         wchar: Remove unused configure check.
26884         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
26885
26886 2010-01-01  Eric Blake  <ebb9@byu.net>
26887
26888         headers: make check of system header explicit
26889         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
26890         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
26891         ourselves.
26892         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
26893         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
26894         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
26895         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
26896         internals.
26897         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
26898         missing.
26899         Suggested by Bruno Haible.
26900
26901 2010-01-01  Jim Meyering  <meyering@redhat.com>
26902
26903         ChangeLog: tweak to eliminate unnecessary copyright line
26904         * ChangeLog: Remove a copyright line that was mistakenly updated
26905         by today's update-copyright run.  Reported by Eric Blake.
26906
26907         test-update-copyright: don't let envvar setting cause test failure
26908         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
26909
26910 2010-01-01  Bruno Haible  <bruno@clisp.org>
26911
26912         localename: Avoid gcc warning.
26913         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
26914         function if it is not used.
26915
26916 2010-01-01  Jim Meyering  <meyering@redhat.com>
26917
26918         update nearly all FSF copyright year lists to include 2010
26919         Use the same procedure as for 2009, outlined in
26920         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
26921
26922         version-etc: set COPYRIGHT_YEAR to 2010
26923         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
26924
26925 2009-12-31  Eric Blake  <ebb9@byu.net>
26926
26927         doc: correct availability of cygwin 1.5.x getopt
26928         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
26929         variables.
26930         * doc/posix-functions/opterr.texi (opterr): Likewise.
26931         * doc/posix-functions/optind.texi (optind): Likewise.
26932         * doc/posix-functions/optopt.texi (optopt): Likewise.
26933         * doc/posix-functions/tzname.texi (tzname): Likewise.
26934
26935         openat: update maintainer
26936         * modules/openat (Maintainer): Add myself.
26937
26938         utimens: avoid shadowing warning
26939         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
26940         buffers into one, to avoid shadowing, as well as avoiding a
26941         redundant stat.
26942         Reported by Jim Meyering.
26943
26944         test-dup2: avoid compiler warning
26945         * tests/test-dup2.c (is_inheritable): Only define if used.
26946
26947 2010-01-01  Bruno Haible  <bruno@clisp.org>
26948
26949         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
26950         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
26951         defined, use wctomb instead of wcrtomb.
26952
26953 2010-01-01  Bruno Haible  <bruno@clisp.org>
26954
26955         iconv: Reject native Solaris iconv.
26956         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
26957         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
26958
26959 2009-12-31  Bruno Haible  <bruno@clisp.org>
26960
26961         * tests/test-signal.c (main): Remove test of 'SIG'.
26962
26963 2009-12-31  Bruno Haible  <bruno@clisp.org>
26964
26965         spawn: Fix incomplete fix.
26966         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
26967         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
26968         warnings for GNULIB_POSIXCHECK again.
26969         Reported by Eric Blake.
26970
26971 2009-12-31  Bruno Haible  <bruno@clisp.org>
26972
26973         Avoid namespace pollution on glibc systems.
26974         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
26975         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
26976         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
26977         glibc systems.
26978
26979 2009-12-31  Bruno Haible  <bruno@clisp.org>
26980
26981         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
26982         (gl_REPLACE_WCHAR_H): Turn into a no-op.
26983         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
26984         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
26985         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
26986         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
26987         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
26988
26989 2009-12-31  Bruno Haible  <bruno@clisp.org>
26990
26991         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
26992         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
26993         afterwards.
26994
26995 2009-12-31  Bruno Haible  <bruno@clisp.org>
26996
26997         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
26998         SYS_UTSNAME_H.
26999
27000 2009-12-31  Bruno Haible  <bruno@clisp.org>
27001
27002         spawn: Fix misapplied patch.
27003         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
27004         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
27005         warnings for GNULIB_POSIXCHECK.
27006
27007 2009-12-31  Bruno Haible  <bruno@clisp.org>
27008
27009         times: Update after sys_times changed.
27010         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
27011         * modules/times (Files): Add it.
27012         (configure.ac): Invoke gl_FUNC_TIMES.
27013
27014 2009-12-31  Bruno Haible  <bruno@clisp.org>
27015
27016         Use AC_C_INLINE where necessary.
27017         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
27018         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
27019         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
27020         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
27021         * m4/mbfile.m4 (gl_MBFILE): Likewise.
27022         * m4/mbiter.m4 (gl_MBITER): Likewise.
27023         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
27024         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
27025         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
27026         * modules/u64 (configure.ac): Likewise.
27027
27028 2009-12-31  Bruno Haible  <bruno@clisp.org>
27029
27030         Use AC_C_INLINE instead of module 'inline' where possible.
27031         * modules/inline (Description): Clarify purpose.
27032         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
27033         * modules/count-one-bits (Depends-on): Remove inline.
27034         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
27035         * modules/openat (Depends-on): Remove inline.
27036         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
27037         instead of depending on module 'inline'.
27038         * modules/filevercmp (Depends-on, configure.ac): Likewise.
27039         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
27040         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
27041         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
27042         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
27043         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
27044         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
27045         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
27046         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
27047         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
27048         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
27049         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
27050         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
27051         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
27052         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
27053         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
27054         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
27055         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
27056         Likewise.
27057         * modules/unictype/property-ascii-hex-digit (Depends-on,
27058         configure.ac): Likewise.
27059         * modules/unictype/property-bidi-arabic-digit (Depends-on,
27060         configure.ac): Likewise.
27061         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
27062         configure.ac): Likewise.
27063         * modules/unictype/property-bidi-block-separator (Depends-on,
27064         configure.ac): Likewise.
27065         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
27066         configure.ac): Likewise.
27067         * modules/unictype/property-bidi-common-separator (Depends-on,
27068         configure.ac): Likewise.
27069         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
27070         Likewise.
27071         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
27072         configure.ac): Likewise.
27073         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
27074         configure.ac): Likewise.
27075         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
27076         configure.ac): Likewise.
27077         * modules/unictype/property-bidi-european-digit (Depends-on,
27078         configure.ac): Likewise.
27079         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
27080         configure.ac): Likewise.
27081         * modules/unictype/property-bidi-left-to-right (Depends-on,
27082         configure.ac): Likewise.
27083         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
27084         configure.ac): Likewise.
27085         * modules/unictype/property-bidi-other-neutral (Depends-on,
27086         configure.ac): Likewise.
27087         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
27088         Likewise.
27089         * modules/unictype/property-bidi-segment-separator (Depends-on,
27090         configure.ac): Likewise.
27091         * modules/unictype/property-bidi-whitespace (Depends-on,
27092         configure.ac): Likewise.
27093         * modules/unictype/property-combining (Depends-on, configure.ac):
27094         Likewise.
27095         * modules/unictype/property-composite (Depends-on, configure.ac):
27096         Likewise.
27097         * modules/unictype/property-currency-symbol (Depends-on,
27098         configure.ac): Likewise.
27099         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
27100         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
27101         Likewise.
27102         * modules/unictype/property-default-ignorable-code-point (Depends-on,
27103         configure.ac): Likewise.
27104         * modules/unictype/property-deprecated (Depends-on, configure.ac):
27105         Likewise.
27106         * modules/unictype/property-diacritic (Depends-on, configure.ac):
27107         Likewise.
27108         * modules/unictype/property-extender (Depends-on, configure.ac):
27109         Likewise.
27110         * modules/unictype/property-format-control (Depends-on, configure.ac):
27111         Likewise.
27112         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
27113         Likewise.
27114         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
27115         Likewise.
27116         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
27117         Likewise.
27118         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
27119         Likewise.
27120         * modules/unictype/property-hyphen (Depends-on, configure.ac):
27121         Likewise.
27122         * modules/unictype/property-id-continue (Depends-on, configure.ac):
27123         Likewise.
27124         * modules/unictype/property-id-start (Depends-on, configure.ac):
27125         Likewise.
27126         * modules/unictype/property-ideographic (Depends-on, configure.ac):
27127         Likewise.
27128         * modules/unictype/property-ids-binary-operator (Depends-on,
27129         configure.ac): Likewise.
27130         * modules/unictype/property-ids-trinary-operator (Depends-on,
27131         configure.ac): Likewise.
27132         * modules/unictype/property-ignorable-control (Depends-on,
27133         configure.ac): Likewise.
27134         * modules/unictype/property-iso-control (Depends-on, configure.ac):
27135         Likewise.
27136         * modules/unictype/property-join-control (Depends-on, configure.ac):
27137         Likewise.
27138         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
27139         Likewise.
27140         * modules/unictype/property-line-separator (Depends-on, configure.ac):
27141         Likewise.
27142         * modules/unictype/property-logical-order-exception (Depends-on,
27143         configure.ac): Likewise.
27144         * modules/unictype/property-lowercase (Depends-on, configure.ac):
27145         Likewise.
27146         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
27147         * modules/unictype/property-non-break (Depends-on, configure.ac):
27148         Likewise.
27149         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
27150         Likewise.
27151         * modules/unictype/property-numeric (Depends-on, configure.ac):
27152         Likewise.
27153         * modules/unictype/property-other-alphabetic (Depends-on,
27154         configure.ac): Likewise.
27155         * modules/unictype/property-other-default-ignorable-code-point
27156         (Depends-on, configure.ac): Likewise.
27157         * modules/unictype/property-other-grapheme-extend (Depends-on,
27158         configure.ac): Likewise.
27159         * modules/unictype/property-other-id-continue (Depends-on,
27160         configure.ac): Likewise.
27161         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
27162         Likewise.
27163         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
27164         Likewise.
27165         * modules/unictype/property-other-math (Depends-on, configure.ac):
27166         Likewise.
27167         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
27168         Likewise.
27169         * modules/unictype/property-paired-punctuation (Depends-on,
27170         configure.ac): Likewise.
27171         * modules/unictype/property-paragraph-separator (Depends-on,
27172         configure.ac): Likewise.
27173         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
27174         Likewise.
27175         * modules/unictype/property-pattern-white-space (Depends-on,
27176         configure.ac): Likewise.
27177         * modules/unictype/property-private-use (Depends-on, configure.ac):
27178         Likewise.
27179         * modules/unictype/property-punctuation (Depends-on, configure.ac):
27180         Likewise.
27181         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
27182         Likewise.
27183         * modules/unictype/property-radical (Depends-on, configure.ac):
27184         Likewise.
27185         * modules/unictype/property-sentence-terminal (Depends-on,
27186         configure.ac): Likewise.
27187         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
27188         Likewise.
27189         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
27190         * modules/unictype/property-terminal-punctuation (Depends-on,
27191         configure.ac): Likewise.
27192         * modules/unictype/property-titlecase (Depends-on, configure.ac):
27193         Likewise.
27194         * modules/unictype/property-unassigned-code-value (Depends-on,
27195         configure.ac): Likewise.
27196         * modules/unictype/property-unified-ideograph (Depends-on,
27197         configure.ac): Likewise.
27198         * modules/unictype/property-uppercase (Depends-on, configure.ac):
27199         Likewise.
27200         * modules/unictype/property-variation-selector (Depends-on,
27201         configure.ac): Likewise.
27202         * modules/unictype/property-white-space (Depends-on, configure.ac):
27203         Likewise.
27204         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
27205         Likewise.
27206         * modules/unictype/property-xid-start (Depends-on, configure.ac):
27207         Likewise.
27208         * modules/unictype/property-zero-width (Depends-on, configure.ac):
27209         Likewise.
27210         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
27211         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
27212         Likewise.
27213
27214 2009-12-31  Bruno Haible  <bruno@clisp.org>
27215
27216         Remove unnecessary AC_C_INLINE invocation.
27217         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
27218         since 2009-08-21.
27219
27220 2009-12-31  Jim Meyering  <meyering@redhat.com>
27221
27222         maint.mk: don't require explicit gpg_key_ID in cfg.mk
27223         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
27224         With this change, we can all remove the gpg_key_ID = ... definition
27225         from our respective cfg.mk files.
27226
27227         maint.mk: create announcement template in ~/, not in /tmp
27228         * top/maint.mk (emit_upload_commands): Adjust.
27229         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
27230         Remove temporary file, .ci-msg.
27231
27232 2009-12-31  Eric Blake  <ebb9@byu.net>
27233
27234         link-warning: always build headers with link warnings
27235         * modules/arpa_inet (Makefile.am): Always build replacement
27236         header.
27237         * modules/ctype (Makefile.am): Likewise.
27238         * modules/dirent (Makefile.am): Likewise.
27239         * modules/inttypes (Makefile.am): Likewise.
27240         * modules/langinfo (Makefile.am): Likewise.
27241         * modules/locale (Makefile.am): Likewise.
27242         * modules/spawn (Makefile.am): Likewise.
27243         * modules/sys_file (Makefile.am): Likewise.
27244         * modules/sys_ioctl (Makefile.am): Likewise.
27245         * modules/sys_select (Makefile.am): Likewise.
27246         * modules/sys_socket (Makefile.am): Likewise.
27247         * modules/sys_times (Makefile.am): Likewise.
27248         * modules/sys_utsname (Makefile.am): Likewise.
27249         * modules/sys_wait (Makefile.am): Likewise.
27250         * modules/wchar (Makefile.am): Likewise.
27251         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
27252         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
27253         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
27254         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
27255         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
27256         Likewise.
27257         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
27258         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
27259         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
27260         Likewise.
27261         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
27262         Likewise.
27263         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
27264         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
27265         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
27266         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27267         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27268         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
27269         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
27270         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
27271         (gl_WCHAR_H_DEFAULTS): Likewise.
27272
27273 2009-12-31  Eric Blake  <ebb9@byu.net>
27274
27275         signal, spawn: use link warnings
27276         * lib/signal.in.h (sigset_t): Make unconditional.
27277         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
27278         (sigpending, sigprocmask, sigaction): Add link warnings.
27279         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
27280         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
27281         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
27282         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
27283         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
27284         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
27285         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
27286         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
27287         (posix_spawn_file_actions_destroy)
27288         (posix_spawn_file_actions_addopen)
27289         (posix_spawn_file_actions_addclose)
27290         (posix_spawn_file_actions_adddup2): Likewise.
27291         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
27292         * tests/test-signal.c (main): Enhance test.
27293
27294         spawn: improve wrapper support
27295         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
27296         (gl_SPAWN_H_DEFAULTS): New defaults.
27297         * modules/spawn (Makefile.am): Substitute them.
27298         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
27299         Only declare if missing or broken.
27300
27301         sys_times, sys_utsname: use include_next
27302         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
27303         header.
27304         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
27305         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
27306         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
27307         * modules/sys_times (Depends-on): Add include_next.
27308         (Makefile.am): Substitute additional values.
27309         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
27310         * lib/sys_times.in.h (includes): Include native header, if
27311         available.
27312         * lib/sys_utsname.in.h (includes): Likewise.
27313         * tests/test-sys_times.c (main): Enhance test.
27314
27315         fdutimensat: revert prior patch
27316         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
27317         utimens.h.
27318         Reported by Bruno Haible.
27319
27320 2009-12-30  Eric Blake  <ebb9@byu.net>
27321
27322         sys_wait: drop link-warning dependency
27323         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
27324         link-warning efforts.
27325         * lib/sys_wait.in.h: Likewise.
27326
27327         fdutimensat: remove bogus dependency
27328         * modules/fdutimensat (Depends-on): Drop inline.
27329
27330         unistd: fix typo
27331         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
27332
27333 2009-12-30  Bruno Haible  <bruno@clisp.org>
27334
27335         Fix compilation error with Solaris cc.
27336         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
27337         * lib/unicase/u16-is-invariant.c: Likewise.
27338         * lib/unicase/u32-is-invariant.c: Likewise.
27339         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
27340
27341 2009-12-30  Bruno Haible  <bruno@clisp.org>
27342
27343         Fix test crash.
27344         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
27345         locales.
27346         Reported by Simon Josefsson <simon@josefsson.org>.
27347
27348 2009-12-30  Bruno Haible  <bruno@clisp.org>
27349
27350         Fix compilation error on most platforms.
27351         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
27352         Reported by Simon Josefsson <simon@josefsson.org>
27353         and Nelson H. F. Beebe <beebe@math.utah.edu>.
27354
27355 2009-12-30  Eric Blake  <ebb9@byu.net>
27356
27357         futimens, utimensat: work around ntfs-3g bug
27358         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
27359         a ctime bug is present, and expand workaround to cover ntfs-3g.
27360         * lib/utimens.c (fdutimens, lutimens): Likewise.
27361         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
27362         (validate_timespec): Adjust return value.
27363         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
27364         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
27365         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
27366
27367 2009-12-29  Eric Blake  <ebb9@byu.net>
27368
27369         link-warning: make usage consistent
27370         * modules/ctype (Depends-on): Add link-warning.
27371         (Makefile.am): Update rules accordingly.
27372         * modules/langinfo (Depends-on, Makefile.am): Likewise.
27373         * modules/locale (Depends-on, Makefile.am): Likewise.
27374         * modules/sys_file (Makefile.am): Likewise.
27375         * modules/getopt-posix (Makefile.am): Delete unused link warning
27376         efforts.
27377         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
27378         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
27379         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
27380         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
27381
27382         stdio: remove unused variables
27383         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
27384         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
27385         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
27386
27387         tests: test more substitute headers
27388         * modules/ctype-tests: New file.
27389         * modules/dirent-tests: Likewise.
27390         * modules/spawn-tests: Likewise.
27391         * modules/sys_file-tests: Likewise.
27392         * modules/sys_ioctl-tests: Likewise.
27393         * modules/sys_wait-tests: Likewise.
27394         * tests/test-ctype.c: Likewise.
27395         * tests/test-dirent.c: Likewise.
27396         * tests/test-spawn.c: Likewise.
27397         * tests/test-sys_file.c: Likewise.
27398         * tests/test-sys_ioctl.c: Likewise.
27399         * tests/test-sys_wait.c: Likewise.
27400         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
27401         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
27402         whether or not flock is in use.
27403
27404         tests: remove License section from module
27405         * modules/arpa_inet-tests: Remove unneeded section.
27406         * modules/byteswap-tests: Likewise.
27407         * modules/ceilf-tests: Likewise.
27408         * modules/ceill-tests: Likewise.
27409         * modules/crypto/des-tests: Likewise.
27410         * modules/crypto/gc-arcfour-tests: Likewise.
27411         * modules/crypto/gc-arctwo-tests: Likewise.
27412         * modules/crypto/gc-des-tests: Likewise.
27413         * modules/crypto/gc-hmac-md5-tests: Likewise.
27414         * modules/crypto/gc-hmac-sha1-tests: Likewise.
27415         * modules/crypto/gc-md2-tests: Likewise.
27416         * modules/crypto/gc-md4-tests: Likewise.
27417         * modules/crypto/gc-md5-tests: Likewise.
27418         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
27419         * modules/crypto/gc-rijndael-tests: Likewise.
27420         * modules/crypto/gc-sha1-tests: Likewise.
27421         * modules/crypto/gc-tests: Likewise.
27422         * modules/crypto/md2-tests: Likewise.
27423         * modules/crypto/md4-tests: Likewise.
27424         * modules/fcntl-h-tests: Likewise.
27425         * modules/floorf-tests: Likewise.
27426         * modules/floorl-tests: Likewise.
27427         * modules/frexp-nolibm-tests: Likewise.
27428         * modules/frexp-tests: Likewise.
27429         * modules/frexpl-nolibm-tests: Likewise.
27430         * modules/frexpl-tests: Likewise.
27431         * modules/getaddrinfo-tests: Likewise.
27432         * modules/inttypes-tests: Likewise.
27433         * modules/isfinite-tests: Likewise.
27434         * modules/isinf-tests: Likewise.
27435         * modules/ldexpl-tests: Likewise.
27436         * modules/locale-tests: Likewise.
27437         * modules/math-tests: Likewise.
27438         * modules/netdb-tests: Likewise.
27439         * modules/netinet_in-tests: Likewise.
27440         * modules/printf-frexp-tests: Likewise.
27441         * modules/printf-frexpl-tests: Likewise.
27442         * modules/priv-set-tests: Likewise.
27443         * modules/random_r-tests: Likewise.
27444         * modules/round-tests: Likewise.
27445         * modules/roundf-tests: Likewise.
27446         * modules/roundl-tests: Likewise.
27447         * modules/search-tests: Likewise.
27448         * modules/select-tests: Likewise.
27449         * modules/signal-tests: Likewise.
27450         * modules/stdbool-tests: Likewise.
27451         * modules/stddef-tests: Likewise.
27452         * modules/stdint-tests: Likewise.
27453         * modules/stdio-tests: Likewise.
27454         * modules/stdlib-tests: Likewise.
27455         * modules/string-tests: Likewise.
27456         * modules/strings-tests: Likewise.
27457         * modules/sys_select-tests: Likewise.
27458         * modules/sys_socket-tests: Likewise.
27459         * modules/sys_stat-tests: Likewise.
27460         * modules/sys_time-tests: Likewise.
27461         * modules/sys_utsname-tests: Likewise.
27462         * modules/sysexits-tests: Likewise.
27463         * modules/time-tests: Likewise.
27464         * modules/trunc-tests: Likewise.
27465         * modules/truncf-tests: Likewise.
27466         * modules/truncl-tests: Likewise.
27467         * modules/tsearch-tests: Likewise.
27468         * modules/unistd-tests: Likewise.
27469         * modules/wchar-tests: Likewise.
27470         * modules/wctype-tests: Likewise.
27471
27472         tests: fix license on several tests
27473         * tests/test-des.c: Update to GPLv3+.
27474         * tests/test-flock.c: Likewise.
27475         * tests/test-fsync.c: Likewise.
27476         * tests/test-futimens.h: Likewise.
27477         * tests/test-gc-arcfour.c: Likewise.
27478         * tests/test-gc-arctwo.c: Likewise.
27479         * tests/test-gc-des.c: Likewise.
27480         * tests/test-gc-hmac-md5.c: Likewise.
27481         * tests/test-gc-hmac-sha1.c: Likewise.
27482         * tests/test-gc-md2.c: Likewise.
27483         * tests/test-gc-md4.c: Likewise.
27484         * tests/test-gc-md5.c: Likewise.
27485         * tests/test-gc-pbkdf2-sha1.c: Likewise.
27486         * tests/test-gc-rijndael.c: Likewise.
27487         * tests/test-gc-sha1.c: Likewise.
27488         * tests/test-gc.c: Likewise.
27489         * tests/test-getcwd.c: Likewise.
27490         * tests/test-link.c: Likewise.
27491         * tests/test-link.h: Likewise.
27492         * tests/test-lutimens.h: Likewise.
27493         * tests/test-md2.c: Likewise.
27494         * tests/test-md4.c: Likewise.
27495         * tests/test-mkdir.h: Likewise.
27496         * tests/test-rename.c: Likewise.
27497         * tests/test-rename.h: Likewise.
27498         * tests/test-safe-alloc.c: Likewise.
27499         * tests/test-utimens-common.h: Likewise.
27500         * tests/test-utimens.h: Likewise.
27501
27502         maint: sync license texts
27503         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
27504         * doc/gpl-3.0.texi: Revert copyright year update.
27505         * doc/lgpl-3.0.texi: Likewise.
27506
27507 2009-12-29  Jim Meyering  <meyering@redhat.com>
27508
27509         update nearly all FSF copyright year lists to include 2009
27510         The files named by the following are exempted:
27511             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
27512               test -f "$dst" && { echo "$dst"; continue; }
27513               test -d "$dst" || continue
27514               echo "$dst"/$(basename "$src")
27515             done > exempt
27516             git ls-files tests/unictype >> exempt
27517         In the remaining files, convert to all-interval notation if
27518         - there is already at least one year interval like 2000-2003
27519         - the file is maintained by me
27520         - the file is in lib/uni*/, where that style already prevails
27521         Otherwise, use update-copyright's default.
27522
27523 2009-12-29  Simon Josefsson  <simon@josefsson.org>
27524         and Eric Blake  <ebb9@byu.net>
27525
27526         tests: don't require debug system() to pass
27527         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
27528         * tests/test-rmdir.h (test_rmdir_func): Likewise.
27529         * tests/test-unlink.h (test_unlink_func): Likewise.
27530         * tests/test-fstatat.c (main): ...into callers.
27531         * tests/test-lstat.c (main): Likewise.
27532         * tests/test-rmdir.c (main): Likewise.
27533         * tests/test-unlink.c (main): Likewise.
27534         * tests/test-unlinkat.c (main): Likewise.
27535         * tests/test-areadlink-with-size.c (main): Don't require a
27536         debug-only system call to pass, aiding cross-testing to mingw.
27537         * tests/test-areadlink.c (main): Likewise.
27538         * tests/test-areadlinkat-with-size.c (main): Likewise.
27539         * tests/test-areadlinkat.c (main): Likewise.
27540         * tests/test-canonicalize-lgpl.c (main): Likewise.
27541         * tests/test-canonicalize.c (main): Likewise.
27542         * tests/test-chown.c (main): Likewise.
27543         * tests/test-fchownat.c (main): Likewise.
27544         * tests/test-lchown.c (main): Likewise.
27545         * tests/test-fdutimensat.c (main): Likewise.
27546         * tests/test-futimens.c (main): Likewise.
27547         * tests/test-link.c (main): Likewise.
27548         * tests/test-linkat.c (main): Likewise.
27549         * tests/test-mkdir.c (main): Likewise.
27550         * tests/test-mkdirat.c (main): Likewise.
27551         * tests/test-mkfifo.c (main): Likewise.
27552         * tests/test-mkfifoat.c (main): Likewise.
27553         * tests/test-mknod.c (main): Likewise.
27554         * tests/test-readlink.c (main): Likewise.
27555         * tests/test-remove.c (main): Likewise.
27556         * tests/test-rename.c (main): Likewise.
27557         * tests/test-renameat.c (main): Likewise.
27558         * tests/test-symlink.c (main): Likewise.
27559         * tests/test-symlinkat.c (main): Likewise.
27560         * tests/test-utimens.c (main): Likewise.
27561         * tests/test-utimensat.c (main): Likewise.
27562
27563 2009-12-29  Simon Josefsson  <simon@josefsson.org>
27564
27565         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
27566         on $(UNUSED_PARAMETER_H) to avoid build failure.
27567
27568 2009-12-28  Jim Meyering  <meyering@redhat.com>
27569
27570         update-copyright: you may specify a max. line length other than 72
27571         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
27572
27573         maint: use consistent FSF copyright line syntax
27574         * lib/posixtm.c: Add missing comma in FSF copyright line.
27575         * lib/posixtm.h: Likewise.
27576         * lib/getugroups.c: Add missing ", Inc.".
27577
27578         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
27579         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
27580         FSF copyright line.  Remove trailing blanks.
27581
27582 2009-12-28  Eric Blake  <ebb9@byu.net>
27583
27584         test-dup2: reduce dependencies
27585         * modules/cloexec (Configure.ac): Set witness.
27586         * modules/dup2-tests (Depends-on): Drop cloexec.
27587         * tests/test-dup2.c (main): Skip portion of test if cloexec module
27588         not present.
27589         Suggested by Bruno Haible.
27590
27591 2009-12-26  Bruno Haible  <bruno@clisp.org>
27592
27593         Remove an unneeded dependency.
27594         * modules/fseterr (Depends-on): Remove dup2.
27595
27596 2009-12-26  Eric Blake  <ebb9@byu.net>
27597
27598         tests: use macros.h in more places
27599         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
27600         (ASSERT_STREAM): Provide default of stderr.
27601         * tests/test-dirent-safer.c: Include macros.h, using alternate
27602         stream for assertions.
27603         * tests/test-dup-safer.c: Likewise.
27604         * tests/test-freopen-safer.c: Likewise.
27605         * tests/test-getopt.c: Likewise.
27606         * tests/test-openat-safer.c: Likewise.
27607         * tests/test-pipe.c: Likewise.
27608         * tests/test-popen-safer.c: Likewise.
27609         * modules/dirent-safer-tests (Files): Include macros.h.
27610         * modules/unistd-safer-tests (Files): Likewise.
27611         * modules/freopen-safer-tests (Files): Likewise.
27612         * modules/getopt-posix-tests (Files): Likewise.
27613         * modules/openat-safer-tests (Files): Likewise.
27614         * modules/pipe-tests (Files): Likewise.
27615
27616 2009-12-26  Bruno Haible  <bruno@clisp.org>
27617
27618         javacomp: Portability fix.
27619         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
27620         that it also works on Solaris.
27621
27622 2009-12-26  Bruno Haible  <bruno@clisp.org>
27623
27624         localename: Fix storage allocation of gl_locale_name_thread's result.
27625         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
27626         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
27627         all platforms that have 'uselocale'.
27628         (gl_locale_name_thread_unsafe): New function, extracted from
27629         gl_locale_name_thread.
27630         (gl_locale_name_thread): Call struniq on all platforms that have
27631         'uselocale'.
27632         * tests/test-localename.c (test_locale_name_thread): Check that the
27633         resulting strings are permanently allocated.
27634         * modules/localename-tests (Depends-on): Add strdup.
27635
27636 2009-12-26  Bruno Haible  <bruno@clisp.org>
27637
27638         * tests/test-localename.c (categories): Fill in the strings.
27639
27640 2009-12-26  Jim Meyering  <meyering@redhat.com>
27641
27642         isdir: complete the removal of m4/isdir.m4
27643         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
27644
27645         isdir: clean up, since at least grep still uses it
27646         * lib/isdir.c: Include "isdir.h".
27647         (S_ISDIR): Remove now-unneeded definition.
27648         * modules/isdir (Files): Add lib/isdir.h.
27649         * lib/isdir.h: New file, with declaration.
27650         * m4/isdir.m4: Remove file -- unneeded.
27651
27652 2009-12-25  Bruno Haible  <bruno@clisp.org>
27653
27654         selinux-h: Make generated .h files standalone.
27655         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
27656         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
27657         * lib/se-selinux.in.h: Likewise.
27658         * modules/selinux-h (Depends-on): Add unused-parameter.
27659         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
27660         selinux/selinux.h and selinux/context.h.
27661         Suggested by Eric Blake.
27662
27663 2009-12-25  Bruno Haible  <bruno@clisp.org>
27664
27665         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
27666         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
27667         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
27668         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
27669         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
27670
27671 2009-12-24  Bruno Haible  <bruno@clisp.org>
27672
27673         openat: Fix warning.
27674         * lib/openat-proc.c: Include <unistd.h>.
27675
27676 2009-12-24  Bruno Haible  <bruno@clisp.org>
27677
27678         New module 'unused-parameter'.
27679         * build-aux/unused-parameter.h: New file, extracted from earlier
27680         gnulib-common.m4.
27681         * modules/unused-parameter: New file.
27682         * lib/unistr.h: Include unused-parameter.h.
27683         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
27684         _GL_UNUSED.
27685         * modules/unistr/base (Depends-on): Add unused-parameter.
27686
27687 2009-12-24  Bruno Haible  <bruno@clisp.org>
27688
27689         Add missing dependencies to 'extensions' module.
27690         * m4/extensions.m4: Add comment.
27691         * modules/accept4 (Depends-on): Add extensions.
27692         * modules/dup3 (Depends-on): Likewise.
27693         * modules/fcntl (Depends-on): Likewise.
27694         * modules/futimens (Depends-on): Likewise.
27695         * modules/mknod (Depends-on): Likewise.
27696         * modules/pipe2 (Depends-on): Likewise.
27697         * modules/stat-time (Depends-on): Likewise.
27698         * modules/strcasestr-simple (Depends-on): Likewise.
27699         * modules/strsignal (Depends-on): Likewise.
27700         * modules/utimensat (Depends-on): Likewise.
27701         * modules/localcharset (Depends-on): Likewise. Needed because of
27702         gl_FCNTL_O_FLAGS.
27703         * modules/wcrtomb (Depends-on): Likewise. Needed because of
27704         AC_TYPE_MBSTATE_T.
27705         * modules/wcsnrtombs (Depends-on): Likewise.
27706         * modules/wcsrtombs (Depends-on): Likewise.
27707
27708 2009-12-24  Bruno Haible  <bruno@clisp.org>
27709
27710         binary-io: Avoid gcc warning due to SET_BINARY.
27711         * lib/binary-io.h (SET_BINARY): Cast the result to void.
27712         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
27713
27714 2009-12-24  Bruno Haible  <bruno@clisp.org>
27715
27716         Avoid future namespace pollution on glibc systems.
27717         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
27718         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
27719         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
27720         glibc systems.
27721
27722 2009-12-24  Bruno Haible  <bruno@clisp.org>
27723
27724         Refactor common macros used in tests.
27725         * tests/macros.h: New file.
27726         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
27727         and/or <stdlib.h>, if appropriate.
27728         (ASSERT, SIZEOF): Remove macros.
27729         * tests/test-areadlink-with-size.c: Likewise.
27730         * tests/test-areadlinkat.c: Likewise.
27731         * tests/test-areadlinkat-with-size.c: Likewise.
27732         * tests/test-argmatch.c: Likewise.
27733         * tests/test-argv-iter.c: Likewise.
27734         * tests/test-array-mergesort.c: Likewise.
27735         * tests/test-array_list.c: Likewise.
27736         * tests/test-array_oset.c: Likewise.
27737         * tests/test-avltree_list.c: Likewise.
27738         * tests/test-avltree_oset.c: Likewise.
27739         * tests/test-avltreehash_list.c: Likewise.
27740         * tests/test-base64.c: Likewise.
27741         * tests/test-binary-io.c: Likewise.
27742         * tests/test-bitrotate.c: Likewise.
27743         * tests/test-btowc.c: Likewise.
27744         * tests/test-byteswap.c: Likewise.
27745         * tests/test-c-ctype.c: Likewise.
27746         * tests/test-c-stack.c: Likewise.
27747         * tests/test-c-strcasecmp.c: Likewise.
27748         * tests/test-c-strcasestr.c: Likewise.
27749         * tests/test-c-strncasecmp.c: Likewise.
27750         * tests/test-c-strstr.c: Likewise.
27751         * tests/test-canonicalize-lgpl.c: Likewise.
27752         * tests/test-canonicalize.c: Likewise.
27753         * tests/test-carray_list.c: Likewise.
27754         * tests/test-ceilf1.c: Likewise.
27755         * tests/test-ceilf2.c: Likewise.
27756         * tests/test-ceill.c: Likewise.
27757         * tests/test-chown.c: Likewise.
27758         * tests/test-cloexec.c: Likewise.
27759         * tests/test-copy-acl.c: Likewise.
27760         * tests/test-copy-file.c: Likewise.
27761         * tests/test-count-one-bits.c: Likewise.
27762         * tests/test-dprintf-posix.c: Likewise.
27763         * tests/test-dup2.c: Likewise.
27764         * tests/test-dup3.c: Likewise.
27765         * tests/test-duplocale.c: Likewise.
27766         * tests/test-fbufmode.c: Likewise.
27767         * tests/test-fchdir.c: Likewise.
27768         * tests/test-fchownat.c: Likewise.
27769         * tests/test-fcntl-safer.c: Likewise.
27770         * tests/test-fcntl.c: Likewise.
27771         * tests/test-fdopendir.c: Likewise.
27772         * tests/test-fdutimensat.c: Likewise.
27773         * tests/test-fflush2.c: Likewise.
27774         * tests/test-file-has-acl.c: Likewise.
27775         * tests/test-filevercmp.c: Likewise.
27776         * tests/test-flock.c: Likewise.
27777         * tests/test-floorf1.c: Likewise.
27778         * tests/test-floorf2.c: Likewise.
27779         * tests/test-floorl.c: Likewise.
27780         * tests/test-fnmatch.c: Likewise.
27781         * tests/test-fopen.h: Likewise.
27782         * tests/test-fpending.c: Likewise.
27783         * tests/test-fprintf-posix.c: Likewise.
27784         * tests/test-fpurge.c: Likewise.
27785         * tests/test-freadable.c: Likewise.
27786         * tests/test-freadahead.c: Likewise.
27787         * tests/test-freading.c: Likewise.
27788         * tests/test-freadptr.c: Likewise.
27789         * tests/test-freadptr2.c: Likewise.
27790         * tests/test-freadseek.c: Likewise.
27791         * tests/test-freopen.c: Likewise.
27792         * tests/test-frexp.c: Likewise.
27793         * tests/test-frexpl.c: Likewise.
27794         * tests/test-fseek.c: Likewise.
27795         * tests/test-fseeko.c: Likewise.
27796         * tests/test-fstatat.c: Likewise.
27797         * tests/test-fstrcmp.c: Likewise.
27798         * tests/test-fsync.c: Likewise.
27799         * tests/test-ftell.c: Likewise.
27800         * tests/test-ftello.c: Likewise.
27801         * tests/test-func.c: Likewise.
27802         * tests/test-futimens.c: Likewise.
27803         * tests/test-fwritable.c: Likewise.
27804         * tests/test-fwriting.c: Likewise.
27805         * tests/test-getcwd.c: Likewise.
27806         * tests/test-getdate.c: Likewise.
27807         * tests/test-getdelim.c: Likewise.
27808         * tests/test-getdtablesize.c: Likewise.
27809         * tests/test-getgroups.c: Likewise.
27810         * tests/test-getline.c: Likewise.
27811         * tests/test-getndelim2.c: Likewise.
27812         * tests/test-glob.c: Likewise.
27813         * tests/test-hash.c: Likewise.
27814         * tests/test-i-ring.c: Likewise.
27815         * tests/test-iconv-utf.c: Likewise.
27816         * tests/test-iconv.c: Likewise.
27817         * tests/test-idpriv-drop.c: Likewise.
27818         * tests/test-idpriv-droptemp.c: Likewise.
27819         * tests/test-inet_ntop.c: Likewise.
27820         * tests/test-inet_pton.c: Likewise.
27821         * tests/test-isblank.c: Likewise.
27822         * tests/test-isfinite.c: Likewise.
27823         * tests/test-isinf.c: Likewise.
27824         * tests/test-isnan.c: Likewise.
27825         * tests/test-isnand.h: Likewise.
27826         * tests/test-isnanf.h: Likewise.
27827         * tests/test-isnanl.h: Likewise.
27828         * tests/test-lchown.c: Likewise.
27829         * tests/test-ldexpl.c: Likewise.
27830         * tests/test-link.c: Likewise.
27831         * tests/test-linkat.c: Likewise.
27832         * tests/test-linked_list.c: Likewise.
27833         * tests/test-linkedhash_list.c: Likewise.
27834         * tests/test-localename.c: Likewise.
27835         * tests/test-lseek.c: Likewise.
27836         * tests/test-lstat.c: Likewise.
27837         * tests/test-mbmemcasecmp.c: Likewise.
27838         * tests/test-mbmemcasecoll.c: Likewise.
27839         * tests/test-mbrtowc.c: Likewise.
27840         * tests/test-mbscasecmp.c: Likewise.
27841         * tests/test-mbscasestr1.c: Likewise.
27842         * tests/test-mbscasestr2.c: Likewise.
27843         * tests/test-mbscasestr3.c: Likewise.
27844         * tests/test-mbscasestr4.c: Likewise.
27845         * tests/test-mbschr.c: Likewise.
27846         * tests/test-mbscspn.c: Likewise.
27847         * tests/test-mbsinit.c: Likewise.
27848         * tests/test-mbsncasecmp.c: Likewise.
27849         * tests/test-mbsnrtowcs.c: Likewise.
27850         * tests/test-mbspbrk.c: Likewise.
27851         * tests/test-mbspcasecmp.c: Likewise.
27852         * tests/test-mbsrchr.c: Likewise.
27853         * tests/test-mbsrtowcs.c: Likewise.
27854         * tests/test-mbsspn.c: Likewise.
27855         * tests/test-mbsstr1.c: Likewise.
27856         * tests/test-mbsstr2.c: Likewise.
27857         * tests/test-mbsstr3.c: Likewise.
27858         * tests/test-memchr.c: Likewise.
27859         * tests/test-memchr2.c: Likewise.
27860         * tests/test-memcmp.c: Likewise.
27861         * tests/test-memmem.c: Likewise.
27862         * tests/test-memrchr.c: Likewise.
27863         * tests/test-mkdir.c: Likewise.
27864         * tests/test-mkdirat.c: Likewise.
27865         * tests/test-mkfifo.c: Likewise.
27866         * tests/test-mkfifoat.c: Likewise.
27867         * tests/test-mknod.c: Likewise.
27868         * tests/test-nanosleep.c: Likewise.
27869         * tests/test-nl_langinfo.c: Likewise.
27870         * tests/test-obstack-printf.c: Likewise.
27871         * tests/test-open.c: Likewise.
27872         * tests/test-openat.c: Likewise.
27873         * tests/test-pipe-filter-gi1.c: Likewise.
27874         * tests/test-pipe-filter-gi2-main.c: Likewise.
27875         * tests/test-pipe-filter-ii1.c: Likewise.
27876         * tests/test-pipe-filter-ii2-main.c: Likewise.
27877         * tests/test-pipe2.c: Likewise.
27878         * tests/test-popen.h: Likewise.
27879         * tests/test-posixtm.c: Likewise.
27880         * tests/test-pread.c: Likewise.
27881         * tests/test-printf-frexp.c: Likewise.
27882         * tests/test-printf-frexpl.c: Likewise.
27883         * tests/test-printf-posix.c: Likewise.
27884         * tests/test-priv-set.c: Likewise.
27885         * tests/test-quotearg.c: Likewise.
27886         * tests/test-random_r.c: Likewise.
27887         * tests/test-rawmemchr.c: Likewise.
27888         * tests/test-rbtree_list.c: Likewise.
27889         * tests/test-rbtree_oset.c: Likewise.
27890         * tests/test-rbtreehash_list.c: Likewise.
27891         * tests/test-readlink.c: Likewise.
27892         * tests/test-remove.c: Likewise.
27893         * tests/test-rename.c: Likewise.
27894         * tests/test-renameat.c: Likewise.
27895         * tests/test-rmdir.c: Likewise.
27896         * tests/test-round1.c: Likewise.
27897         * tests/test-roundf1.c: Likewise.
27898         * tests/test-roundl.c: Likewise.
27899         * tests/test-safe-alloc.c: Likewise.
27900         * tests/test-sameacls.c: Likewise.
27901         * tests/test-set-mode-acl.c: Likewise.
27902         * tests/test-setenv.c: Likewise.
27903         * tests/test-sigaction.c: Likewise.
27904         * tests/test-signbit.c: Likewise.
27905         * tests/test-sleep.c: Likewise.
27906         * tests/test-snprintf-posix.c: Likewise.
27907         * tests/test-snprintf.c: Likewise.
27908         * tests/test-sprintf-posix.c: Likewise.
27909         * tests/test-stat-time.c: Likewise.
27910         * tests/test-stat.c: Likewise.
27911         * tests/test-strcasestr.c: Likewise.
27912         * tests/test-strchrnul.c: Likewise.
27913         * tests/test-strerror.c: Likewise.
27914         * tests/test-striconv.c: Likewise.
27915         * tests/test-striconveh.c: Likewise.
27916         * tests/test-striconveha.c: Likewise.
27917         * tests/test-strsignal.c: Likewise.
27918         * tests/test-strstr.c: Likewise.
27919         * tests/test-strtod.c: Likewise.
27920         * tests/test-strverscmp.c: Likewise.
27921         * tests/test-symlink.c: Likewise.
27922         * tests/test-symlinkat.c: Likewise.
27923         * tests/test-trunc1.c: Likewise.
27924         * tests/test-trunc2.c: Likewise.
27925         * tests/test-truncf1.c: Likewise.
27926         * tests/test-truncf2.c: Likewise.
27927         * tests/test-truncl.c: Likewise.
27928         * tests/test-uname.c: Likewise.
27929         * tests/test-unlink.c: Likewise.
27930         * tests/test-unlinkat.c: Likewise.
27931         * tests/test-unsetenv.c: Likewise.
27932         * tests/test-usleep.c: Likewise.
27933         * tests/test-utimens.c: Likewise.
27934         * tests/test-utimensat.c: Likewise.
27935         * tests/test-vasnprintf-posix.c: Likewise.
27936         * tests/test-vasnprintf-posix2.c: Likewise.
27937         * tests/test-vasnprintf.c: Likewise.
27938         * tests/test-vasprintf-posix.c: Likewise.
27939         * tests/test-vasprintf.c: Likewise.
27940         * tests/test-vdprintf-posix.c: Likewise.
27941         * tests/test-vfprintf-posix.c: Likewise.
27942         * tests/test-vprintf-posix.c: Likewise.
27943         * tests/test-vsnprintf-posix.c: Likewise.
27944         * tests/test-vsnprintf.c: Likewise.
27945         * tests/test-vsprintf-posix.c: Likewise.
27946         * tests/test-wcrtomb.c: Likewise.
27947         * tests/test-wcsnrtombs.c: Likewise.
27948         * tests/test-wcsrtombs.c: Likewise.
27949         * tests/test-wctype.c: Likewise.
27950         * tests/test-wcwidth.c: Likewise.
27951         * tests/test-xfprintf-posix.c: Likewise.
27952         * tests/test-xmemdup0.c: Likewise.
27953         * tests/test-xprintf-posix.c: Likewise.
27954         * tests/test-xvasprintf.c: Likewise.
27955         * tests/unicase/test-locale-language.c: Likewise.
27956         * tests/unicase/test-mapping-part1.h: Likewise.
27957         * tests/unicase/test-predicate-part1.h: Likewise.
27958         * tests/unicase/test-u8-casecmp.c: Likewise.
27959         * tests/unicase/test-u8-casecoll.c: Likewise.
27960         * tests/unicase/test-u8-casefold.c: Likewise.
27961         * tests/unicase/test-u8-is-cased.c: Likewise.
27962         * tests/unicase/test-u8-is-casefolded.c: Likewise.
27963         * tests/unicase/test-u8-is-lowercase.c: Likewise.
27964         * tests/unicase/test-u8-is-titlecase.c: Likewise.
27965         * tests/unicase/test-u8-is-uppercase.c: Likewise.
27966         * tests/unicase/test-u8-tolower.c: Likewise.
27967         * tests/unicase/test-u8-totitle.c: Likewise.
27968         * tests/unicase/test-u8-toupper.c: Likewise.
27969         * tests/unicase/test-u16-casecmp.c: Likewise.
27970         * tests/unicase/test-u16-casecoll.c: Likewise.
27971         * tests/unicase/test-u16-casefold.c: Likewise.
27972         * tests/unicase/test-u16-is-cased.c: Likewise.
27973         * tests/unicase/test-u16-is-casefolded.c: Likewise.
27974         * tests/unicase/test-u16-is-lowercase.c: Likewise.
27975         * tests/unicase/test-u16-is-titlecase.c: Likewise.
27976         * tests/unicase/test-u16-is-uppercase.c: Likewise.
27977         * tests/unicase/test-u16-tolower.c: Likewise.
27978         * tests/unicase/test-u16-totitle.c: Likewise.
27979         * tests/unicase/test-u16-toupper.c: Likewise.
27980         * tests/unicase/test-u32-casecmp.c: Likewise.
27981         * tests/unicase/test-u32-casecoll.c: Likewise.
27982         * tests/unicase/test-u32-casefold.c: Likewise.
27983         * tests/unicase/test-u32-is-cased.c: Likewise.
27984         * tests/unicase/test-u32-is-casefolded.c: Likewise.
27985         * tests/unicase/test-u32-is-lowercase.c: Likewise.
27986         * tests/unicase/test-u32-is-titlecase.c: Likewise.
27987         * tests/unicase/test-u32-is-uppercase.c: Likewise.
27988         * tests/unicase/test-u32-tolower.c: Likewise.
27989         * tests/unicase/test-u32-totitle.c: Likewise.
27990         * tests/unicase/test-u32-toupper.c: Likewise.
27991         * tests/unicase/test-ulc-casecmp.c: Likewise.
27992         * tests/unicase/test-ulc-casecoll.c: Likewise.
27993         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
27994         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
27995         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
27996         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
27997         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
27998         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
27999         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
28000         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
28001         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
28002         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
28003         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
28004         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
28005         * tests/unictype/test-bidi_byname.c: Likewise.
28006         * tests/unictype/test-bidi_name.c: Likewise.
28007         * tests/unictype/test-bidi_of.c: Likewise.
28008         * tests/unictype/test-bidi_test.c: Likewise.
28009         * tests/unictype/test-block_list.c: Likewise.
28010         * tests/unictype/test-block_of.c: Likewise.
28011         * tests/unictype/test-block_test.c: Likewise.
28012         * tests/unictype/test-categ_and.c: Likewise.
28013         * tests/unictype/test-categ_and_not.c: Likewise.
28014         * tests/unictype/test-categ_byname.c: Likewise.
28015         * tests/unictype/test-categ_name.c: Likewise.
28016         * tests/unictype/test-categ_none.c: Likewise.
28017         * tests/unictype/test-categ_of.c: Likewise.
28018         * tests/unictype/test-categ_or.c: Likewise.
28019         * tests/unictype/test-categ_test_withtable.c: Likewise.
28020         * tests/unictype/test-combining.c: Likewise.
28021         * tests/unictype/test-decdigit.c: Likewise.
28022         * tests/unictype/test-digit.c: Likewise.
28023         * tests/unictype/test-mirror.c: Likewise.
28024         * tests/unictype/test-numeric.c: Likewise.
28025         * tests/unictype/test-pr_byname.c: Likewise.
28026         * tests/unictype/test-pr_test.c: Likewise.
28027         * tests/unictype/test-predicate-part1.h: Likewise.
28028         * tests/unictype/test-scripts.c: Likewise.
28029         * tests/unictype/test-sy_c_ident.c: Likewise.
28030         * tests/unictype/test-sy_java_ident.c: Likewise.
28031         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
28032         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
28033         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
28034         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
28035         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
28036         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
28037         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
28038         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
28039         * tests/uninorm/test-canonical-decomposition.c: Likewise.
28040         * tests/uninorm/test-compat-decomposition.c: Likewise.
28041         * tests/uninorm/test-composition.c: Likewise.
28042         * tests/uninorm/test-decomposing-form.c: Likewise.
28043         * tests/uninorm/test-decomposition.c: Likewise.
28044         * tests/uninorm/test-u8-nfc.c: Likewise.
28045         * tests/uninorm/test-u8-nfd.c: Likewise.
28046         * tests/uninorm/test-u8-nfkc.c: Likewise.
28047         * tests/uninorm/test-u8-nfkd.c: Likewise.
28048         * tests/uninorm/test-u8-normcmp.c: Likewise.
28049         * tests/uninorm/test-u8-normcoll.c: Likewise.
28050         * tests/uninorm/test-u16-nfc.c: Likewise.
28051         * tests/uninorm/test-u16-nfd.c: Likewise.
28052         * tests/uninorm/test-u16-nfkc.c: Likewise.
28053         * tests/uninorm/test-u16-nfkd.c: Likewise.
28054         * tests/uninorm/test-u16-normcmp.c: Likewise.
28055         * tests/uninorm/test-u16-normcoll.c: Likewise.
28056         * tests/uninorm/test-u32-nfc.c: Likewise.
28057         * tests/uninorm/test-u32-nfd.c: Likewise.
28058         * tests/uninorm/test-u32-nfkc.c: Likewise.
28059         * tests/uninorm/test-u32-nfkd.c: Likewise.
28060         * tests/uninorm/test-u32-normalize-big.c: Likewise.
28061         * tests/uninorm/test-u32-normcmp.c: Likewise.
28062         * tests/uninorm/test-u32-normcoll.c: Likewise.
28063         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
28064         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
28065         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
28066         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
28067         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
28068         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
28069         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
28070         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
28071         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
28072         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
28073         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
28074         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
28075         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
28076         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
28077         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
28078         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
28079         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
28080         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
28081         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
28082         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
28083         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
28084         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
28085         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
28086         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
28087         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
28088         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
28089         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
28090         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
28091         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
28092         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
28093         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
28094         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
28095         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
28096         * tests/uniwidth/test-u8-strwidth.c: Likewise.
28097         * tests/uniwidth/test-u8-width.c: Likewise.
28098         * tests/uniwidth/test-u16-strwidth.c: Likewise.
28099         * tests/uniwidth/test-u16-width.c: Likewise.
28100         * tests/uniwidth/test-u32-strwidth.c: Likewise.
28101         * tests/uniwidth/test-u32-width.c: Likewise.
28102         * tests/uniwidth/test-uc_width.c: Likewise.
28103         * tests/uniwidth/test-uc_width2.c: Likewise.
28104         * modules/acl-tests (Files): Add tests/macros.h.
28105         * modules/areadlink-tests (Files): Likewise.
28106         * modules/areadlink-with-size-tests (Files): Likewise.
28107         * modules/areadlinkat-tests (Files): Likewise.
28108         * modules/areadlinkat-with-size-tests (Files): Likewise.
28109         * modules/argmatch-tests (Files): Likewise.
28110         * modules/argv-iter-tests (Files): Likewise.
28111         * modules/array-list-tests (Files): Likewise.
28112         * modules/array-mergesort-tests (Files): Likewise.
28113         * modules/array-oset-tests (Files): Likewise.
28114         * modules/avltree-list-tests (Files): Likewise.
28115         * modules/avltree-oset-tests (Files): Likewise.
28116         * modules/avltreehash-list-tests (Files): Likewise.
28117         * modules/base64-tests (Files): Likewise.
28118         * modules/binary-io-tests (Files): Likewise.
28119         * modules/bitrotate-tests (Files): Likewise.
28120         * modules/btowc-tests (Files): Likewise.
28121         * modules/byteswap-tests (Files): Likewise.
28122         * modules/c-ctype-tests (Files): Likewise.
28123         * modules/c-stack-tests (Files): Likewise.
28124         * modules/c-strcase-tests (Files): Likewise.
28125         * modules/c-strcasestr-tests (Files): Likewise.
28126         * modules/c-strstr-tests (Files): Likewise.
28127         * modules/canonicalize-lgpl-tests (Files): Likewise.
28128         * modules/canonicalize-tests (Files): Likewise.
28129         * modules/carray-list-tests (Files): Likewise.
28130         * modules/ceilf-tests (Files): Likewise.
28131         * modules/ceill-tests (Files): Likewise.
28132         * modules/chown-tests (Files): Likewise.
28133         * modules/cloexec-tests (Files): Likewise.
28134         * modules/copy-file-tests (Files): Likewise.
28135         * modules/count-one-bits-tests (Files): Likewise.
28136         * modules/dprintf-posix-tests (Files): Likewise.
28137         * modules/dup2-tests (Files): Likewise.
28138         * modules/dup3-tests (Files): Likewise.
28139         * modules/duplocale-tests (Files): Likewise.
28140         * modules/fbufmode-tests (Files): Likewise.
28141         * modules/fchdir-tests (Files): Likewise.
28142         * modules/fcntl-safer-tests (Files): Likewise.
28143         * modules/fcntl-tests (Files): Likewise.
28144         * modules/fdopendir-tests (Files): Likewise.
28145         * modules/fdutimensat-tests (Files): Likewise.
28146         * modules/fflush-tests (Files): Likewise.
28147         * modules/filevercmp-tests (Files): Likewise.
28148         * modules/flock-tests (Files): Likewise.
28149         * modules/floorf-tests (Files): Likewise.
28150         * modules/floorl-tests (Files): Likewise.
28151         * modules/fnmatch-tests (Files): Likewise.
28152         * modules/fopen-safer-tests (Files): Likewise.
28153         * modules/fopen-tests (Files): Likewise.
28154         * modules/fpending-tests (Files): Likewise.
28155         * modules/fprintf-posix-tests (Files): Likewise.
28156         * modules/fpurge-tests (Files): Likewise.
28157         * modules/freadable-tests (Files): Likewise.
28158         * modules/freadahead-tests (Files): Likewise.
28159         * modules/freading-tests (Files): Likewise.
28160         * modules/freadptr-tests (Files): Likewise.
28161         * modules/freadseek-tests (Files): Likewise.
28162         * modules/freopen-tests (Files): Likewise.
28163         * modules/frexp-nolibm-tests (Files): Likewise.
28164         * modules/frexp-tests (Files): Likewise.
28165         * modules/frexpl-nolibm-tests (Files): Likewise.
28166         * modules/frexpl-tests (Files): Likewise.
28167         * modules/fseek-tests (Files): Likewise.
28168         * modules/fseeko-tests (Files): Likewise.
28169         * modules/fstrcmp-tests (Files): Likewise.
28170         * modules/fsync-tests (Files): Likewise.
28171         * modules/ftell-tests (Files): Likewise.
28172         * modules/ftello-tests (Files): Likewise.
28173         * modules/func-tests (Files): Likewise.
28174         * modules/futimens-tests (Files): Likewise.
28175         * modules/fwritable-tests (Files): Likewise.
28176         * modules/fwriting-tests (Files): Likewise.
28177         * modules/getcwd-tests (Files): Likewise.
28178         * modules/getdate-tests (Files): Likewise.
28179         * modules/getdelim-tests (Files): Likewise.
28180         * modules/getdtablesize-tests (Files): Likewise.
28181         * modules/getgroups-tests (Files): Likewise.
28182         * modules/getline-tests (Files): Likewise.
28183         * modules/getndelim2-tests (Files): Likewise.
28184         * modules/glob-tests (Files): Likewise.
28185         * modules/hash-tests (Files): Likewise.
28186         * modules/i-ring-tests (Files): Likewise.
28187         * modules/iconv-tests (Files): Likewise.
28188         * modules/iconv_open-utf-tests (Files): Likewise.
28189         * modules/idpriv-drop-tests (Files): Likewise.
28190         * modules/idpriv-droptemp-tests (Files): Likewise.
28191         * modules/inet_ntop-tests (Files): Likewise.
28192         * modules/inet_pton-tests (Files): Likewise.
28193         * modules/isblank-tests (Files): Likewise.
28194         * modules/isfinite-tests (Files): Likewise.
28195         * modules/isinf-tests (Files): Likewise.
28196         * modules/isnan-tests (Files): Likewise.
28197         * modules/isnand-nolibm-tests (Files): Likewise.
28198         * modules/isnand-tests (Files): Likewise.
28199         * modules/isnanf-nolibm-tests (Files): Likewise.
28200         * modules/isnanf-tests (Files): Likewise.
28201         * modules/isnanl-nolibm-tests (Files): Likewise.
28202         * modules/isnanl-tests (Files): Likewise.
28203         * modules/lchown-tests (Files): Likewise.
28204         * modules/ldexpl-tests (Files): Likewise.
28205         * modules/link-tests (Files): Likewise.
28206         * modules/linkat-tests (Files): Likewise.
28207         * modules/linked-list-tests (Files): Likewise.
28208         * modules/linkedhash-list-tests (Files): Likewise.
28209         * modules/localename-tests (Files): Likewise.
28210         * modules/lseek-tests (Files): Likewise.
28211         * modules/lstat-tests (Files): Likewise.
28212         * modules/mbmemcasecmp-tests (Files): Likewise.
28213         * modules/mbmemcasecoll-tests (Files): Likewise.
28214         * modules/mbrtowc-tests (Files): Likewise.
28215         * modules/mbscasecmp-tests (Files): Likewise.
28216         * modules/mbscasestr-tests (Files): Likewise.
28217         * modules/mbschr-tests (Files): Likewise.
28218         * modules/mbscspn-tests (Files): Likewise.
28219         * modules/mbsinit-tests (Files): Likewise.
28220         * modules/mbsncasecmp-tests (Files): Likewise.
28221         * modules/mbsnrtowcs-tests (Files): Likewise.
28222         * modules/mbspbrk-tests (Files): Likewise.
28223         * modules/mbspcasecmp-tests (Files): Likewise.
28224         * modules/mbsrchr-tests (Files): Likewise.
28225         * modules/mbsrtowcs-tests (Files): Likewise.
28226         * modules/mbsspn-tests (Files): Likewise.
28227         * modules/mbsstr-tests (Files): Likewise.
28228         * modules/memchr-tests (Files): Likewise.
28229         * modules/memchr2-tests (Files): Likewise.
28230         * modules/memcmp-tests (Files): Likewise.
28231         * modules/memmem-tests (Files): Likewise.
28232         * modules/memrchr-tests (Files): Likewise.
28233         * modules/mkdir-tests (Files): Likewise.
28234         * modules/mkfifo-tests (Files): Likewise.
28235         * modules/mkfifoat-tests (Files): Likewise.
28236         * modules/mknod-tests (Files): Likewise.
28237         * modules/nanosleep-tests (Files): Likewise.
28238         * modules/nl_langinfo-tests (Files): Likewise.
28239         * modules/obstack-printf-tests (Files): Likewise.
28240         * modules/open-tests (Files): Likewise.
28241         * modules/openat-tests (Files): Likewise.
28242         * modules/pipe-filter-gi-tests (Files): Likewise.
28243         * modules/pipe-filter-ii-tests (Files): Likewise.
28244         * modules/pipe2-tests (Files): Likewise.
28245         * modules/popen-safer-tests (Files): Likewise.
28246         * modules/popen-tests (Files): Likewise.
28247         * modules/posixtm-tests (Files): Likewise.
28248         * modules/pread-tests (Files): Likewise.
28249         * modules/printf-frexp-tests (Files): Likewise.
28250         * modules/printf-frexpl-tests (Files): Likewise.
28251         * modules/printf-posix-tests (Files): Likewise.
28252         * modules/priv-set-tests (Files): Likewise.
28253         * modules/quotearg-tests (Files): Likewise.
28254         * modules/random_r-tests (Files): Likewise.
28255         * modules/rawmemchr-tests (Files): Likewise.
28256         * modules/rbtree-list-tests (Files): Likewise.
28257         * modules/rbtree-oset-tests (Files): Likewise.
28258         * modules/rbtreehash-list-tests (Files): Likewise.
28259         * modules/readlink-tests (Files): Likewise.
28260         * modules/remove-tests (Files): Likewise.
28261         * modules/rename-tests (Files): Likewise.
28262         * modules/renameat-tests (Files): Likewise.
28263         * modules/rmdir-tests (Files): Likewise.
28264         * modules/round-tests (Files): Likewise.
28265         * modules/roundf-tests (Files): Likewise.
28266         * modules/roundl-tests (Files): Likewise.
28267         * modules/safe-alloc-tests (Files): Likewise.
28268         * modules/setenv-tests (Files): Likewise.
28269         * modules/sigaction-tests (Files): Likewise.
28270         * modules/signbit-tests (Files): Likewise.
28271         * modules/sleep-tests (Files): Likewise.
28272         * modules/snprintf-posix-tests (Files): Likewise.
28273         * modules/snprintf-tests (Files): Likewise.
28274         * modules/sprintf-posix-tests (Files): Likewise.
28275         * modules/stat-tests (Files): Likewise.
28276         * modules/stat-time-tests (Files): Likewise.
28277         * modules/strcasestr-tests (Files): Likewise.
28278         * modules/strchrnul-tests (Files): Likewise.
28279         * modules/strerror-tests (Files): Likewise.
28280         * modules/striconv-tests (Files): Likewise.
28281         * modules/striconveh-tests (Files): Likewise.
28282         * modules/striconveha-tests (Files): Likewise.
28283         * modules/strsignal-tests (Files): Likewise.
28284         * modules/strstr-tests (Files): Likewise.
28285         * modules/strtod-tests (Files): Likewise.
28286         * modules/strverscmp-tests (Files): Likewise.
28287         * modules/symlink-tests (Files): Likewise.
28288         * modules/symlinkat-tests (Files): Likewise.
28289         * modules/trunc-tests (Files): Likewise.
28290         * modules/truncf-tests (Files): Likewise.
28291         * modules/truncl-tests (Files): Likewise.
28292         * modules/uname-tests (Files): Likewise.
28293         * modules/unicase/cased-tests (Files): Likewise.
28294         * modules/unicase/ignorable-tests (Files): Likewise.
28295         * modules/unicase/locale-language-tests (Files): Likewise.
28296         * modules/unicase/tolower-tests (Files): Likewise.
28297         * modules/unicase/totitle-tests (Files): Likewise.
28298         * modules/unicase/toupper-tests (Files): Likewise.
28299         * modules/unicase/u8-casecmp-tests (Files): Likewise.
28300         * modules/unicase/u8-casecoll-tests (Files): Likewise.
28301         * modules/unicase/u8-casefold-tests (Files): Likewise.
28302         * modules/unicase/u8-is-cased-tests (Files): Likewise.
28303         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
28304         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
28305         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
28306         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
28307         * modules/unicase/u8-tolower-tests (Files): Likewise.
28308         * modules/unicase/u8-totitle-tests (Files): Likewise.
28309         * modules/unicase/u8-toupper-tests (Files): Likewise.
28310         * modules/unicase/u16-casecmp-tests (Files): Likewise.
28311         * modules/unicase/u16-casecoll-tests (Files): Likewise.
28312         * modules/unicase/u16-casefold-tests (Files): Likewise.
28313         * modules/unicase/u16-is-cased-tests (Files): Likewise.
28314         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
28315         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
28316         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
28317         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
28318         * modules/unicase/u16-tolower-tests (Files): Likewise.
28319         * modules/unicase/u16-totitle-tests (Files): Likewise.
28320         * modules/unicase/u16-toupper-tests (Files): Likewise.
28321         * modules/unicase/u32-casecmp-tests (Files): Likewise.
28322         * modules/unicase/u32-casecoll-tests (Files): Likewise.
28323         * modules/unicase/u32-casefold-tests (Files): Likewise.
28324         * modules/unicase/u32-is-cased-tests (Files): Likewise.
28325         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
28326         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
28327         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
28328         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
28329         * modules/unicase/u32-tolower-tests (Files): Likewise.
28330         * modules/unicase/u32-totitle-tests (Files): Likewise.
28331         * modules/unicase/u32-toupper-tests (Files): Likewise.
28332         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
28333         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
28334         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
28335         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
28336         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
28337         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
28338         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
28339         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
28340         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
28341         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
28342         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
28343         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
28344         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
28345         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
28346         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
28347         * modules/unictype/bidicategory-name-tests (Files): Likewise.
28348         * modules/unictype/bidicategory-of-tests (Files): Likewise.
28349         * modules/unictype/bidicategory-test-tests (Files): Likewise.
28350         * modules/unictype/block-list-tests (Files): Likewise.
28351         * modules/unictype/block-of-tests (Files): Likewise.
28352         * modules/unictype/block-test-tests (Files): Likewise.
28353         * modules/unictype/category-C-tests (Files): Likewise.
28354         * modules/unictype/category-Cc-tests (Files): Likewise.
28355         * modules/unictype/category-Cf-tests (Files): Likewise.
28356         * modules/unictype/category-Cn-tests (Files): Likewise.
28357         * modules/unictype/category-Co-tests (Files): Likewise.
28358         * modules/unictype/category-Cs-tests (Files): Likewise.
28359         * modules/unictype/category-L-tests (Files): Likewise.
28360         * modules/unictype/category-Ll-tests (Files): Likewise.
28361         * modules/unictype/category-Lm-tests (Files): Likewise.
28362         * modules/unictype/category-Lo-tests (Files): Likewise.
28363         * modules/unictype/category-Lt-tests (Files): Likewise.
28364         * modules/unictype/category-Lu-tests (Files): Likewise.
28365         * modules/unictype/category-M-tests (Files): Likewise.
28366         * modules/unictype/category-Mc-tests (Files): Likewise.
28367         * modules/unictype/category-Me-tests (Files): Likewise.
28368         * modules/unictype/category-Mn-tests (Files): Likewise.
28369         * modules/unictype/category-N-tests (Files): Likewise.
28370         * modules/unictype/category-Nd-tests (Files): Likewise.
28371         * modules/unictype/category-Nl-tests (Files): Likewise.
28372         * modules/unictype/category-No-tests (Files): Likewise.
28373         * modules/unictype/category-P-tests (Files): Likewise.
28374         * modules/unictype/category-Pc-tests (Files): Likewise.
28375         * modules/unictype/category-Pd-tests (Files): Likewise.
28376         * modules/unictype/category-Pe-tests (Files): Likewise.
28377         * modules/unictype/category-Pf-tests (Files): Likewise.
28378         * modules/unictype/category-Pi-tests (Files): Likewise.
28379         * modules/unictype/category-Po-tests (Files): Likewise.
28380         * modules/unictype/category-Ps-tests (Files): Likewise.
28381         * modules/unictype/category-S-tests (Files): Likewise.
28382         * modules/unictype/category-Sc-tests (Files): Likewise.
28383         * modules/unictype/category-Sk-tests (Files): Likewise.
28384         * modules/unictype/category-Sm-tests (Files): Likewise.
28385         * modules/unictype/category-So-tests (Files): Likewise.
28386         * modules/unictype/category-Z-tests (Files): Likewise.
28387         * modules/unictype/category-Zl-tests (Files): Likewise.
28388         * modules/unictype/category-Zp-tests (Files): Likewise.
28389         * modules/unictype/category-Zs-tests (Files): Likewise.
28390         * modules/unictype/category-and-not-tests (Files): Likewise.
28391         * modules/unictype/category-and-tests (Files): Likewise.
28392         * modules/unictype/category-byname-tests (Files): Likewise.
28393         * modules/unictype/category-name-tests (Files): Likewise.
28394         * modules/unictype/category-none-tests (Files): Likewise.
28395         * modules/unictype/category-of-tests (Files): Likewise.
28396         * modules/unictype/category-or-tests (Files): Likewise.
28397         * modules/unictype/category-test-withtable-tests (Files): Likewise.
28398         * modules/unictype/combining-class-tests (Files): Likewise.
28399         * modules/unictype/ctype-alnum-tests (Files): Likewise.
28400         * modules/unictype/ctype-alpha-tests (Files): Likewise.
28401         * modules/unictype/ctype-blank-tests (Files): Likewise.
28402         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
28403         * modules/unictype/ctype-digit-tests (Files): Likewise.
28404         * modules/unictype/ctype-graph-tests (Files): Likewise.
28405         * modules/unictype/ctype-lower-tests (Files): Likewise.
28406         * modules/unictype/ctype-print-tests (Files): Likewise.
28407         * modules/unictype/ctype-punct-tests (Files): Likewise.
28408         * modules/unictype/ctype-space-tests (Files): Likewise.
28409         * modules/unictype/ctype-upper-tests (Files): Likewise.
28410         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
28411         * modules/unictype/decimal-digit-tests (Files): Likewise.
28412         * modules/unictype/digit-tests (Files): Likewise.
28413         * modules/unictype/mirror-tests (Files): Likewise.
28414         * modules/unictype/numeric-tests (Files): Likewise.
28415         * modules/unictype/property-alphabetic-tests (Files): Likewise.
28416         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
28417         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
28418         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
28419         Likewise.
28420         * modules/unictype/property-bidi-block-separator-tests (Files):
28421         Likewise.
28422         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
28423         Likewise.
28424         * modules/unictype/property-bidi-common-separator-tests (Files):
28425         Likewise.
28426         * modules/unictype/property-bidi-control-tests (Files): Likewise.
28427         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
28428         Likewise.
28429         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
28430         Likewise.
28431         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
28432         Likewise.
28433         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
28434         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
28435         Likewise.
28436         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
28437         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
28438         Likewise.
28439         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
28440         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
28441         * modules/unictype/property-bidi-segment-separator-tests (Files):
28442         Likewise.
28443         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
28444         * modules/unictype/property-byname-tests (Files): Likewise.
28445         * modules/unictype/property-combining-tests (Files): Likewise.
28446         * modules/unictype/property-composite-tests (Files): Likewise.
28447         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
28448         * modules/unictype/property-dash-tests (Files): Likewise.
28449         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
28450         * modules/unictype/property-default-ignorable-code-point-tests (Files):
28451         Likewise.
28452         * modules/unictype/property-deprecated-tests (Files): Likewise.
28453         * modules/unictype/property-diacritic-tests (Files): Likewise.
28454         * modules/unictype/property-extender-tests (Files): Likewise.
28455         * modules/unictype/property-format-control-tests (Files): Likewise.
28456         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
28457         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
28458         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
28459         * modules/unictype/property-hex-digit-tests (Files): Likewise.
28460         * modules/unictype/property-hyphen-tests (Files): Likewise.
28461         * modules/unictype/property-id-continue-tests (Files): Likewise.
28462         * modules/unictype/property-id-start-tests (Files): Likewise.
28463         * modules/unictype/property-ideographic-tests (Files): Likewise.
28464         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
28465         * modules/unictype/property-ids-trinary-operator-tests (Files):
28466         Likewise.
28467         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
28468         * modules/unictype/property-iso-control-tests (Files): Likewise.
28469         * modules/unictype/property-join-control-tests (Files): Likewise.
28470         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
28471         * modules/unictype/property-line-separator-tests (Files): Likewise.
28472         * modules/unictype/property-logical-order-exception-tests (Files):
28473         Likewise.
28474         * modules/unictype/property-lowercase-tests (Files): Likewise.
28475         * modules/unictype/property-math-tests (Files): Likewise.
28476         * modules/unictype/property-non-break-tests (Files): Likewise.
28477         * modules/unictype/property-not-a-character-tests (Files): Likewise.
28478         * modules/unictype/property-numeric-tests (Files): Likewise.
28479         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
28480         * modules/unictype/property-other-default-ignorable-code-point-tests
28481         (Files): Likewise.
28482         * modules/unictype/property-other-grapheme-extend-tests (Files):
28483         Likewise.
28484         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
28485         * modules/unictype/property-other-id-start-tests (Files): Likewise.
28486         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
28487         * modules/unictype/property-other-math-tests (Files): Likewise.
28488         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
28489         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
28490         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
28491         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
28492         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
28493         * modules/unictype/property-private-use-tests (Files): Likewise.
28494         * modules/unictype/property-punctuation-tests (Files): Likewise.
28495         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
28496         * modules/unictype/property-radical-tests (Files): Likewise.
28497         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
28498         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
28499         * modules/unictype/property-space-tests (Files): Likewise.
28500         * modules/unictype/property-terminal-punctuation-tests (Files):
28501         Likewise.
28502         * modules/unictype/property-test-tests (Files): Likewise.
28503         * modules/unictype/property-titlecase-tests (Files): Likewise.
28504         * modules/unictype/property-unassigned-code-value-tests (Files):
28505         Likewise.
28506         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
28507         * modules/unictype/property-uppercase-tests (Files): Likewise.
28508         * modules/unictype/property-variation-selector-tests (Files): Likewise.
28509         * modules/unictype/property-white-space-tests (Files): Likewise.
28510         * modules/unictype/property-xid-continue-tests (Files): Likewise.
28511         * modules/unictype/property-xid-start-tests (Files): Likewise.
28512         * modules/unictype/property-zero-width-tests (Files): Likewise.
28513         * modules/unictype/scripts-tests (Files): Likewise.
28514         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
28515         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
28516         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
28517         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
28518         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
28519         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
28520         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
28521         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
28522         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
28523         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
28524         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
28525         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
28526         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
28527         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
28528         * modules/uninorm/composition-tests (Files): Likewise.
28529         * modules/uninorm/decomposing-form-tests (Files): Likewise.
28530         * modules/uninorm/decomposition-tests (Files): Likewise.
28531         * modules/uninorm/filter-tests (Files): Likewise.
28532         * modules/uninorm/nfc-tests (Files): Likewise.
28533         * modules/uninorm/nfd-tests (Files): Likewise.
28534         * modules/uninorm/nfkc-tests (Files): Likewise.
28535         * modules/uninorm/nfkd-tests (Files): Likewise.
28536         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
28537         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
28538         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
28539         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
28540         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
28541         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
28542         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
28543         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
28544         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
28545         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
28546         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
28547         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
28548         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
28549         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
28550         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
28551         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
28552         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
28553         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
28554         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
28555         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
28556         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
28557         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
28558         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
28559         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
28560         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
28561         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
28562         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
28563         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
28564         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
28565         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
28566         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
28567         * modules/uniwidth/u8-width-tests (Files): Likewise.
28568         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
28569         * modules/uniwidth/u16-width-tests (Files): Likewise.
28570         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
28571         * modules/uniwidth/u32-width-tests (Files): Likewise.
28572         * modules/uniwidth/width-tests (Files): Likewise.
28573         * modules/unlink-tests (Files): Likewise.
28574         * modules/unsetenv-tests (Files): Likewise.
28575         * modules/usleep-tests (Files): Likewise.
28576         * modules/utimens-tests (Files): Likewise.
28577         * modules/utimensat-tests (Files): Likewise.
28578         * modules/vasnprintf-posix-tests (Files): Likewise.
28579         * modules/vasnprintf-tests (Files): Likewise.
28580         * modules/vasprintf-posix-tests (Files): Likewise.
28581         * modules/vasprintf-tests (Files): Likewise.
28582         * modules/vdprintf-posix-tests (Files): Likewise.
28583         * modules/vfprintf-posix-tests (Files): Likewise.
28584         * modules/vprintf-posix-tests (Files): Likewise.
28585         * modules/vsnprintf-posix-tests (Files): Likewise.
28586         * modules/vsnprintf-tests (Files): Likewise.
28587         * modules/vsprintf-posix-tests (Files): Likewise.
28588         * modules/wcrtomb-tests (Files): Likewise.
28589         * modules/wcsnrtombs-tests (Files): Likewise.
28590         * modules/wcsrtombs-tests (Files): Likewise.
28591         * modules/wctype-tests (Files): Likewise.
28592         * modules/wcwidth-tests (Files): Likewise.
28593         * modules/xmemdup0-tests (Files): Likewise.
28594         * modules/xprintf-posix-tests (Files): Likewise.
28595         * modules/xvasprintf-tests (Files): Likewise.
28596
28597 2009-12-24  Eric Blake  <ebb9@byu.net>
28598
28599         test-nanosleep: fix typo
28600         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
28601         patch.
28602         Reported by Bruno Haible.
28603
28604 2009-12-24  Bruno Haible  <bruno@clisp.org>
28605
28606         Reduce namespace pollution on glibc systems.
28607         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
28608         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
28609         systems.
28610         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
28611         <getopt.h> on glibc systems.
28612         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
28613         systems.
28614         * lib/fcntl.c: Include <unistd.h> here instead.
28615
28616 2009-12-24  Bruno Haible  <bruno@clisp.org>
28617
28618         * lib/stdlib.in.h (includes): Fix typo in today's commit.
28619
28620 2009-12-24  Eric Blake  <ebb9@byu.net>
28621
28622         tests: add signature checks
28623         * tests/signature.h (SIGNATURE_CHECK): New file.
28624         * modules/atexit-tests (Files): Use it.
28625         * modules/btowc-tests (Files): Likewise.
28626         * modules/canonicalize-lgpl-tests (Files): Likewise.
28627         * modules/ceilf-tests (Files): Likewise.
28628         * modules/ceill-tests (Files): Likewise.
28629         * modules/chown-tests (Files): Likewise.
28630         * modules/dprintf-posix-tests (Files): Likewise.
28631         * modules/dup2-tests (Files): Likewise.
28632         * modules/dup3-tests (Files): Likewise.
28633         * modules/duplocale-tests (Files): Likewise.
28634         * modules/fchdir-tests (Files): Likewise.
28635         * modules/fcntl-tests (Files): Likewise.
28636         * modules/fdopendir-tests (Files): Likewise.
28637         * modules/fflush-tests (Files): Likewise.
28638         * modules/flock-tests (Files): Likewise.
28639         * modules/floorf-tests (Files): Likewise.
28640         * modules/floorl-tests (Files): Likewise.
28641         * modules/fnmatch-tests (Files): Likewise.
28642         * modules/fopen-tests (Files): Likewise.
28643         * modules/fprintf-posix-tests (Files): Likewise.
28644         * modules/freopen-tests (Files): Likewise.
28645         * modules/frexp-nolibm-tests (Files): Likewise.
28646         * modules/frexp-tests (Files): Likewise.
28647         * modules/frexpl-nolibm-tests (Files): Likewise.
28648         * modules/frexpl-tests (Files): Likewise.
28649         * modules/fseek-tests (Files): Likewise.
28650         * modules/fseeko-tests (Files): Likewise.
28651         * modules/fsync-tests (Files): Likewise.
28652         * modules/ftell-tests (Files): Likewise.
28653         * modules/ftello-tests (Files): Likewise.
28654         * modules/futimens-tests (Files): Likewise.
28655         * modules/getaddrinfo-tests (Files): Likewise.
28656         * modules/getcwd-tests (Files): Likewise.
28657         * modules/getdelim-tests (Files): Likewise.
28658         * modules/getdtablesize-tests (Files): Likewise.
28659         * modules/getgroups-tests (Files): Likewise.
28660         * modules/gethostname-tests (Files): Likewise.
28661         * modules/getline-tests (Files): Likewise.
28662         * modules/getopt-posix-tests (Files): Likewise.
28663         * modules/gettimeofday-tests (Files): Likewise.
28664         * modules/glob-tests (Files): Likewise.
28665         * modules/iconv-tests (Files): Likewise.
28666         * modules/inet_ntop-tests (Files): Likewise.
28667         * modules/inet_pton-tests (Files): Likewise.
28668         * modules/isblank-tests (Files): Likewise.
28669         * modules/lchown-tests (Files): Likewise.
28670         * modules/ldexpl-tests (Files): Likewise.
28671         * modules/link-tests (Files): Likewise.
28672         * modules/linkat-tests (Files): Likewise.
28673         * modules/lseek-tests (Files): Likewise.
28674         * modules/lstat-tests (Files): Likewise.
28675         * modules/mbrtowc-tests (Files): Likewise.
28676         * modules/mbsinit-tests (Files): Likewise.
28677         * modules/mbsnrtowcs-tests (Files): Likewise.
28678         * modules/mbsrtowcs-tests (Files): Likewise.
28679         * modules/memchr-tests (Files): Likewise.
28680         * modules/memcmp-tests (Files): Likewise.
28681         * modules/memmem-tests (Files): Likewise.
28682         * modules/memrchr-tests (Files): Likewise.
28683         * modules/mkdir-tests (Files): Likewise.
28684         * modules/mkfifo-tests (Files): Likewise.
28685         * modules/mkfifoat-tests (Files): Likewise.
28686         * modules/mknod-tests (Files): Likewise.
28687         * modules/nanosleep-tests (Files): Likewise.
28688         * modules/nl_langinfo-tests (Files): Likewise.
28689         * modules/obstack-printf-tests (Files): Likewise.
28690         * modules/open-tests (Files): Likewise.
28691         * modules/openat-tests (Files): Likewise.
28692         * modules/perror-tests (Files): Likewise.
28693         * modules/pipe2-tests (Files): Likewise.
28694         * modules/poll-tests (Files): Likewise.
28695         * modules/popen-tests (Files): Likewise.
28696         * modules/posix_spawn-tests (Files): Likewise.
28697         * modules/posix_spawnp-tests (Files): Likewise.
28698         * modules/pread-tests (Files): Likewise.
28699         * modules/printf-posix-tests (Files): Likewise.
28700         * modules/pty-tests (Files): Likewise.
28701         * modules/random_r-tests (Files): Likewise.
28702         * modules/rawmemchr-tests (Files): Likewise.
28703         * modules/readlink-tests (Files): Likewise.
28704         * modules/remove-tests (Files): Likewise.
28705         * modules/rename-tests (Files): Likewise.
28706         * modules/renameat-tests (Files): Likewise.
28707         * modules/rmdir-tests (Files): Likewise.
28708         * modules/round-tests (Files): Likewise.
28709         * modules/roundf-tests (Files): Likewise.
28710         * modules/roundl-tests (Files): Likewise.
28711         * modules/select-tests (Files): Likewise.
28712         * modules/setenv-tests (Files): Likewise.
28713         * modules/sigaction-tests (Files): Likewise.
28714         * modules/sleep-tests (Files): Likewise.
28715         * modules/snprintf-posix-tests (Files): Likewise.
28716         * modules/snprintf-tests (Files): Likewise.
28717         * modules/sprintf-posix-tests (Files): Likewise.
28718         * modules/stat-tests (Files): Likewise.
28719         * modules/strcasestr-tests (Files): Likewise.
28720         * modules/strchrnul-tests (Files): Likewise.
28721         * modules/strerror-tests (Files): Likewise.
28722         * modules/strsignal-tests (Files): Likewise.
28723         * modules/strstr-tests (Files): Likewise.
28724         * modules/strtod-tests (Files): Likewise.
28725         * modules/strverscmp-tests (Files): Likewise.
28726         * modules/symlink-tests (Files): Likewise.
28727         * modules/symlinkat-tests (Files): Likewise.
28728         * modules/times-tests (Files): Likewise.
28729         * modules/trunc-tests (Files): Likewise.
28730         * modules/truncf-tests (Files): Likewise.
28731         * modules/truncl-tests (Files): Likewise.
28732         * modules/tsearch-tests (Files): Likewise.
28733         * modules/uname-tests (Files): Likewise.
28734         * modules/unlink-tests (Files): Likewise.
28735         * modules/unsetenv-tests (Files): Likewise.
28736         * modules/usleep-tests (Files): Likewise.
28737         * modules/utimensat-tests (Files): Likewise.
28738         * modules/vasprintf-tests (Files): Likewise.
28739         * modules/vdprintf-posix-tests (Files): Likewise.
28740         * modules/vfprintf-posix-tests (Files): Likewise.
28741         * modules/vprintf-posix-tests (Files): Likewise.
28742         * modules/vsnprintf-posix-tests (Files): Likewise.
28743         * modules/vsnprintf-tests (Files): Likewise.
28744         * modules/vsprintf-posix-tests (Files): Likewise.
28745         * modules/wcrtomb-tests (Files): Likewise.
28746         * modules/wcsnrtombs-tests (Files): Likewise.
28747         * modules/wcsrtombs-tests (Files): Likewise.
28748         * modules/wcwidth-tests (Files): Likewise.
28749         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
28750         * tests/test-isinf.c (isinf): Likewise.
28751         * tests/test-isnan.c (isnan): Likewise.
28752         * tests/test-signbit.c (signbit): Likewise.
28753         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
28754         declaration, either as macro or with correct signature.
28755         (select): Ensure function under test is declared with correct
28756         signature in correct header.
28757         * tests/test-atexit.c (atexit): Likewise.
28758         * tests/test-btowc.c (btowc): Likewise.
28759         * tests/test-canonicalize-lgpl.c (realpath)
28760         (canonicalize_file_name): Likewise.
28761         * tests/test-ceilf1.c (ceilf): Likewise.
28762         * tests/test-ceill.c (ceill): Likewise.
28763         * tests/test-chown.c (chown): Likewise.
28764         * tests/test-dprintf-posix.c (dprintf): Likewise.
28765         * tests/test-dup2.c (dup2): Likewise.
28766         * tests/test-dup3.c (dup3): Likewise.
28767         * tests/test-duplocale.c (duplocale): Likewise.
28768         * tests/test-fchdir.c (fchdir): Likewise.
28769         * tests/test-fchownat.c (fchownat): Likewise.
28770         * tests/test-fcntl.c (fcntl): Likewise.
28771         * tests/test-fdopendir.c (fdopendir): Likewise.
28772         * tests/test-fflush.c (fflush): Likewise.
28773         * tests/test-flock.c (flock): Likewise.
28774         * tests/test-floorf1.c (floorf): Likewise.
28775         * tests/test-floorl.c (floorl): Likewise.
28776         * tests/test-fnmatch.c (fnmatch): Likewise.
28777         * tests/test-fopen.c (fopen): Likewise.
28778         * tests/test-fprintf-posix.c (fprintf): Likewise.
28779         * tests/test-freopen.c (freopen): Likewise.
28780         * tests/test-frexp.c (frexp): Likewise.
28781         * tests/test-frexpl.c (frexpl): Likewise.
28782         * tests/test-fseek.c (fseek): Likewise.
28783         * tests/test-fseeko.c (fseeko): Likewise.
28784         * tests/test-fstatat.c (fstatat): Likewise.
28785         * tests/test-fsync.c (fsync): Likewise.
28786         * tests/test-ftell.c (ftell): Likewise.
28787         * tests/test-ftello.c (ftello): Likewise.
28788         * tests/test-futimens.c (futimens): Likewise.
28789         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
28790         (gai_strerror): Likewise.
28791         * tests/test-getcwd.c (getcwd): Likewise.
28792         * tests/test-getdelim.c (getdelim): Likewise.
28793         * tests/test-getdtablesize.c (getdtablesize): Likewise.
28794         * tests/test-getgroups.c (getgroups): Likewise.
28795         * tests/test-gethostname.c (gethostname): Likewise.
28796         * tests/test-getline.c (getline): Likewise.
28797         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
28798         Likewise.
28799         * tests/test-gettimeofday.c (gettimeofday): Likewise.
28800         * tests/test-glob.c (glob, globfree): Likewise.
28801         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
28802         * tests/test-inet_ntop.c (inet_ntop): Likewise.
28803         * tests/test-inet_pton.c (inet_pton): Likewise.
28804         * tests/test-isblank.c (isblank): Likewise.
28805         * tests/test-lchown.c (lchown): Likewise.
28806         * tests/test-ldexpl.c (ldexpl): Likewise.
28807         * tests/test-link.c (link): Likewise.
28808         * tests/test-linkat.c (linkat): Likewise.
28809         * tests/test-lseek.c (lseek): Likewise.
28810         * tests/test-lstat.c (lstat): Likewise.
28811         * tests/test-mbrtowc.c (mbrtowc): Likewise.
28812         * tests/test-mbsinit.c (mbsinit): Likewise.
28813         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
28814         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
28815         * tests/test-memchr.c (memchr): Likewise.
28816         * tests/test-memcmp.c (memcmp): Likewise.
28817         * tests/test-memmem.c (memmem): Likewise.
28818         * tests/test-memrchr.c (memrchr): Likewise.
28819         * tests/test-mkdir.c (mkdir): Likewise.
28820         * tests/test-mkdirat.c (mkdirat): Likewise.
28821         * tests/test-mkfifo.c (mkfifo): Likewise.
28822         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
28823         * tests/test-mknod.c (mknod): Likewise.
28824         * tests/test-nanosleep.c (nanosleep): Likewise.
28825         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
28826         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
28827         Likewise.
28828         * tests/test-open.c (open): Likewise.
28829         * tests/test-openat.c (openat): Likewise.
28830         * tests/test-perror.c (perror): Likewise.
28831         * tests/test-pipe2.c (pipe2): Likewise.
28832         * tests/test-poll.c (poll): Likewise.
28833         * tests/test-popen.c (popen, pclose): Likewise.
28834         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
28835         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
28836         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
28837         (posix_spawn_file_actions_destroy)
28838         (posix_spawn_file_actions_addclose)
28839         (posix_spawn_file_actions_addopen)
28840         (posix_spawn_file_actions_adddup2): Likewise.
28841         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
28842         * tests/test-pread.c (pread): Likewise.
28843         * tests/test-printf-posix.c (printf): Likewise.
28844         * tests/test-pty.c (openpty, forkpty): Likewise.
28845         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
28846         (random_r): Likewise.
28847         * tests/test-rawmemchr.c (rawmemchr): Likewise.
28848         * tests/test-readlink.c (readlink): Likewise.
28849         * tests/test-remove.c (remove): Likewise.
28850         * tests/test-rename.c (rename): Likewise.
28851         * tests/test-renameat.c (renameat): Likewise.
28852         * tests/test-rmdir.c (rmdir): Likewise.
28853         * tests/test-round1.c (round): Likewise.
28854         * tests/test-roundf1.c (roundf): Likewise.
28855         * tests/test-roundl.c (roundl): Likewise.
28856         * tests/test-setenv.c (setenv): Likewise.
28857         * tests/test-sigaction.c (sigaction): Likewise.
28858         * tests/test-sleep.c (sleep): Likewise.
28859         * tests/test-snprintf.c (snprintf): Likewise.
28860         * tests/test-sprintf-posix.c (sprintf): Likewise.
28861         * tests/test-stat.c (stat): Likewise.
28862         * tests/test-stpncpy.c (stpncpy): Likewise.
28863         * tests/test-strcasestr.c (strcasestr): Likewise.
28864         * tests/test-strchrnul.c (strchrnul): Likewise.
28865         * tests/test-strerror.c (strerror): Likewise.
28866         * tests/test-strsignal.c (strsignal): Likewise.
28867         * tests/test-strstr.c (strstr): Likewise.
28868         * tests/test-strtod.c (strtod): Likewise.
28869         * tests/test-strverscmp.c (strverscmp): Likewise.
28870         * tests/test-symlink.c (symlink): Likewise.
28871         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
28872         * tests/test-times.c (times): Likewise.
28873         * tests/test-trunc1.c (trunc): Likewise.
28874         * tests/test-truncf1.c (truncf): Likewise.
28875         * tests/test-truncl.c (truncl): Likewise.
28876         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
28877         Likewise.
28878         * tests/test-uname.c (uname): Likewise.
28879         * tests/test-unlink.c (unlink): Likewise.
28880         * tests/test-unlinkat.c (unlinkat): Likewise.
28881         * tests/test-unsetenv.c (unsetenv): Likewise.
28882         * tests/test-usleep.c (usleep): Likewise.
28883         * tests/test-utimensat.c (utimensat): Likewise.
28884         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
28885         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
28886         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
28887         * tests/test-vprintf-posix.c (vprintf): Likewise.
28888         * tests/test-vsnprintf.c (vsnprintf): Likewise.
28889         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
28890         * tests/test-wcrtomb.c (wcrtomb): Likewise.
28891         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
28892         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
28893         * tests/test-wcwidth.c (wcwidth): Likewise.
28894
28895         build: pull in conditional headers during GNULIB_POSIXCHECK
28896         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
28897         definitions from any conditionally-included headers.
28898         * lib/stdlib.in.h (includes): Likewise.
28899         * lib/unistd.in.h (includes): Likewise.
28900
28901 2009-12-24  Bruno Haible  <bruno@clisp.org>
28902
28903         * tests/test-argv-iter.c: Include header file being tested immediately
28904         after config.h.
28905         * tests/test-base64.c: Likewise.
28906         * tests/test-flock.c: Likewise.
28907         * tests/test-fsync.c: Likewise.
28908         * tests/test-getdate.c: Likewise.
28909         * tests/test-getndelim2.c: Likewise.
28910         * tests/test-isfinite.c: Likewise.
28911         * tests/test-isinf.c: Likewise.
28912         * tests/test-strerror.c: Likewise.
28913         * tests/test-strsignal.c: Likewise.
28914
28915 2009-12-23  Eric Blake  <ebb9@byu.net>
28916
28917         unistd: work around cygwin bug
28918         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
28919         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
28920         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
28921
28922 2009-12-23  Bruno Haible  <bruno@clisp.org>
28923
28924         localename: More tests.
28925         * tests/test-localename.c (SIZEOF): New macro.
28926         (categories): New variable.
28927         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
28928         test_locale_name_default): Add test w.r.t. thread locale.
28929         (test_locale_name_thread): New function.
28930         (main): Invoke it.
28931
28932         localename: Make aware of thread locale.
28933         * lib/localename.h (gl_locale_name_thread): New declaration.
28934         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
28935         behaviour with respect to thread locale.
28936         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
28937         <langinfo.h>, glthread/lock.h.
28938         (SIZE_BITS): New macro.
28939         (string_hash): New function.
28940         (struct hash_node): New type.
28941         (HASH_TABLE_SIZE): New macro.
28942         (struniq_hash_table, struniq_lock): New variables.
28943         (struniq): New function.
28944         (gl_locale_name_thread): New function.
28945         (gl_locale_name): Invoke it.
28946         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
28947         * modules/localename (Depends-on): Add lock.
28948         Reported by Mike Gran <spk121@yahoo.com>.
28949
28950 2009-12-23  Eric Blake  <ebb9@byu.net>
28951
28952         va-args: new module
28953         * modules/va-args: New file.
28954         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
28955         * MODULES.html.sh (Core language properties): Mention it.
28956
28957         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
28958         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
28959         named alias for __attribute__((__unused__)).
28960         * lib/chown.c: Update client.
28961         * lib/fchmodat.c: Likewise.
28962         * lib/fts.c: Likewise.
28963         * lib/getdate.y: Likewise.
28964         * lib/getgroups.c: Likewise.
28965         * lib/getopt.c: Likewise.
28966         * lib/getugroups.c: Likewise.
28967         * lib/mkdir.c: Likewise.
28968         * lib/mkfifo.c: Likewise.
28969         * lib/mkfifoat.c: Likewise.
28970         * lib/mknod.c: Likewise.
28971         * lib/mknodat.c: Likewise.
28972         * lib/readlink.c: Likewise.
28973         * lib/se-context.in.h: Likewise.
28974         * lib/se-selinux.in.h: Likewise.
28975         * lib/sockets.c: Likewise.
28976         * lib/symlink.c: Likewise.
28977         * lib/symlinkat.c: Likewise.
28978         * lib/unicodeio.c: Likewise.
28979         * lib/unistr.h: Likewise.
28980         * tests/test-areadlink.c: Likewise.
28981         * tests/test-areadlinkat.c: Likewise.
28982         * tests/test-filenamecat.c: Likewise.
28983         * tests/test-fseeko.c: Likewise.
28984         * tests/test-ftello.c: Likewise.
28985         * tests/test-getdate.c: Likewise.
28986         * tests/test-getgroups.c: Likewise.
28987         * tests/test-gethostname.c: Likewise.
28988         * tests/test-quotearg.c: Likewise.
28989         * tests/test-version-etc.c: Likewise.
28990         * tests/test-xalloc-die.c: Likewise.
28991         * tests/test-xfprintf-posix.c: Likewise.
28992         * tests/test-xprintf-posix.c: Likewise.
28993         * tests/test-xvasprintf.c: Likewise.
28994
28995         tests: avoid compiler warnings
28996         * tests/test-fcntl.c (main): Delete unused parameters.
28997         * tests/test-freopen-safer.c (main): Likewise.
28998         * tests/test-xalloc-die.c (main): Mark unused parameters.
28999         * tests/test-fseeko.c (main): Likewise.
29000         * tests/test-ftello.c (main): Likewise.
29001         * tests/test-nanosleep.c (main): Avoid declaration warning.
29002         * tests/test-sleep.c (main): Likewise.
29003         * tests/test-unsetenv.c (main): Silence warning about string
29004         literal.
29005         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
29006
29007 2009-12-23  Bruno Haible  <bruno@clisp.org>
29008
29009         * tests/test-localename.c (test_locale_name): New function, extracted
29010         from main. Also test mixed situations.
29011         (test_locale_name_posix, test_locale_name_environ,
29012         test_locale_name_default): New functions.
29013         (main): Invoke them all.
29014         * modules/localename-tests (configure.ac): Test for newlocale.
29015
29016 2009-12-23  Bruno Haible  <bruno@clisp.org>
29017
29018         unistd: Ensure getcwd gets declared before being overridden.
29019         * lib/unistd.in.h: Conditionally include <io.h>.
29020
29021 2009-12-22  Bruno Haible  <bruno@clisp.org>
29022
29023         wchar: Diagnose broken combination of glibc and gcc versions and flags.
29024         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
29025         (gl_WCHAR_H): Invoke it.
29026         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
29027         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
29028         Reported by Karl Berry <karl@freefriends.org>.
29029
29030 2009-12-22  Eric Blake  <ebb9@byu.net>
29031
29032         math, unistd: avoid redundant includes
29033         * lib/math.in.h (isnan): No need to re-include <math.h>.
29034         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
29035
29036         getsubopt: work around cygwin bug
29037         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
29038         avoid conflicting with system getsubopt.
29039         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
29040         bug.
29041
29042         getopt: synchronize from glibc
29043         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
29044         parameter order.  Adjust all callers.
29045         (_getopt_internal_r, main): Adjust quoting in error messages.
29046         Drop considerations for outdated POSIX 1003.2 error message.
29047         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
29048         callers.
29049         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
29050
29051         test-getopt: test stderr behavior
29052         * modules/getopt-posix-tests (Depends-on): Add dup2.
29053         * tests/test-getopt.c (ASSERT): Avoid stderr.
29054         (main): Move stderr to a temporary file.
29055         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
29056         Instead, add parameter to inform caller if output occurred.
29057         (test_getopt): Adjust all existing tests to expect silence, and
29058         add new tests of leading ":".
29059         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
29060         glibc shortcomings with leading "-:" or "+:" in optstring.
29061         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29062         Likewise.
29063         * doc/posix-functions/getopt.texi (getopt): Likewise.
29064
29065         test-getopt: enhance test
29066         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
29067         supports optind=0.
29068         * tests/test-getopt.c (OPTIND_MIN): Move...
29069         * tests/test-getopt.h (OPTIND_MIN): ...here.
29070         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
29071         Require that optind=0 works, since modern BSD supports it in
29072         addition to optreset, and since coreutils expects it.
29073         (test_getopt_long_only): New test.
29074         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
29075         glibc shortcomings with 'W;', and enforcement of optind=0.
29076         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29077         Likewise.
29078
29079 2009-12-21  Bruno Haible  <bruno@clisp.org>
29080
29081         localename: Improvements for MacOS X and Cygwin.
29082         * lib/localename.h (gl_locale_name_environ): New declaration.
29083         * lib/localename.c (gl_locale_name_environ): New function, extracted from
29084         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
29085         (gl_locale_name_posix): Invoke it.
29086         (gl_locale_name_default): Add comments. Use Windows native API also on
29087         Cygwin.
29088
29089 2009-12-21  Bruno Haible  <bruno@clisp.org>
29090
29091         Update list of Win32 locale ids.
29092         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
29093         (LANG_SAMI): Renamed from LANG_SAAMI.
29094         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
29095         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
29096         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
29097         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
29098         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
29099         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
29100         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
29101         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
29102         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
29103         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
29104         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
29105         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
29106         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
29107         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
29108         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
29109         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
29110         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
29111         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
29112         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
29113         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
29114         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
29115         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
29116         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
29117         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
29118         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
29119         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
29120         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
29121         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
29122         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
29123         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
29124         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
29125         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
29126         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
29127         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
29128         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
29129         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
29130         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
29131         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
29132         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
29133         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
29134         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
29135         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
29136         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
29137         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
29138         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
29139         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
29140         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
29141         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
29142         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
29143         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
29144         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
29145         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
29146         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
29147         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
29148         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
29149         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
29150         Add more languages and countries for Sami, Sorbian. Add more countries
29151         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
29152         for Pashto. Change country for Syriac, Tswana.
29153
29154 2009-12-21  Eric Blake  <ebb9@byu.net>
29155
29156         test-utimens: avoid spurious failure
29157         * tests/test-chown.h (nap): Factor...
29158         * tests/nap.h: ...into new file.
29159         * tests/test-lchown.h (nap): Avoid duplication.
29160         * tests/test-utimens-common.h (nap): Use shared implementation,
29161         necessary on file systems with 1-second resolution.
29162         * modules/chown-tests (Files): Include new file.
29163         * modules/fdutimensat-tests (Files): Likewise.
29164         * modules/futimens-tests (Files): Likewise.
29165         * modules/lchown-tests (Files): Likewise.
29166         * modules/openat-tests (Files): Likewise.
29167         * modules/utimens-tests (Files): Likewise.
29168         * modules/utimensat-tests (Files): Likewise.
29169
29170 2009-12-19  Eric Blake  <ebb9@byu.net>
29171
29172         futimens, utimensat: work around Linux bug
29173         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
29174         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
29175         * lib/utimensat.c (rpl_utimensat): Work around it.
29176         * lib/futimens.c (rpl_futimens): Adjust comment.
29177
29178         utimens: work around Linux ctime bug
29179         * lib/utimens.c (detect_ctime_bug): New helper function.
29180         (update_timespec): Differentiate between workaround needed for
29181         this bug vs. what is needed for systems that lack utimensat.
29182         (fdutimens, lutimens): Work around bug.
29183
29184         utimens: check for ctime update
29185         * tests/test-utimens-common.h (check_ctime): Define.
29186         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
29187         * tests/test-futimens.h (test_futimens): Likewise.
29188         * tests/test-lutimens.h (test_lutimens): Likewise.
29189         * doc/posix-functions/futimens.texi (futimens): Document the bug.
29190         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
29191
29192 2009-12-19  Bruno Haible  <bruno@clisp.org>
29193
29194         dprintf-posix: Check against memory leak fixed on 2009-12-15.
29195         * tests/test-dprintf-posix2.sh: New file.
29196         * tests/test-dprintf-posix2.c: New file.
29197         * modules/dprintf-posix-tests (Files): Add them.
29198         (configure.ac): Check for getrlimit and setrlimit.
29199         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
29200
29201 2009-12-19  Bruno Haible  <bruno@clisp.org>
29202
29203         fprintf-posix: Check against memory leak fixed on 2009-12-15.
29204         * tests/test-fprintf-posix3.sh: New file.
29205         * tests/test-fprintf-posix3.c: New file.
29206         * modules/fprintf-posix-tests (Files): Add them.
29207         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
29208
29209 2009-12-19  Eric Blake  <ebb9@byu.net>
29210
29211         dirfd: fix prototype
29212         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
29213         * lib/dirfd.c (dirfd): Likewise.
29214
29215         canonicalize: reduce memory usage
29216         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
29217         allocation to size.
29218         Reported by Solar Designer <solar@openwall.com>.
29219
29220 2009-12-19  Bruno Haible  <bruno@clisp.org>
29221
29222         New module attribute 'Applicability'.
29223         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
29224         * gnulib-tool: New option --extract-applicability.
29225         (func_usage): Document it.
29226         (sed_extract_prog): Recognize it.
29227         (func_get_applicability): New function.
29228         (func_import): Generalize handling of 'link-warning' module.
29229         * modules/link-warning (Applicability): New section.
29230         * modules/arg-nonnull (Applicability): New section.
29231         Repoted by Simon Josefsson <simon@josefsson.org>.
29232
29233 2009-12-19  Bruno Haible  <bruno@clisp.org>
29234
29235         fflush: tweak
29236         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
29237         * lib/fseeko.c (rpl_fseeko): Likewise.
29238
29239 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
29240
29241         * lib/gl_list.h: Fix typo in comment.
29242
29243 2009-12-16  Eric Blake  <ebb9@byu.net>
29244
29245         fcntl: use to simplify other modules
29246         * modules/cloexec (Depends-on): Add fcntl.
29247         * modules/fchdir (Depends-on): Likewise.
29248         * modules/fd-safer-flag (Depends-on): Likewise.
29249         * modules/unistd-safer (Depends-on): Likewise.
29250         * modules/dup3 (configure.ac): Set module indicator.
29251         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
29252         missing.
29253         * lib/fchdir.c (_gl_register_dup): Fix comment.
29254         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
29255         * lib/dup-safer.c (dup_safer): Likewise.
29256         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
29257         * lib/dup3.c (dup3): Likewise.
29258         * tests/test-fchdir.c (main): Enhance test.
29259         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
29260
29261         fcntl: port portions of fcntl to mingw
29262         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
29263         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
29264         replacement for mingw.
29265         * modules/fcntl (Description): Update.
29266         (Depends-on): Add dup2.
29267         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
29268         * modules/fcntl-h (Makefile.am): Substitute it.
29269         * lib/fcntl.in.h (fcntl): Update declaration.
29270         (F_DUPFD, F_GETFD): New macros, when needed.
29271         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
29272         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
29273         * tests/test-fcntl.c (check_flags, main): Enhance test for items
29274         we now guarantee.
29275
29276         fcntl: work around cygwin bug in F_DUPFD
29277         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
29278         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
29279         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
29280         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
29281         * doc/posix-functions/fcntl.texi (fcntl): Document it.
29282
29283         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
29284         * modules/fcntl (Files): List new files.
29285         (configure.ac): Run a test.
29286         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
29287         * lib/fcntl.c (rpl_fcntl): Likewise.
29288         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
29289         (gl_FCNTL_H): Always replace fcntl.h.
29290         * modules/fcntl-h (Makefile.am): Substitute witnesses.
29291         * lib/fcntl.in.h (fcntl): Declare replacement.
29292         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
29293         needed, plus a witness.
29294         * doc/posix-functions/fcntl.texi (fcntl): Document this.
29295         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
29296         * tests/test-fcntl.c: New file.
29297         * modules/fcntl-tests: Likewise.
29298
29299         binary-io: avoid potential compilation warning
29300         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
29301         directives.
29302
29303         fflush: avoid compilation error on NetBSD
29304         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
29305         between off_t and fpos_t, since the latter is sometimes a struct.
29306         * lib/fseeko.c (rpl_fseeko): Likewise.
29307         Reported by Alexander Nasonov <alnsn@yandex.ru>.
29308
29309 2009-12-15  Eric Blake  <ebb9@byu.net>
29310
29311         fcntl-h, stdio, sys_ioctl: fix declarations
29312         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
29313         function must not take arguments.
29314         * lib/sys_ioctl.in.h (ioctl): Likewise.
29315         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
29316         (open): Add a link warning.
29317
29318 2009-12-15  Jim Meyering  <meyering@redhat.com>
29319
29320         areadlink, areadlink-with-size: relax license to LGPLv2+
29321         * modules/areadlink (License): Relax to LGPLv2+.
29322         * modules/areadlink-with-size (License): Likewise.
29323
29324 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
29325             Bruno Haible  <bruno@clisp.org>
29326
29327         *printf: Fix memory leak.
29328         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
29329         * lib/vfprintf.c (vfprintf): Likewise.
29330         * lib/dprintf.c (dprintf): Likewise.
29331         * lib/vdprintf.c (vdprintf): Likewise.
29332
29333 2009-12-14  Eric Blake  <ebb9@byu.net>
29334
29335         accept4: adjust module dependencies
29336         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
29337
29338         utimens: one more try at avoiding compiler warning
29339         * lib/utimens.c (lutimens): Lower scope of result.
29340
29341 2009-12-13  Bruno Haible  <bruno@clisp.org>
29342
29343         Move the malloc checking from module 'list' to new module 'xlist'.
29344         * modules/xlist: New file.
29345         * lib/gl_xlist.h: New file.
29346         * lib/gl_xlist.c: New file.
29347         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
29348         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
29349         gl_list_add_last, gl_list_add_before, gl_list_add_after,
29350         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
29351         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
29352         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
29353         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
29354         gl_sortedlist_nx_add): New declarations.
29355         (struct gl_list_implementation): Rename and change methods accordingly.
29356         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
29357         (gl_list_nx_create): Renamed from gl_list_create.
29358         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
29359         (gl_list_nx_set_at): Renamed from gl_list_set_at.
29360         (gl_list_nx_add_first): Renamed from gl_list_add_first.
29361         (gl_list_nx_add_last): Renamed from gl_list_add_last.
29362         (gl_list_nx_add_before): Renamed from gl_list_add_before.
29363         (gl_list_nx_add_after): Renamed from gl_list_add_after.
29364         (gl_list_nx_add_at): Renamed from gl_list_add_at.
29365         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
29366         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
29367         gl_list_create_empty.
29368         (gl_list_nx_create): Renamed from gl_list_create.
29369         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
29370         (gl_list_nx_set_at): Renamed from gl_list_set_at.
29371         (gl_list_nx_add_first): Renamed from gl_list_add_first.
29372         (gl_list_nx_add_last): Renamed from gl_list_add_last.
29373         (gl_list_nx_add_before): Renamed from gl_list_add_before.
29374         (gl_list_nx_add_after): Renamed from gl_list_add_after.
29375         (gl_list_nx_add_at): Renamed from gl_list_add_at.
29376         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
29377         * lib/gl_array_list.c: Don't include xalloc.h.
29378         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
29379         NULL upon out-of-memory.
29380         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
29381         out-of-memory.
29382         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
29383         Change return type to 'int'.
29384         (gl_array_nx_set_at): Renamed from gl_array_set_at.
29385         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
29386         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
29387         upon out-of-memory.
29388         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
29389         upon out-of-memory.
29390         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
29391         upon out-of-memory.
29392         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
29393         upon out-of-memory.
29394         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
29395         out-of-memory.
29396         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
29397         Update.
29398         (gl_array_list_implementation): Update.
29399         * lib/gl_carray_list.c: Don't include xalloc.h.
29400         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
29401         Return NULL upon out-of-memory.
29402         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
29403         out-of-memory.
29404         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
29405         Change return type to 'int'.
29406         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
29407         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
29408         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
29409         upon out-of-memory.
29410         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
29411         upon out-of-memory.
29412         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
29413         out-of-memory.
29414         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
29415         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
29416         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
29417         Update.
29418         (gl_carray_list_implementation): Update.
29419         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
29420         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
29421         gl_linked_create_empty. Return NULL upon out-of-memory.
29422         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
29423         out-of-memory.
29424         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
29425         Change return type to 'int'. Return -1 upon out-of-memory.
29426         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
29427         out-of-memory.
29428         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
29429         upon out-of-memory.
29430         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
29431         upon out-of-memory.
29432         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
29433         NULL upon out-of-memory.
29434         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
29435         upon out-of-memory.
29436         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
29437         out-of-memory.
29438         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
29439         Update.
29440         * lib/gl_linked_list.c: Don't include xalloc.h.
29441         (gl_linked_list_implementation): Update.
29442         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
29443         (add_to_bucket): Change return type to 'int'.
29444         (gl_linkedhash_list_implementation): Update.
29445         * lib/gl_anytree_list1.h (free_subtree): New function.
29446         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
29447         gl_tree_create_empty. Return NULL upon out-of-memory.
29448         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
29449         Change return type to 'int'. Return -1 upon out-of-memory.
29450         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
29451         out-of-memory.
29452         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
29453         (gl_tree_remove_node): New function, moved here from
29454         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
29455         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
29456         Update.
29457         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
29458         malloc, not xmalloc. Return NULL upon out-of-memory.
29459         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
29460         out-of-memory.
29461         (gl_tree_remove_node_from_tree): New function, extracted from
29462         gl_tree_remove_node.
29463         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
29464         upon out-of-memory.
29465         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
29466         out-of-memory.
29467         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
29468         upon out-of-memory.
29469         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
29470         upon out-of-memory.
29471         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
29472         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
29473         not xmalloc. Return NULL upon out-of-memory.
29474         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
29475         out-of-memory.
29476         (gl_tree_remove_node_from_tree): New function, extracted from
29477         gl_tree_remove_node.
29478         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
29479         upon out-of-memory.
29480         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
29481         out-of-memory.
29482         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
29483         upon out-of-memory.
29484         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
29485         upon out-of-memory.
29486         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
29487         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
29488         gl_anytree_list1.h before gl_anyavltree_list2.h.
29489         (gl_avltree_list_implementation): Update.
29490         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
29491         gl_anytree_list1.h before gl_anyavltree_list2.h.
29492         (gl_rbtree_list_implementation): Update.
29493         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
29494         Change return type to 'int'. Return -1 upon out-of-memory. Use
29495         __builtin_expect.
29496         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
29497         (gl_avltreehash_list_implementation): Update.
29498         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
29499         (gl_rbtreehash_list_implementation): Update.
29500         * modules/array-list (Depends-on): Remove xalloc.
29501         * modules/carray-list (Depends-on): Likewise.
29502         * modules/linked-list (Depends-on): Likewise.
29503         * modules/linkedhash-list (Depends-on): Likewise.
29504         * modules/avltree-list (Depends-on): Likewise.
29505         * modules/rbtree-list (Depends-on): Likewise.
29506         * modules/avltreehash-list (Depends-on): Likewise.
29507         * modules/rbtreehash-list (Depends-on): Likewise.
29508
29509         * modules/xsublist: New file.
29510         * lib/gl_xsublist.h: New file.
29511         * lib/gl_xsublist.c: New file.
29512         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
29513         (gl_sublist_nx_create): New declaration.
29514         * lib/gl_sublist.c: Don't include xalloc.h.
29515         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
29516         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
29517         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
29518         Change return type to 'int'. Return -1 upon out-of-memory.
29519         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
29520         upon out-of-memory.
29521         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
29522         NULL upon out-of-memory.
29523         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
29524         upon out-of-memory.
29525         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
29526         NULL upon out-of-memory.
29527         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
29528         NULL upon out-of-memory.
29529         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
29530         upon out-of-memory.
29531         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
29532         (gl_sublist_list_implementation): Update.
29533         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
29534         upon out-of-memory.
29535         * modules/sublist (Depends-on): Remove xalloc.
29536
29537         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
29538         * tests/test-carray_list.c: Likewise.
29539         * tests/test-linked_list.c: Likewise.
29540         * tests/test-linkedhash_list.c: Likewise.
29541         * tests/test-avltree_list.c: Likewise.
29542         * tests/test-rbtree_list.c: Likewise.
29543         * tests/test-avltreehash_list.c: Likewise.
29544         * tests/test-rbtreehash_list.c: Likewise.
29545         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
29546         * modules/carray-list-tests (Makefile.am): Likewise.
29547         * modules/linked-list-tests (Makefile.am): Likewise.
29548         * modules/linkedhash-list-tests (Makefile.am): Likewise.
29549         * modules/avltree-list-tests (Makefile.am): Likewise.
29550         * modules/rbtree-list-tests (Makefile.am): Likewise.
29551         * modules/avltreehash-list-tests (Makefile.am): Likewise.
29552         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
29553
29554         * NEWS: Mention the changes.
29555
29556         * lib/clean-temp.c: Include gl_xlist.h.
29557         * modules/clean-temp (Depends-on): Add xlist.
29558
29559         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
29560         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
29561
29562         * tests/test-array_oset.c: Include gl_xlist.h.
29563         * modules/array-oset-tests (Depends-on): Add xlist.
29564
29565         Reported by José E. Marchesi <jemarch@gnu.org>.
29566
29567 2009-12-13  Bruno Haible  <bruno@clisp.org>
29568
29569         Move the malloc checking from module 'oset' to new module 'xoset'.
29570         * modules/xoset: New file.
29571         * lib/gl_xoset.h: New file.
29572         * lib/gl_xoset.c: New file.
29573         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
29574         declarations.
29575         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
29576         (struct gl_oset_implementation): Rename and change methods accordingly.
29577         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
29578         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
29579         'int'. Mark as __warn_unused_result__.
29580         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
29581         gl_oset_create_empty.
29582         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
29583         'int'.
29584         * lib/gl_array_oset.c: Don't include xalloc.h.
29585         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
29586         malloc, not xmalloc.
29587         (grow): Change return type to 'int'. Don't call xalloc_die.
29588         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
29589         to 'int'.
29590         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
29591         'int'.
29592         (gl_array_oset_implementation): Update.
29593         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
29594         gl_tree_create_empty.
29595         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
29596         'int'.
29597         * lib/gl_avltree_oset.c: Don't include xalloc.h.
29598         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
29599         xmalloc.
29600         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
29601         not xmalloc.
29602         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
29603         xmalloc.
29604         (gl_avltree_oset_implementation): Update.
29605         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
29606         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
29607         xmalloc.
29608         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
29609         not xmalloc.
29610         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
29611         xmalloc.
29612         (gl_rbtree_oset_implementation): Update.
29613         * modules/array-oset (Depends-on): Remove xalloc.
29614         * modules/avltree-oset (Depends-on): Likewise.
29615         * modules/rbtree-oset (Depends-on): Likewise.
29616         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
29617         * tests/test-avltree_oset.c: Likewise.
29618         * tests/test-rbtree_oset.c: Likewise.
29619         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
29620         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
29621         * modules/rbtree-oset-tests (Makefile.am): Likewise.
29622         * NEWS: Mention the change.
29623
29624 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
29625
29626         maint.mk: allow a project to override release-prep commands
29627         * top/maint.mk (alpha, beta, stable): Move release-preparatory
29628         commands into a new rule.
29629         (release-prep): New rule.
29630         (release-prep-hook): New overridable variable.
29631
29632 2009-12-13  Bruno Haible  <bruno@clisp.org>
29633
29634         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
29635
29636 2009-12-13  Jim Meyering  <meyering@redhat.com>
29637
29638         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
29639         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
29640
29641 2009-12-12  Bruno Haible  <bruno@clisp.org>
29642
29643         duplocale: Tweak.
29644         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
29645
29646 2009-12-12  Karl Berry  <karl@gnu.org>
29647
29648         * config/srclist.txt (strtoll.c): tab changes, no more sync.
29649
29650 2009-12-12  Bruno Haible  <bruno@clisp.org>
29651
29652         * m4/po.m4: Undo incorrect untabification.
29653
29654 2009-12-12  Bruno Haible  <bruno@clisp.org>
29655
29656         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
29657         * modules/c-strtod (Depends-on): Add locale.
29658         * modules/c-strtold (Depends-on): Likewise.
29659
29660 2009-12-12  Bruno Haible  <bruno@clisp.org>
29661
29662         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
29663
29664 2009-12-11  Eric Blake  <ebb9@byu.net>
29665
29666         setenv: relax requirement in light of POSIX ruling
29667         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
29668         not NULL.
29669         * tests/test-setenv.c (main): Relax test.
29670         * tests/test-unsetenv.c (main): Likewise.
29671         * doc/posix-functions/setenv.texi (setenv): Document this.
29672         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
29673
29674 2009-12-11  Bruno Haible  <bruno@clisp.org>
29675
29676         New module 'fd-safer-flag'.
29677         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
29678         * lib/dup-safer.c (dup_safer_flag): Remove function.
29679         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
29680         * lib/fd-safer.c (fd_safer_flag): Remove function.
29681         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
29682         * modules/cloexec (configure.ac): Drop indicator macro.
29683         * modules/fd-safer-flag: New file.
29684         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
29685         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
29686         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
29687
29688 2009-12-11  Bruno Haible  <bruno@clisp.org>
29689
29690         Tests for module 'nl_langinfo'.
29691         * modules/nl_langinfo-tests: New file.
29692         * tests/test-nl_langinfo.sh: New file.
29693         * tests/test-nl_langinfo.c: New file.
29694
29695         New module 'nl_langinfo'.
29696         * lib/nl_langinfo.c: New file.
29697         * m4/nl_langinfo.m4: New file.
29698         * modules/nl_langinfo: New file.
29699         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
29700
29701 2009-12-11  Bruno Haible  <bruno@clisp.org>
29702
29703         Tests for module 'langinfo'.
29704         * modules/langinfo-tests: New file.
29705         * tests/test-langinfo.c: New file.
29706
29707         New module 'langinfo'.
29708         * lib/langinfo.in.h: New file.
29709         * m4/langinfo_h.m4: New file.
29710         * modules/langinfo: New file.
29711         * doc/posix-headers/langinfo.texi: Mention the new module.
29712
29713 2009-12-11  Bruno Haible  <bruno@clisp.org>
29714
29715         * lib/config.charset: Untabify.
29716
29717 2009-12-11  Bruno Haible  <bruno@clisp.org>
29718
29719         * modules/unistd-safer (configure.ac): Drop indicator macro.
29720
29721 2009-12-11  Bruno Haible  <bruno@clisp.org>
29722
29723         Move pipe2-safer code to its own file.
29724         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
29725         * lib/pipe-safer.c (pipe2_safer): Remove function.
29726         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
29727         (Makefile.am): Add it to lib_SOURCES.
29728
29729 2009-12-10  Bruno Haible  <bruno@clisp.org>
29730
29731         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
29732
29733 2009-12-10  Bruno Haible  <bruno@clisp.org>
29734
29735         Declare which arguments expect non-NULL values, for GCC and clang.
29736         * build-aux/arg-nonnull.h: New file.
29737         * modules/arg-nonnull: New file.
29738         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
29739         (inet_ntop, inet_pton): Use it.
29740         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
29741         (closedir, dirfd, opendir, scandir, alphasort): Use it.
29742         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
29743         (open, openat): Use it.
29744         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
29745         (fnmatch): Use it.
29746         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
29747         (getopt, getopt_long, getopt_long_only): Use it.
29748         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
29749         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
29750         Use it.
29751         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
29752         (iconv_open): Use it.
29753         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
29754         (strtoimax, strtoumax): Use it.
29755         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
29756         (duplocale): Use it.
29757         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
29758         (frexp, frexpl): Use it.
29759         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
29760         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
29761         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
29762         (tsearch, tfind, tdelete, twalk): Use it.
29763         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
29764         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
29765         sigpending): Use it.
29766         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
29767         (posix_spawn, posix_spawnp, posix_spawnattr_init,
29768         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
29769         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
29770         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
29771         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
29772         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
29773         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
29774         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
29775         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
29776         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
29777         Use it.
29778         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
29779         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
29780         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
29781         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
29782         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
29783         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
29784         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
29785         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
29786         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
29787         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
29788         strtoull, unsetenv): Use it.
29789         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
29790         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
29791         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
29792         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
29793         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
29794         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
29795         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
29796         (strcasecmp, strncasecmp): Use it.
29797         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
29798         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
29799         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
29800         rpl_setsockopt): Use it.
29801         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
29802         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
29803         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
29804         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
29805         (gettimeofday): Use it.
29806         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
29807         (times): Use it.
29808         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
29809         (uname): Use it.
29810         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
29811         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
29812         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
29813         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
29814         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
29815         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
29816         unlinkat, write): Use it.
29817         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
29818         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
29819         * lib/argv-iter.h: Include arg-nonnull.h.
29820         (_ATTRIBUTE_NONNULL_): Remove macro.
29821         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
29822         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
29823         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
29824         optimization.
29825         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
29826         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
29827         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
29828         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
29829         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
29830         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
29831         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
29832         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
29833         * modules/arpa_inet (Depends-on): Add arg-nonnull.
29834         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
29835         * modules/dirent (Depends-on): Add arg-nonnull.
29836         (Makefile.am): Insert arg-nonnull.h into dirent.h.
29837         * modules/fcntl-h (Depends-on): Add arg-nonnull.
29838         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
29839         * modules/fnmatch (Depends-on): Add arg-nonnull.
29840         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
29841         * modules/getopt-posix (Depends-on): Add arg-nonnull.
29842         (Makefile.am): Insert arg-nonnull.h into getopt.h.
29843         * modules/glob (Depends-on): Add arg-nonnull.
29844         (Makefile.am): Insert arg-nonnull.h into glob.h.
29845         * modules/iconv_open (Depends-on): Add arg-nonnull.
29846         (Makefile.am): Insert arg-nonnull.h into iconv.h.
29847         * modules/inttypes (Depends-on): Add arg-nonnull.
29848         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
29849         * modules/locale (Depends-on): Add arg-nonnull.
29850         (Makefile.am): Insert arg-nonnull.h into locale.h.
29851         * modules/math (Depends-on): Add arg-nonnull.
29852         (Makefile.am): Insert arg-nonnull.h into math.h.
29853         * modules/netdb (Depends-on): Add arg-nonnull.
29854         (Makefile.am): Insert arg-nonnull.h into netdb.h.
29855         * modules/search (Depends-on): Add arg-nonnull.
29856         (Makefile.am): Insert arg-nonnull.h into search.h.
29857         * modules/signal (Depends-on): Add arg-nonnull.
29858         (Makefile.am): Insert arg-nonnull.h into signal.h.
29859         * modules/spawn (Depends-on): Add arg-nonnull.
29860         (Makefile.am): Insert arg-nonnull.h into spawn.h.
29861         * modules/stdio (Depends-on): Add arg-nonnull.
29862         (Makefile.am): Insert arg-nonnull.h into stdio.h.
29863         * modules/stdlib (Depends-on): Add arg-nonnull.
29864         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
29865         * modules/string (Depends-on): Add arg-nonnull.
29866         (Makefile.am): Insert arg-nonnull.h into string.h.
29867         * modules/strings (Depends-on): Add arg-nonnull.
29868         (Makefile.am): Insert arg-nonnull.h into strings.h.
29869         * modules/sys_socket (Depends-on): Add arg-nonnull.
29870         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
29871         * modules/sys_stat (Depends-on): Add arg-nonnull.
29872         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
29873         * modules/sys_time (Depends-on): Add arg-nonnull.
29874         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
29875         * modules/sys_times (Depends-on): Add arg-nonnull.
29876         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
29877         * modules/sys_utsname (Depends-on): Add arg-nonnull.
29878         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
29879         * modules/time (Depends-on): Add arg-nonnull.
29880         (Makefile.am): Insert arg-nonnull.h into time.h.
29881         * modules/unistd (Depends-on): Add arg-nonnull.
29882         (Makefile.am): Insert arg-nonnull.h into unistd.h.
29883         * modules/wchar (Depends-on): Add arg-nonnull.
29884         (Makefile.am): Insert arg-nonnull.h into wchar.h.
29885         * modules/argv-iter (Depends-on): Add arg-nonnull.
29886         * tests/test-canonicalize.c (null_ptr): New function.
29887         (main): Use it.
29888         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
29889         (main): Use it.
29890         * tests/test-memmem.c (null_ptr): New function.
29891         (main): Use it.
29892         Reported by Jim Meyering.
29893
29894 2009-12-10  Bruno Haible  <bruno@clisp.org>
29895
29896         Use spaces for indentation, not tabs.
29897         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
29898         * m4/*.m4: Untabify.
29899         * build-aux/*.h: Untabify.
29900         * tests/**/*.[hc]: Untabify.
29901         * README: New section "Indent with spaces, not TABs", based on
29902         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
29903         * NEWS: Mention the change.
29904
29905 2009-12-10  Bruno Haible  <bruno@clisp.org>
29906
29907         pty test: Fix link error.
29908         * modules/pty-tests (Makefile.am): Add the default LDADD value to
29909         test_pty_LDADD.
29910
29911 2009-12-07  Simon Josefsson  <simon@josefsson.org>
29912
29913         * modules/pty: New file.
29914         * modules/pty-tests: New file.
29915         * m4/pty.m4: New file.
29916         * tests/test-pty.c: New file.
29917         * doc/glibc-headers/pty.texi: Modified.
29918         * doc/glibc-functions/forkpty.texi: Modified.
29919         * doc/glibc-functions/openpty.texi: Modified.
29920
29921 2009-12-10  Bruno Haible  <bruno@clisp.org>
29922
29923         Avoid syntax error in C++ mode.
29924         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
29925
29926 2009-12-10  Bruno Haible  <bruno@clisp.org>
29927
29928         Use sed with option -e.
29929         * gnulib-tool (func_version, func_emit_copyright_notice,
29930         func_emit_initmacro_end, func_import, func_create_testdir): Pass
29931         option -e to sed.
29932         * modules/link-warning (Makefile.am): Likewise.
29933
29934 2009-12-10  Jim Meyering  <meyering@redhat.com>
29935
29936         mgetgroups: do not write bytes beyond end of malloc'd buffer
29937         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
29938         username, we call getgroups with a one-element-shorter buffer,
29939         but still told it the length was original, max_n_groups.
29940
29941 2009-12-09  Eric Blake  <ebb9@byu.net>
29942
29943         cloexec: relax license
29944         * modules/cloexec (Maintainer): Add myself.
29945         (License): Use LGPL, not GPL.
29946
29947         link-warning: optimize generation
29948         * modules/link-warning (Makefile.am): Reduce process usage.
29949
29950 2009-12-09  Bruno Haible  <bruno@clisp.org>
29951
29952         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
29953         workaround was added on 2009-11-17.
29954
29955 2009-12-09  Jim Meyering  <meyering@redhat.com>
29956             Bruno Haible  <bruno@clisp.org>
29957
29958         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
29959         * modules/link-warning (Makefile.am): Make the comment-removing sed
29960         command more robust in the face of bootstrap-prepended comment lines.
29961
29962 2009-12-09  Bruno Haible  <bruno@clisp.org>
29963
29964         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
29965         most one group.
29966
29967 2009-12-09  Simon Josefsson <simon@josefsson.org>
29968             Bruno Haible  <bruno@clisp.org>
29969
29970         * build-aux/link-warning.h: Add copyright notice.
29971         * modules/link-warning (Makefile.am): Generate link-warning.h from
29972         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
29973         * NEWS: Mention change in link-warning module.
29974         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
29975         * modules/dirent (Makefile.am): Add dependency to dirent.h.
29976         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
29977         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
29978         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
29979         * modules/math (Makefile.am): Add dependency to math.h.
29980         * modules/search (Makefile.am): Add dependency to search.h.
29981         * modules/signal (Makefile.am): Add dependency to signal.h.
29982         * modules/spawn (Makefile.am): Add dependency to spawn.h.
29983         * modules/stdio (Makefile.am): Add dependency to stdio.h.
29984         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
29985         * modules/string (Makefile.am): Add dependency to string.h.
29986         * modules/strings (Makefile.am): Add dependency to strings.h.
29987         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
29988         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
29989         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
29990         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
29991         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
29992         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
29993         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
29994         * modules/unistd (Makefile.am): Add dependency to unistd.h.
29995         * modules/wchar (Makefile.am): Add dependency to wchar.h.
29996
29997 2009-12-09  Bruno Haible  <bruno@clisp.org>
29998
29999         fchdir: Optimize away rpl_fstat when possible.
30000         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
30001         REPLACE_OPEN_DIRECTORY.
30002         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
30003
30004 2009-12-09  Bruno Haible  <bruno@clisp.org>
30005
30006         * lib/fchdir.c: Update comment.
30007
30008 2009-12-09  Bruno Haible  <bruno@clisp.org>
30009
30010         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
30011
30012 2009-12-08  Eric Blake  <ebb9@byu.net>
30013
30014         fchdir: avoid memory leak on re-registration.
30015         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
30016
30017 2009-12-08  Jim Meyering  <meyering@redhat.com>
30018
30019         init.sh: avoid Solaris 10 /bin/sh portability problem
30020         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
30021         sourced script:
30022           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
30023           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
30024           bar
30025         tests/init.sh relied on that, accepting a --set-path=DIR argument,
30026         and two tests used that idiom.
30027         * tests/init.sh: Update suggested usage comments.
30028         (path_prepend_): New function, to be used in place
30029         of the --src-path=DIR option.
30030         (setup_): Move PATH-prepending code into path_prepend_.
30031         * tests/test-pread.sh: Adapt to new usage.
30032         * tests/test-xalloc-die.sh: Likewise.
30033
30034 2009-12-08  Simon Josefsson  <simon@josefsson.org>
30035
30036         * doc/gnulib.texi (Glibc pty.h): Add.
30037         * doc/glibc-functions/forkpty.texi: Add.
30038         * doc/glibc-functions/openpty.texi: Add.
30039         Suggested by Bruno Haible.
30040
30041 2009-12-08  Eric Blake  <ebb9@byu.net>
30042
30043         fchdir: fix logic bugs
30044         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
30045         * tests/test-fchdir.c (main): Enhance test.
30046         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
30047         is in use.
30048
30049         dup2: fix logic bugs
30050         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
30051         REPLACE_DUP2 to decide when rpl_dup2 is needed.
30052         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
30053         exists.
30054         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
30055
30056 2009-12-07  Eric Blake  <ebb9@byu.net>
30057
30058         unlink: fix m4 detection
30059         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
30060
30061         unistd-safer: add unit test
30062         * modules/unistd-safer-tests: New file.
30063         * tests/test-dup-safer.c: Likewise.
30064         * tests/test-cloexec.c (setmode): Avoid compiler warning.
30065         * tests/test-dup2.c (setmode): Likewise.
30066         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
30067
30068         cloexec: preserve text vs. binary across dup_cloexec
30069         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
30070         mode.
30071         * modules/dup2-tests (Depends-on): Add binary-io.
30072         * modules/cloexec-tests (Depends-on): Likewise.
30073         * tests/test-dup2.c (setmode, is_mode): New helpers.
30074         (main): Add tests that translation mode is preserved.
30075         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
30076         Reported by Bruno Haible.
30077
30078         mgetgroups: reduce duplicate listings
30079         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
30080         resulting array.
30081         * tests/test-chown.h (test_chown): Simplify client.
30082         * tests/test-lchown.h (test_lchown): Likewise.
30083
30084 2009-12-06  Bruno Haible  <bruno@clisp.org>
30085
30086         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
30087         value.
30088
30089 2009-12-06  Bruno Haible  <bruno@clisp.org>
30090
30091         * lib/progname.c: Include stdio.h, stdlib.h.
30092         (set_program_name): Reject a NULL argument.
30093
30094 2009-12-05  Eric Blake  <ebb9@byu.net>
30095
30096         pipe2-safer: new module
30097         * modules/pipe2-safer: New file.
30098         * lib/unistd-safer.h (pipe2_safer): New prototype.
30099         * lib/unistd--.h (pipe2): New wrapper.
30100         * lib/pipe-safer.c (pipe2_safer): New function.
30101         * modules/pipe (Depends-on): Add pipe2-safer.
30102         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
30103
30104         stdlib-safer: preserve cloexec flag for mkostemp[s]
30105         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
30106         fd_safer_flag.
30107
30108         unistd-safer: allow preservation of cloexec status via flag
30109         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
30110         prototypes.
30111         * lib/dup-safer.c (dup_safer_flag): New function.
30112         * lib/fd-safer.c (fd_safer_flag): Likewise.
30113         * modules/cloexec (configure.ac): Set witness.
30114
30115         test-dup2: enhance test
30116         * modules/dup2-tests (Depends-on): Add cloexec.
30117         * tests/test-dup2.c (main): Enhance test.
30118
30119         cloexec: add dup_cloexec
30120         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
30121         header and comments.
30122         * lib/cloexec.c (set_cloexec_flag): Add comments.
30123         (dup_cloexec): New function, with mingw implementation borrowed
30124         from...
30125         * lib/w32spawn.h (dup_noinherit): ...here.
30126         * modules/execute (Depends-on): Add cloexec.
30127         * modules/pipe (Depends-on): Likewise.
30128         * modules/cloexec (Depends-on): Add dup2.
30129         * modules/cloexec-tests (Files): New file.
30130         * tests/test-cloexec.c: Likewise.
30131
30132         test-xalloc-die: fix test for mingw
30133         * modules/xalloc-die-tests (Files): Add tests/init.sh.
30134         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
30135         directory and .exe suffix off argv[0] output.
30136
30137         test-fseeko: fix test for mingw
30138         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
30139         than undefining fseek, so test will pass on mingw.
30140
30141 2009-12-05  Bruno Haible  <bruno@clisp.org>
30142
30143         * lib/progname.h (set_program_name): Clarify specification.
30144         * lib/progname.c (set_program_name): Likewise.
30145         Reported by Jim Meyering.
30146
30147 2009-12-05  Jim Meyering  <meyering@redhat.com>
30148
30149         maint.mk: backslash-escape parens in default regexp
30150         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
30151         backslash-escape the literal parentheses.
30152
30153         maint.mk: news-date-check: use grep -E
30154         * top/maint.mk (today): Define a Make variable, not a...
30155         (news-date-check): ...shell variable.
30156         (news-date-regexp): Use the Make variable.
30157         Use grep's -E option.  Change the failing diagnostic to mention
30158         the variable, $(news-date-regexp).
30159
30160 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
30161
30162         maintainer-makefile: allow customization of NEWS entry format
30163         * top/maint.mk (news-date-regexp): New overridable variable.
30164         (news-date-check): Use it.
30165
30166 2009-12-04  Eric Blake  <ebb9@byu.net>
30167
30168         mgetgroups: add xgetgroups, and avoid ENOSYS failures
30169         * lib/mgetgroups.h (xgetgroups): New prototype.
30170         * lib/mgetgroups.c (xgetgroups): New wrapper.
30171         (mgetgroups): Handle ENOSYS.
30172         * modules/mgetgroups (Depends-on): Add realloc.
30173         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
30174
30175         mgetgroups: avoid argument promotion issues with -1
30176         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
30177         for invalid gid_t.
30178         * tests/test-chown.h (getegid, test_chown): Likewise.
30179         * tests/test-lchown.h (getegid, test_lchown): Likewise.
30180
30181 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
30182
30183         exclude: Fix header file problems.
30184         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
30185
30186 2009-12-01  Jim Meyering  <meyering@redhat.com>
30187
30188         fts: fts_open: do not let an empty string cause immediate failure
30189         This is required in support of GNU rm, for which the command
30190         "rm A '' B" must process and remove both A and B, in spite of
30191         the empty string argument.
30192         * lib/fts.c (fts_open): Do not let the presence of an empty string
30193         cause fts_open to fail immediately.  Most fts-using tools must be
30194         able to process all arguments, in order, and can be expected to
30195         diagnose such arguments themselves.
30196
30197 2009-11-30  Eric Blake  <ebb9@byu.net>
30198
30199         utimens: fix compilation error
30200         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
30201         Declare variable at right scope.
30202
30203 2009-11-29  Jim Meyering  <meyering@redhat.com>
30204
30205         bootstrap: handle perl-5.11's changed --version output
30206         * build-aux/bootstrap (get_version): Handle perl separately,
30207         since perl-5.11's --version output is different.
30208
30209 2009-11-28  Jim Meyering  <meyering@redhat.com>
30210
30211         userspec: depend on the inttostr module, too
30212         * modules/userspec (Depends-on): Add inttostr.
30213
30214         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
30215         * lib/userspec.c (parse_with_separator): Do not accept a user ID
30216         number of MAXUID when it evaluates to (uid_t) -1.
30217         Likewise for group ID.  Reported by Matt McCutchen in
30218         <http://savannah.gnu.org/bugs/?28113>
30219
30220         userspec: reformat to use spaces, not TABs
30221         * lib/userspec.c: Expand TABs to spaces.
30222         Add Emacs' "indent-tabs-mode: nil" hint.
30223
30224 2009-11-27  Eric Blake  <ebb9@byu.net>
30225
30226         getopt-gnu: flush out another BSD bug
30227         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
30228         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
30229         flush out BSD bug.
30230         * tests/test-getopt.h (test_getopt): End lists with NULL.
30231         * tests/test-getopt_long.h (test_getopt_long): Likewise.
30232         (test_getopt_long_posix): Enhance test.
30233         * modules/getopt-posix-tests (Depends-on): Add stdbool.
30234         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
30235         getopt-gnu.
30236         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30237         Likewise.
30238
30239 2009-11-27  Simon Josefsson  <simon@josefsson.org>
30240
30241         * modules/idpriv-droptemp-tests (Notice): Fix text.
30242
30243 2009-11-27  Jim Meyering  <meyering@redhat.com>
30244
30245         test-xalloc-die: avoid spurious failure due to libtool argv difference
30246         In a libtool-enabled project, this test would fail due to a difference
30247         in the emitted program name, e.g.,
30248         -test-xalloc-die: memory exhausted
30249         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
30250         Use program to avoid that.
30251         * modules/xalloc-die-tests (Depends-on): Add progname.
30252         * tests/test-xalloc-die.c: Include progname.h".
30253         (program_name): Remove decl.
30254         (main): Call set_program_name.
30255         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
30256
30257 2009-11-26  Richard Jones  <rjones@redhat.com>
30258
30259         w32sock: leave win32 error in place.
30260         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
30261
30262 2009-11-26  Eric Blake  <ebb9@byu.net>
30263
30264         init.sh: suggest to use skip_ and fail_ functions in comments
30265         * tests/init.sh: Add a sentence.
30266
30267 2009-11-25  Bruno Haible  <bruno@clisp.org>
30268
30269         init.sh: add documentation in comments
30270         * tests/init.sh: Add some developer and user documentation.
30271
30272 2009-11-26  Jim Meyering  <meyering@redhat.com>
30273
30274         init.sh: accommodate even those who specify bogus srcdir manually
30275         * tests/init.sh: Normally, srcdir is guaranteed by automake and
30276         configure-time tests to be sanitized, so that there is no need to
30277         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
30278         (with no double quotes) suffices.  However, since tests may be
30279         invoked manually, and since you may explicitly set srcdir to the
30280         name of a directory containing spaces, do quote its uses here.
30281         * tests/test-pread.sh: Likewise.
30282         Suggested by Bruno Haible.
30283
30284         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
30285         * tests/test-pread.sh: Write no data into the pipe, because
30286         test-pread actually reads none.  This avoids a diagnostic,
30287         "bash: echo: write error: Broken pipe", that arises in the unusual
30288         event something is ignoring SIGPIPE, and might be interpreted
30289         as some sort of failure.  Reported by Bruno Haible.
30290
30291 2009-11-25  Jim Meyering  <meyering@redhat.com>
30292
30293         test-pread: cover failure with ESPIPE and EINVAL
30294         * tests/test-pread.c (main): Test for failure, too.
30295         * tests/test-pread.sh: Invoke with stdin on a pipe.
30296         Suggested by Eric Blake.
30297
30298         pread: improvement and fix
30299         * modules/pread (Depends-on): Depend on lseek, for portability to
30300         e.g., mingw.  Suggested by Eric Blake.
30301         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
30302
30303         unistd.in.h: correct declaration of pread
30304         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
30305         Reported by Richard W.M. Jones.
30306
30307         test-pread.sh: distribute the test script
30308         * modules/pread-tests (Files): Include test-pread.sh.
30309
30310         test-pread.sh: clean up
30311         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
30312         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
30313         That is unnecessary, since it's always ".".
30314         Suggestion from Eric Blake.
30315
30316         test-pread.sh: make executable
30317         * tests/test-pread.sh: Set executable bit.
30318         Reported by Eric Blake.
30319
30320         correct typo in test-pread.sh
30321         * tests/test-pread.sh: Add #! line.
30322
30323         test pread
30324         * tests/test-pread.c: New file.
30325         * tests/test-pread.sh: Likewise.
30326         * modules/pread-tests: Likewise.
30327
30328         pread: new module
30329         * modules/pread: New file.
30330         * lib/unistd.in.h (pread): Define/declare.
30331         * lib/pread.c (pread): New file.
30332         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
30333         * modules/unistd (Makefile.am): Substitute witnesses.
30334         * doc/posix-functions/pread.texi (pread): Update.
30335         * MODULES.html.sh: Add pread.
30336
30337 2009-11-25  Jim Meyering  <meyering@redhat.com>
30338
30339         tests/init.sh: new file to be used via most *.sh tests
30340         * tests/init.sh: New file.
30341
30342 2009-11-25  Eric Blake  <ebb9@byu.net>
30343
30344         utimens: work around older Linux failure with symlinks
30345         * lib/utimens.c (lutimensat_works_really): New variable.
30346         (fdutimens, lutimens): Use it to manage kernels that support
30347         nanosecond times on files, but not on symlinks.
30348         Reported by OndÅ™ej Vašík.
30349
30350         utimes: fix configure grammar
30351         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
30352
30353 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
30354
30355         regex: Fix fastmap for multibyte character ranges.
30356         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
30357         characters when a multibyte character range is included.
30358
30359 2009-11-22  Andy Wingo  <wingo@pobox.com>
30360
30361         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
30362         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
30363
30364 2009-11-24  Bruno Haible  <bruno@clisp.org>
30365
30366         doc: Most *_l functions exist in MacOS X 10.5.
30367         * doc/posix-functions/duplocale.texi: Update platforms list.
30368         * doc/posix-functions/freelocale.texi: Likewise.
30369         * doc/posix-functions/newlocale.texi: Likewise.
30370         * doc/posix-functions/uselocale.texi: Likewise.
30371         * doc/posix-functions/isalnum_l.texi: Likewise.
30372         * doc/posix-functions/isalpha_l.texi: Likewise.
30373         * doc/posix-functions/isblank_l.texi: Likewise.
30374         * doc/posix-functions/iscntrl_l.texi: Likewise.
30375         * doc/posix-functions/isdigit_l.texi: Likewise.
30376         * doc/posix-functions/isgraph_l.texi: Likewise.
30377         * doc/posix-functions/islower_l.texi: Likewise.
30378         * doc/posix-functions/isprint_l.texi: Likewise.
30379         * doc/posix-functions/ispunct_l.texi: Likewise.
30380         * doc/posix-functions/isspace_l.texi: Likewise.
30381         * doc/posix-functions/isupper_l.texi: Likewise.
30382         * doc/posix-functions/iswalnum_l.texi: Likewise.
30383         * doc/posix-functions/iswalpha_l.texi: Likewise.
30384         * doc/posix-functions/iswblank_l.texi: Likewise.
30385         * doc/posix-functions/iswcntrl_l.texi: Likewise.
30386         * doc/posix-functions/iswctype_l.texi: Likewise.
30387         * doc/posix-functions/iswdigit_l.texi: Likewise.
30388         * doc/posix-functions/iswgraph_l.texi: Likewise.
30389         * doc/posix-functions/iswlower_l.texi: Likewise.
30390         * doc/posix-functions/iswprint_l.texi: Likewise.
30391         * doc/posix-functions/iswpunct_l.texi: Likewise.
30392         * doc/posix-functions/iswspace_l.texi: Likewise.
30393         * doc/posix-functions/iswupper_l.texi: Likewise.
30394         * doc/posix-functions/iswxdigit_l.texi: Likewise.
30395         * doc/posix-functions/isxdigit_l.texi: Likewise.
30396         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
30397         * doc/posix-functions/strcasecmp_l.texi: Likewise.
30398         * doc/posix-functions/strcoll_l.texi: Likewise.
30399         * doc/posix-functions/strfmon_l.texi: Likewise.
30400         * doc/posix-functions/strftime_l.texi: Likewise.
30401         * doc/posix-functions/strncasecmp_l.texi: Likewise.
30402         * doc/posix-functions/strxfrm_l.texi: Likewise.
30403         * doc/posix-functions/tolower_l.texi: Likewise.
30404         * doc/posix-functions/toupper_l.texi: Likewise.
30405         * doc/posix-functions/towctrans_l.texi: Likewise.
30406         * doc/posix-functions/towlower_l.texi: Likewise.
30407         * doc/posix-functions/towupper_l.texi: Likewise.
30408         * doc/posix-functions/wcscoll_l.texi: Likewise.
30409         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
30410         * doc/posix-functions/wctrans_l.texi: Likewise.
30411         * doc/posix-functions/wctype_l.texi: Likewise.
30412         * doc/glibc-functions/strptime_l.texi: Likewise.
30413         * doc/glibc-functions/strtod_l.texi: Likewise.
30414         * doc/glibc-functions/strtof_l.texi: Likewise.
30415         * doc/glibc-functions/strtol_l.texi: Likewise.
30416         * doc/glibc-functions/strtold_l.texi: Likewise.
30417         * doc/glibc-functions/strtoll_l.texi: Likewise.
30418         * doc/glibc-functions/strtoul_l.texi: Likewise.
30419         * doc/glibc-functions/strtoull_l.texi: Likewise.
30420         * doc/glibc-functions/wcsftime_l.texi: Likewise.
30421         * doc/glibc-functions/wcstod_l.texi: Likewise.
30422         * doc/glibc-functions/wcstof_l.texi: Likewise.
30423         * doc/glibc-functions/wcstol_l.texi: Likewise.
30424         * doc/glibc-functions/wcstold_l.texi: Likewise.
30425         * doc/glibc-functions/wcstoll_l.texi: Likewise.
30426         * doc/glibc-functions/wcstoul_l.texi: Likewise.
30427         * doc/glibc-functions/wcstoull_l.texi: Likewise.
30428
30429 2009-11-24  Bruno Haible  <bruno@clisp.org>
30430
30431         duplocale: Fix logic bug.
30432         * lib/duplocale.c: Don't include <langinfo.h>.
30433         (_NL_LOCALE_NAME): Remove macro.
30434         (rpl_duplocale): Use setlocale instead of nl_langinfo.
30435         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
30436
30437 2009-11-23  Jim Meyering  <meyering@redhat.com>
30438
30439         test-update-copyright: don't hard-code /usr/bin/perl
30440         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
30441         perl to print the current year.  Gilles Espinasse reported that
30442         the replaced use of perl was hard-coded as /usr/bin/perl.
30443
30444 2009-11-23  Bruno Haible  <bruno@clisp.org>
30445
30446         duplocale: Add support for glibc 2.3.x.
30447         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
30448
30449 2009-11-22  Bruno Haible  <bruno@clisp.org>
30450
30451         vasnprintf: Tiny optimization.
30452         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
30453         MacOS X.
30454
30455 2009-11-22  Bruno Haible  <bruno@clisp.org>
30456
30457         Tests for module 'duplocale'.
30458         * modules/duplocale-tests: New file.
30459         * tests/test-duplocale.c: New file.
30460
30461         New module 'duplocale'.
30462         * m4/duplocale.m4: New file.
30463         * lib/locale.in.h (duplocale): New declaration.
30464         * lib/duplocale.c: New file.
30465         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
30466         gl_LOCALE_H_DEFAULTS): New macros.
30467         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
30468         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
30469         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
30470         REPLACE_DUPLOCALE.
30471         * modules/duplocale: New file.
30472         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
30473
30474 2009-11-22  Bruno Haible  <bruno@clisp.org>
30475
30476         * modules/locale-tests (configure.ac): Test for newlocale function.
30477         * tests/test-locale.c: When the system has extended locale functions,
30478         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
30479
30480         locale: Make locale_t available when possible.
30481         * lib/locale.in.h: Include <xlocale.h> when it exists.
30482         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
30483         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
30484         * modules/locale (Depends-on): Add extensions.
30485         (Makefile.am): Also substitute HAVE_XLOCALE_H.
30486         * doc/posix-headers/locale.texi: Document the problem with locale_t.
30487
30488 2009-11-22  Bruno Haible  <bruno@clisp.org>
30489
30490         Add comments.
30491         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
30492         invocation.
30493         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
30494         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
30495         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
30496
30497 2009-11-22  Bruno Haible  <bruno@clisp.org>
30498
30499         error: account for the possibility of freopen (stdout).
30500         * lib/error.c: Include <unistd.h>.
30501         (flush_stdout): New function, extracted from error and error_at_line.
30502         Determine stdout's fd dynamically.
30503         (error, error_at_line): Invoke flush_stdout.
30504         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
30505         * modules/error (Depends-on): Add unistd.
30506
30507 2009-11-22  Bruno Haible  <bruno@clisp.org>
30508
30509         diffseq: Add comment.
30510         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
30511
30512 2009-11-22  Jim Meyering  <meyering@redhat.com>
30513
30514         c-stack: avoid defining an unused static function
30515         * lib/c-stack.c (find_stack_direction): Do not define this function
30516         when it will not be used.
30517
30518         diffseq: avoid spurious gcc warnings
30519         * lib/diffseq.h (IF_LINT2): Define.
30520         (compareseq): Use it to initialize two members of "part".
30521         This avoids two used-uninitialized warnings.
30522
30523 2009-11-21  Jim Meyering  <meyering@redhat.com>
30524
30525         c-stack: avoid "ignoring return value of `write'" warning
30526         * lib/c-stack.c: Include "ignore-value.h".
30527         (die): Explicitly ignore each write return value.
30528         * modules/c-stack (Depends-on): Add ignore-value.
30529
30530 2009-11-21  Bruno Haible  <bruno@clisp.org>
30531
30532         diffseq: reduce scope of variable 'best'.
30533         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
30534         variable, earlier used for two different purposes.
30535
30536 2009-11-21  Jim Meyering  <meyering@redhat.com>
30537
30538         diffseq: remove useless assignment to "best"
30539         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
30540         assignment.  At that point "best" is already guaranteed to be zero.
30541
30542 2009-11-20  Eric Blake  <ebb9@byu.net>
30543
30544         build: mention ftp redirector in release announcements
30545         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
30546         values that used to come from cfg.mk; mention FTP redirect URL.
30547         * build-aux/announce-gen: Mention the mirror list.
30548         Suggested by Karl Berry.
30549
30550         nanosleep: improve port to mingw
30551         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
30552         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
30553         LIB_NANOSLEEP, but only when needed.
30554         * modules/select (Link): Document LIBSOCKET.
30555         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
30556         enough.
30557
30558         nanosleep: work around cygwin bug
30559         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
30560         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
30561         bug.
30562         (getnow): Delete, not needed.
30563         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
30564         LIB_CLOCK_GETTIME.
30565         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
30566         clock-time, gettime.
30567         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
30568         bug.
30569         * modules/nanosleep-tests: New test.
30570         * tests/test-nanosleep.c: New file.
30571
30572         sleep: work around cygwin bug
30573         * lib/sleep.c (rpl_sleep): Work around the bug.
30574         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
30575         (gl_PREREQ_SLEEP): Delete unused macro.
30576         * modules/sleep (Depends-on): Add verify.
30577         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
30578         * modules/unistd (Makefile.am): Substitute witness.
30579         * lib/unistd.in.h (sleep): Update prototype.
30580         * doc/posix-functions/sleep.texi (sleep): Document the bug.
30581         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
30582         * modules/sleep-tests (Depends-on): Check for alarm.
30583
30584 2009-11-20  Jim Meyering  <meyering@redhat.com>
30585
30586         maint.mk: improve sc_prohibit_magic_number_exit
30587         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
30588         so it does not match uses like System.exit(1).
30589         Add comments showing how to correct all offenders.
30590
30591 2009-11-19  Eric Blake  <ebb9@byu.net>
30592
30593         xalloc-die-tests: add missing library
30594         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
30595
30596         test-xvasprintf: silence compiler warnings
30597         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
30598         empty string from gcc.
30599
30600 2009-11-19  Jim Meyering  <meyering@redhat.com>
30601
30602         xfreopen: new module, from coreutils
30603         * modules/xfreopen: New module.
30604         * lib/xfreopen.c: New file.
30605         * lib/xfreopen.h: New file.
30606         * MODULES.html.sh (File stream based Input/Output"): Add it.
30607
30608 2009-11-19  Eric Blake  <ebb9@byu.net>
30609
30610         manywarnings: depend on warnings
30611         * modules/manywarnings (Depends-on): Add warnings.
30612
30613         build: avoid compiler warnings
30614         * lib/select.c (rpl_select): Delete unused variable.
30615         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
30616
30617 2009-11-18  Eric Blake  <ebb9@byu.net>
30618
30619         tests: avoid false negative with --with-packager
30620         * tests/test-version-etc.sh: Discard packager information.
30621         * tests/test-argp-version-etc-1.sh: Likewise.
30622         Reported by Mike Frysinger.
30623
30624         utimens: fix regression on Solaris
30625         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
30626         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
30627         can only change fd timestamps via futimesat.  Instead, use an
30628         additional witness macro to avoid BSD bug.
30629         Reported by Jim Meyering.
30630
30631 2009-11-17  Eric Blake  <ebb9@byu.net>
30632
30633         usleep: use it to simplify tests
30634         * modules/stat-time-tests (Depends-on): Add usleep.
30635         (configure.ac): Drop usleep check.
30636         * modules/chown-tests (Depends-on, configure.ac): Likewise.
30637         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
30638         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
30639         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
30640         * modules/openat-tests (Depends-on, configure.ac): Likewise.
30641         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
30642         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
30643         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
30644         Likewise.
30645         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
30646         * tests/test-lchown.h (nap): Likewise.
30647         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
30648         * tests/test-stat-time.c (nap): Likewise.
30649         * tests/test-utimens-common.h (nap): Update comments.
30650
30651         usleep: new module
30652         * modules/usleep: New file.
30653         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
30654         * lib/usleep.c (usleep): Likewise.
30655         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
30656         * modules/unistd (Makefile.am): Substitute witnesses.
30657         * lib/unistd.in.h (usleep): Add declaration.
30658         * doc/pastposix-functions/usleep.texi (usleep): Document this.
30659         * MODULES.html.sh (Date and time): Likewise.
30660         * modules/usleep-tests (Depends-on): New test.
30661         * tests/test-usleep.c: New file.
30662
30663         chown: work around OpenBSD bug
30664         * lib/chown.c (rpl_chown): Work around the bug.
30665         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
30666         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
30667         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
30668         * modules/chown (Depends-on): Add stdbool.
30669         * modules/lchown (Depends-on): Likewise.
30670         * doc/posix-functions/chown.texi (chown): Document the bug.
30671         * doc/posix-functions/lchown.texi (lchown): Likewise.
30672         * tests/test-lchown.h (test_chown): Relax test.
30673
30674         mkstemp: avoid conflict with C++ keyword template
30675         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
30676         * lib/mkostemp.c (mkostemp): Likewise.
30677         * lib/mkostemps.c (mkostemps): Likewise.
30678         * lib/mkstemp.c (mkstemp): Likewise.
30679         * lib/mkstemps.c (mkstemps): Likewise.
30680
30681         xalloc-die-tests: optimize
30682         * tests/test-xalloc-die.sh: Reduce number of processes.
30683
30684 2009-11-17  Simon Josefsson  <simon@josefsson.org>
30685
30686         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
30687         patch from ludo@gnu.org (Ludovic Courtès).
30688
30689 2009-11-17  Jim Meyering  <meyering@redhat.com>
30690
30691         version-etc: use proper license string
30692         * modules/version-etc (License): Use LGPL, not LGPLv3+.
30693         * modules/version-etc-fsf: Likewise.
30694
30695 2009-11-17  Simon Josefsson  <simon@josefsson.org>
30696
30697         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
30698         printed to stdout.  Deal with EOL differences.
30699
30700 2009-11-17  Eric Blake  <ebb9@byu.net>
30701
30702         unsetenv: work around Solaris bug
30703         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
30704         * lib/unsetenv.c (rpl_unsetenv): Work around it.
30705         Reported by Jim Meyering.
30706
30707         vasnprintf: avoid compiler warnings
30708         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
30709         variables.
30710         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
30711
30712 2009-11-17  Simon Josefsson  <simon@josefsson.org>
30713
30714         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
30715         settings since xalloc-die is no longer the self test,
30716         xalloc-die.sh is.
30717
30718 2009-11-17  Jim Meyering  <meyering@redhat.com>
30719
30720         test-xalloc-die.sh: make the code agree with the commit log
30721         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
30722         at the end, just in case you happen to have a test-xalloc-die
30723         program in some other PATH directory.
30724
30725         test-xalloc-die.sh: fix a portability bug
30726         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
30727         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
30728         Otherwise, argv[0] (as often seen in diagnostics) would be too
30729         system-dependent, sometimes with, and sometimes without the leading "./".
30730
30731         version-etc-fsf: relax license to LGPLv3+
30732         * modules/version-etc-fsf (License): Relax license.
30733
30734 2009-11-16  Eric Blake  <ebb9@byu.net>
30735
30736         xalloc-die-tests: avoid printing null pointer
30737         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
30738         shell script.
30739         * tests/test-xalloc-die.c (program_name): Declare.
30740         * tests/test-xalloc-die.sh (tmpfiles): New file.
30741
30742         setenv, unsetenv: work around various bugs
30743         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
30744         (setenv) [HAVE_SETENV]: Work around bugs.
30745         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
30746         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
30747         for bugs.
30748         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
30749         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
30750         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
30751         * modules/stdlib (Makefile.am): Update substitutions.
30752         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
30753         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
30754         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
30755         * modules/setenv-tests: New test.
30756         * modules/unsetenv-tests: Likewise.
30757         * tests/test-setenv.c: New file.
30758         * tests/test-unsetenv.c: Likewise.
30759
30760 2009-11-16  Jim Meyering  <meyering@redhat.com>
30761
30762         version-etc: relax license to LGPLv3+
30763         * modules/version-etc (License): Relax license.
30764
30765         better AC_REQUIRE expanded-before-required-warning avoidance
30766         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
30767         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
30768         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
30769         which is no longer needed.
30770
30771 2009-11-16  Eric Blake  <ebb9@byu.net>
30772
30773         test-freading: clean up temporary file
30774         * tests/test-freading.c (main): Remove file on success, and use
30775         ASSERT more liberally.
30776         Reported by Jim Meyering.
30777
30778 2009-11-16  Jim Meyering  <meyering@redhat.com>
30779
30780         avoid new AC_REQUIRE expanded-before-required warnings
30781         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
30782         merely using it.
30783         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
30784         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
30785
30786 2009-11-15  Simon Josefsson  <simon@josefsson.org>
30787
30788         * tests/test-xalloc-die.c: New file.
30789         * modules/xalloc-die-tests: New file.
30790         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
30791         XFAIL_TESTS so it can be appended by modules.
30792
30793 2009-11-15  Simon Josefsson  <simon@josefsson.org>
30794
30795         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
30796         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
30797
30798 2009-11-14  Eric Blake  <ebb9@byu.net>
30799
30800         fnmatch: avoid compiler warning
30801         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
30802         to silence compiler warning about mismatch signedness in ?:.
30803         Reported by Robert Millan.
30804
30805         intprops: add double-inclusion guard
30806         * lib/intprops.h: Allow idempotent includes.
30807         Suggested by Bruce Korb.
30808
30809         openat: detect Solaris fchownat bug
30810         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
30811         penalizing glibc chownat when only lchownat is broken.
30812         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
30813         trailing slash bugs.
30814         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
30815         * modules/openat-tests (Files): Include more files.
30816         (Depends-on): Add mgetgroups, sleep, stat-time.
30817         (configure.ac): Add additional checks.
30818         (Makefile.am): Build new test.
30819         * tests/test-fchownat.c: New file.
30820
30821         lchown: detect Solaris and FreeBSD bug
30822         * lib/lchown.c (rpl_lchown): Work around bug.
30823         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
30824         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
30825         * modules/unistd (Makefile.am): Populate it.
30826         * lib/unistd.in.h (lchown): Update declaration.
30827         * doc/posix-functions/lchown.texi (lchown): Document the bug.
30828         * modules/lchown-tests: New file.
30829         * tests/test-lchown.h (test_lchown): Likewise.
30830         * tests/test-lchown.c (main): Likewise.
30831
30832         chown: detect Solaris and FreeBSD bug
30833         * lib/chown.c (rpl_chown): Work around bug.
30834         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
30835         (gl_PREREQ_CHOWN): Delete.
30836         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
30837         * modules/unistd (Makefile.am): Populate it.
30838         * lib/unistd.in.h (chown): Update declaration.
30839         * lib/lchown.c (chown): Update client.
30840         * modules/lchown (Depends-on): Add lstat.
30841         * doc/posix-functions/chown.texi (chown): Document the bug.
30842         * doc/posix-functions/getgroups.texi (getgroups): Document
30843         getgroups pitfall.
30844         * modules/chown-tests: New file.
30845         * tests/test-chown.h (test_chown): Likewise.
30846         * tests/test-chown.c (main): Likewise.
30847
30848 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
30849
30850         gnulib-tool: correctly detect absence of m4 directories
30851         * gnulib-tool: Avoid extra newline on data passed to wc -l.
30852
30853 2009-11-14  Jim Meyering  <meyering@redhat.com>
30854
30855         maint.mk: Prohibit inclusion of "xalloc.h" without use.
30856         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
30857
30858 2009-11-14  John W. Eaton  <jwe@gnu.org>
30859
30860         strftime.h: wrap funtion declaration in extern "C" block
30861         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
30862
30863 2009-11-13  Eric Blake  <ebb9@byu.net>
30864
30865         getgroups: avoid compiler warning
30866         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
30867
30868         getgroups: work around FreeBSD bug
30869         * lib/getgroups.c (rpl_getgroups): Work around the bug.
30870         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
30871         * doc/posix-functions/getgroups.texi (getgroups): Document it.
30872         * tests/test-getgroups.c (main): Fix buffer overrun.
30873
30874         getgroups: avoid compilation failure
30875         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
30876         * modules/getgroups (Depends-on): Add stdint.
30877
30878 2009-11-13  Jim Meyering  <meyering@redhat.com>
30879
30880         test-getgroups: avoid compilation failure
30881         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
30882
30883 2009-11-13  Eric Blake  <ebb9@byu.net>
30884
30885         mgetgroups: new module, taken from coreutils
30886         * modules/mgetgroups: New file.
30887         * lib/mgetgroups.h: Likewise.
30888         * lib/mgetgroups.c (mgetgroups): Likewise.
30889         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
30890         * MODULES.html.sh (Users and groups): Mention it.
30891
30892         getgroups: don't expose GETGROUPS_T to user
30893         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
30894         an element at a time if GETGROUPS_T is wrong size.
30895         * lib/getugroups.h (getugroups): Change signature.
30896         * lib/unistd.in.h (getgroups): Likewise.
30897         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
30898         signature needs fixing.
30899         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
30900         AC_TYPE_GETGROUPS.
30901         * modules/group-member (Depends-on): Add getgroups.
30902         * lib/group-member.c (group_info, get_group_info): Use gid_t.
30903         (group_member): Rely on getgroups replacement.
30904         * lib/getugroups.c (getugroups): Use gid_t.
30905         * tests/test-getgroups.c (main): Likewise.
30906         * NEWS: Mention the signature change.
30907         * doc/posix-functions/getgroups.texi (getgroups): Mention the
30908         problem with signature.
30909         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
30910         GETGROUPS_T is still useful for setgroups.
30911
30912         getgroups, getugroups: provide stubs for mingw
30913         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
30914         * lib/getugroups.c (getugroups): Likewise.
30915         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
30916         function.  Modernize replacement scheme.
30917         (gl_PREREQ_GETGROUPS): Delete.
30918         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
30919         * modules/getgroups (configure.ac): Declare witness.
30920         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
30921         * modules/unistd (Depends-on): Substitute witness.
30922         * lib/unistd.in.h (getgroups): Declare replacement.
30923
30924         getgroups: avoid calling exit
30925         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
30926         drop xalloc.
30927         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
30928         dependencies.
30929         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
30930         exiting, in the rare case of malloc failure.
30931
30932         getgroups: fix logic error
30933         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
30934         has more than 20 groups.
30935         * modules/getgroups-tests: New test.
30936         * tests/test-getgroups.c: New file.
30937
30938 2009-11-13  Simon Josefsson  <simon@josefsson.org>
30939
30940         * tests/test-base64.c: Improve.
30941
30942 2009-11-13  Simon Josefsson  <simon@josefsson.org>
30943
30944         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
30945         Blake <ebb9@byu.net>.
30946
30947 2009-11-13  Simon Josefsson  <simon@josefsson.org>
30948
30949         * tests/test-xvasprintf.c: Add %s%s related checks.
30950
30951 2009-11-12  Eric Blake  <ebb9@byu.net>
30952
30953         version-etc: match standards.texi style
30954         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
30955         and use <> only for URLs.
30956
30957 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
30958
30959         fts: do not fail on a submount during traversal
30960         * lib/fts.c (fts_build): Read the stat info again after opening
30961         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
30962         Original report at http://bugzilla.redhat.com/501848.
30963
30964 2009-11-12  Jim Meyering  <meyering@redhat.com>
30965
30966         bootstrap: sync from coreutils
30967         * build-aux/bootstrap (bootstrap_epilogue): New function.
30968         Use git_modules_config in one more place.  This make bootstrap's
30969         --gnulib-srcdir option more useful for testing.
30970
30971         bootstrap: generalize autoheader check
30972         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
30973         AC_CONFIG_HEADERS.
30974
30975 2009-11-11  Eric Blake  <ebb9@byu.net>
30976
30977         mkfifoat: use new modules for Solaris and BSD bugs
30978         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
30979         * lib/mkfifoat.c (mknodat): Split...
30980         * lib/mknodat.c (mknodat): ...into new file.
30981         * modules/mkfifoat (Files): Ship new file.
30982         (Depends-on): Add mkfifo, mknod.
30983         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
30984         (Depends-on): Add symlink.
30985         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
30986         redundant with test_mkfifo.h.
30987         (do_mkfifoat, do_mknodat): New helpers.
30988
30989         mknod: new module
30990         * modules/mknod: New file.
30991         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
30992         * lib/mknod.c (mknod): Likewise.
30993         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
30994         defaults.
30995         * modules/sys_stat (Makefile.am): Substitute them.
30996         * lib/sys_stat.in.h (mknod): Declare replacement.
30997         * MODULES.html.sh (Support for systems lacking POSIX:2008):
30998         Document it.
30999         * doc/posix-functions/mknod.texi (mknod): Likewise.
31000         * modules/mknod-tests: New test.
31001         * tests/test-mknod.c: Likewise.
31002
31003         mkfifo: new module
31004         * modules/mkfifo: New file.
31005         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
31006         * lib/mkfifo.c (mkfifo): Likewise.
31007         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
31008         defaults.
31009         * modules/sys_stat (Makefile.am): Substitute them.
31010         * lib/sys_stat.in.h (mkfifo): Declare replacement.
31011         * MODULES.html.sh (Support for systems lacking POSIX:2008):
31012         Document it.
31013         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
31014         * modules/mkfifo-tests: New test.
31015         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
31016         from test-mkfifoat.c.
31017         * tests/test-mkfifo.c: New file.
31018
31019         readlink: detect FreeBSD bug
31020         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
31021         slash on symlink.
31022         * doc/posix-functions/readlink.texi (readlink): Document the bug.
31023         * tests/test-readlink.h (test_readlink): Enhance test.
31024
31025         symlink: detect FreeBSD bug
31026         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
31027         slash on symlink.
31028         * doc/posix-functions/symlink.texi (symlink): Document the bug.
31029         * tests/test-symlink.h (test_symlink): Enhance test.
31030
31031 2009-11-10  Eric Blake  <ebb9@byu.net>
31032
31033         link: detect FreeBSD bug
31034         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
31035         symlink.
31036         * doc/posix-functions/link.texi (link): Document the bug.
31037         * tests/test-link.h (test_link): Enhance test.
31038         * tests/test-linkat.c (main): Update caller.
31039
31040         unlink, remove: detect FreeBSD bug
31041         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
31042         slash on symlink.
31043         * doc/posix-functions/unlink.texi (unlink): Document the bug.
31044         * doc/posix-functions/remove.texi (remove): Likewise.
31045         * tests/test-unlink.h (test_unlink): Enhance test.
31046         * tests/test-remove.c (main): Likewise.
31047
31048 2009-11-09  Eric Blake  <ebb9@byu.net>
31049
31050         rename: detect FreeBSD bug
31051         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
31052         slash on symlink.
31053         * modules/renameat-tests (Depends-on): Add filenamecat.
31054         * tests/test-rename.h (test_rename): Allow one more errno.
31055         * tests/test-renameat.c (main): Likewise.
31056         * doc/posix-functions/rename.texi (rename): Document the bug.
31057
31058         open: detect FreeBSD bug
31059         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
31060         symlink.
31061         * doc/posix-functions/open.texi (open): Document the bug.
31062         * doc/posix-functions/utimes.texi (utimes): Likewise.
31063         * tests/test-open.h (test_open): Add parameters, and test symlink
31064         handling.
31065         * tests/test-open.c (main): Adjust caller.
31066         * tests/test-fcntl-safer.c (main): Likewise.
31067         * modules/open-tests (Depends-on): Add stdbool, symlink.
31068         * modules/fcntl-safer-tests (Depends-on): Likewise.
31069         * tests/test-openat.c (main): Add test-open tests.
31070
31071         stat: detect FreeBSD bug
31072         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
31073         symlink.
31074         * doc/posix-functions/stat.texi (stat): Document the bug.
31075         * tests/test-stat.h (test_stat_func): Add argument.
31076         * tests/test-stat.c (main): Adjust caller.
31077         * tests/test-fstatat.c (main): Likewise.
31078         * modules/stat-tests (Depends-on): Add stdbool, symlink.
31079         Reported by Jim Meyering.
31080
31081 2009-11-09  James Youngman  <jay@gnu.org>
31082
31083         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
31084         * lib/strftime.c: Correct placement of #include "ignore-value.h".
31085
31086 2009-11-08  Jim Meyering  <meyering@redhat.com>
31087
31088         utimens: remove invalid futimesat call
31089         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
31090         It used the file descriptor of the target file as the DIR_FD
31091         parameter and NULL as the file name.  That caused failure with
31092         errno == EFAULT on FreeBSD-8.0-rc2
31093
31094 2009-11-07  Eric Blake  <ebb9@byu.net>
31095
31096         fflush, freadseek: use fseeko, not fseek
31097         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
31098         (clear_ungetc_buffer): Avoid potential problems on large files.
31099         * lib/freadseek.c (freadseek): Likewise.
31100         * modules/freadseek (Depends-on): Add fseeko.
31101         * modules/fseek (configure.ac): Set a witness.
31102         * tests/test-fflush.c (main): Use fseeko.
31103         * tests/test-fpurge.c (fseek): Disable link warning.
31104         * tests/test-freadable.c (fseek): Likewise.
31105         * tests/test-freading.c (fseek): Likewise.
31106         * tests/test-fseeko.c (fseek): Likewise.
31107         * tests/test-ftell.c (fseek): Likewise.
31108         * tests/test-ftello.c (fseek): Likewise.
31109         * tests/test-fwritable.c (fseek): Likewise.
31110         * tests/test-fwriting.c (fseek): Likewise.
31111
31112 2009-11-06  Simon Josefsson  <simon@josefsson.org>
31113
31114         * modules/memchr (Depends-on): Drop getpagesize dependency.
31115
31116 2009-11-06  Simon Josefsson  <simon@josefsson.org>
31117
31118         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
31119         Reported by Ludovic Courtès.
31120         * build-aux/pmccabe2html: Improve example usage.
31121         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
31122
31123 2009-11-06  Jim Meyering  <meyering@redhat.com>
31124
31125         do-release-commit-and-tag: New module.
31126         Automate the release-commit and tag process.
31127         * build-aux/do-release-commit-and-tag: New script, from coreutils.
31128         * modules/do-release-commit-and-tag: New file.
31129         * MODULES.html.sh (Support for maintaining and releasing): Add it.
31130
31131 2009-11-06  Simon Josefsson  <simon@josefsson.org>
31132
31133         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
31134         because test-select.c uses inet_pton.
31135
31136 2009-11-06  Simon Josefsson  <simon@josefsson.org>
31137
31138         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
31139         GETADDRINFO_LIB.  Bump serial number.
31140         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
31141         Suggested by Eric Blake <ebb9@byu.net>.
31142
31143 2009-11-05  Eric Blake  <ebb9@byu.net>
31144
31145         strtod: detect darwin bug
31146         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
31147         Reported by Leo Davis.
31148
31149         freopen-safer: new module
31150         * modules/freopen-safer: New module.
31151         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
31152         * lib/freopen-safer.c (freopen_safer): New file.
31153         * lib/stdio-safer.h (freopen_safer): New declaration.
31154         * lib/stdio--.h (freopen): New override.
31155         * MODULES.html.sh (File stream based Input/Output): Mention it.
31156         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
31157         freopen-safer module.
31158         * doc/posix-functions/stderr.texi (stderr): Likewise.
31159         * doc/posix-functions/stdin.texi (stdin): Likewise.
31160         * doc/posix-functions/stdout.texi (stdout): Likewise.
31161         * modules/freopen-safer-tests: New test.
31162         * tests/test-reopen-safer.c: New file.
31163
31164 2009-11-05  Jim Meyering  <meyering@redhat.com>
31165
31166         maint.mk: Prohibit inclusion of "close-stream.h" without use.
31167         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
31168
31169 2009-11-05  Simon Josefsson  <simon@josefsson.org>
31170
31171         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
31172
31173 2009-11-05  Simon Josefsson  <simon@josefsson.org>
31174
31175         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
31176
31177 2009-11-05  Simon Josefsson  <simon@josefsson.org>
31178
31179         Fix link error.
31180         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
31181         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
31182
31183 2009-11-05  Simon Josefsson  <simon@josefsson.org>
31184
31185         * tests/test-func.c: Also test value of __func__.
31186
31187 2009-11-05  Simon Josefsson  <simon@josefsson.org>
31188
31189         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
31190         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
31191
31192 2009-11-05  Bruno Haible  <bruno@clisp.org>
31193
31194         Fix link error.
31195         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
31196         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
31197         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
31198
31199 2009-11-05  Bruno Haible  <bruno@clisp.org>
31200
31201         Tests for module 'inet_pton'.
31202         * modules/inet_pton-tests: New file.
31203         * tests/test-inet_pton.c: New file.
31204
31205 2009-11-05  Bruno Haible  <bruno@clisp.org>
31206
31207         Tests for module 'inet_ntop'.
31208         * modules/inet_ntop-tests: New file.
31209         * tests/test-inet_ntop.c: New file.
31210
31211 2009-11-04  Eric Blake  <ebb9@byu.net>
31212
31213         stdlib-safer: wrap all mkstemp variants
31214         * modules/mkostemp (configure.ac): Set witness.
31215         * modules/mkostemps (configure.ac): Likewise.
31216         * modules/mkstemps (configure.ac): Likewise.
31217         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
31218         (mkstemps_safer): Wrap more functions.
31219         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
31220         wrapping.
31221         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
31222         (mkstemps_safer): Implement the wrappers.
31223
31224         mkstemps, mkostemps: new modules
31225         * modules/mkostemps: New module.
31226         * modules/mkstemps: Likewise.
31227         * lib/mkostemps.c (mkostemps): New file.
31228         * lib/mkstemps.c (mkstemps): Likewise.
31229         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
31230         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
31231         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
31232         * modules/stdlib (Makefile.am): Substitute them.
31233         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
31234         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
31235         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
31236         * doc/gnulib.texi (Glibc stdlib.h): Include them.
31237         * MODULES.html.sh (File system functions): Mention them.
31238
31239         tempname: resync from glibc
31240         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
31241         same values for __GT_FILE as glibc.  Abort even when assertions
31242         are disabled.
31243         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
31244         match its value otherwise.  Allow idempotent inclusion.
31245         * lib/mkdtemp.c (mkdtemp): Adjust caller.
31246         * lib/mkostemp.c (mkostemp): Likewise.
31247         * lib/mkstemp.c (mkstemp): Likewise.
31248         * lib/tmpfile.c (tmpfile): Likewise.
31249         * NEWS: Document this.
31250
31251         utimens: fix use of futimens on older Linux
31252         * lib/utimens.c (fdutimens): Use updated, rather than original,
31253         timespec to avoid bug in older Linux kernel.
31254         Reported by Simon Josefsson.
31255
31256 2009-11-04  Bruno Haible  <bruno@clisp.org>
31257
31258         Make num_processors more flexible and consistent.
31259         * lib/nproc.h (enum nproc_query): New type.
31260         (num_processors): Add a 'query' argument.
31261         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
31262         (num_processors): Add a 'query' argument. Test the value of the
31263         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
31264         mingw, count the number of CPUs available for the current process.
31265         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
31266         Check for sched_getaffinity and sched_getaffinity_np.
31267         * modules/nproc (Depends-on): Add c-ctype, extensions.
31268         * NEWS: Mention the change.
31269
31270 2009-11-03  Bruno Haible  <bruno@clisp.org>
31271
31272         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
31273
31274 2009-11-03  Jim Meyering  <meyering@redhat.com>
31275
31276         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
31277         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
31278         if it is defined.
31279
31280 2009-11-02  Eric Blake  <ebb9@byu.net>
31281
31282         mktime, timegm: share common declaration
31283         * lib/mktime-internal.h: New file.
31284         * lib/mktime.c: Use it rather than open-coding a declaration.
31285         * lib/timegm.c: Likewise.
31286         * modules/mktime (Files): Ship it.
31287         * modules/timegm (Files): Likewise.
31288         Suggested by Bruno Haible.
31289
31290         test-update-copyright: update test to match script changes
31291         * tests/test-update-copyright.sh: Avoid hard-coding perl
31292         location.  Don't update *.bak created by earlier runs.
31293
31294 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
31295             Simon Josefsson  <simon@josefsson.org>
31296             Bruno Haible  <bruno@clisp.org>
31297
31298         Fix link error on Solaris 8.
31299         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
31300         also in libnsl. Define also INET_PTON_LIB.
31301         * modules/inet_pton (Link): New section.
31302
31303 2009-11-02  Simon Josefsson  <simon@josefsson.org>
31304             Bruno Haible  <bruno@clisp.org>
31305
31306         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
31307         * modules/inet_ntop (Link): New section.
31308         Reported by Boyan Kasarov <bkasarov@gmail.com>.
31309
31310 2009-11-02  Eric Blake  <ebb9@byu.net>
31311
31312         maint: avoid compiler warnings in m4 macros
31313         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
31314         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
31315
31316 2009-11-02  Simon Josefsson  <simon@josefsson.org>
31317
31318         * m4/pmccabe2html.m4: Remove file.
31319         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
31320         function.  Change maintainer.
31321         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
31322         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
31323         Courtès).
31324
31325 2009-10-31  Eric Blake  <ebb9@byu.net>
31326
31327         fseeko: fix m4 regression
31328         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
31329         regression from 2009-10-27.
31330         Reported by Ralf Wildenhues.
31331
31332 2009-10-31  Jim Meyering  <meyering@redhat.com>
31333
31334         inttostr: aesthetics and improved (compile-time) safety
31335         Define inttype_is_signed rather than inttype_is_unsigned,
31336         since the sole use is via "#if inttype_is_signed".
31337         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
31338         inttype_is_unsigned.
31339         * lib/offtostr.c (inttype_is_signed): Likewise.
31340         * lib/uinttostr.c (inttype_is_signed): Likewise.
31341         * lib/umaxtostr.c (inttype_is_signed): Likewise.
31342         * lib/inttostr.c (inttostr): Use verify to cross-check the
31343         inttype_is_signed value and the signedness of the actual type.
31344         * modules/inttostr (Depends-on): Add verify.
31345
31346 2009-10-30  Eric Blake  <ebb9@byu.net>
31347
31348         build: avoid compiler warnings
31349         * lib/fchmodat.c (lchmod): Mark unused variables.
31350         * lib/getopt.c (_getopt_initialize): Likewise.
31351         * lib/mktime.c (__mktime_internal): Provide prototype.
31352         * lib/inttostr.c (inttostr): Avoid compiler warning even with
31353         older gcc that do not understand #pragma GCC diagnostic.
31354         * lib/uinttostr.c (inttype_is_unsigned): Define.
31355         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
31356
31357 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
31358
31359         stat: fix compilation on AIX
31360         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
31361         only see struct stat64.
31362
31363 2009-10-30  Eric Blake  <ebb9@byu.net>
31364
31365         exclude: make more robust
31366         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
31367         rather than masking a coding bug.
31368         Suggested by Bruno Haible.
31369
31370 2009-10-30  Jim Meyering  <meyering@redhat.com>
31371
31372         perl scripts: remove #!/usr/bin/perl in favor of more portable...
31373         Rather than putting #!/usr/bin/perl on the first line,
31374         start with a variant of what's recommended by "man perlrun" that
31375         invokes the first "perl" program from your shell's search path.
31376         * build-aux/gitlog-to-changelog: Replace #!... as above.
31377         Add a "Local Variables" perl mode setting.
31378         Prompted by a patch from Ludovic Courtès.
31379         Improved by Eric Blake.
31380         * build-aux/useless-if-before-free: Likewise.
31381         * build-aux/announce-gen: Likewise.
31382         * build-aux/update-copyright: Likewise.
31383
31384 2009-10-29  Eric Blake  <ebb9@byu.net>
31385
31386         filenamecat-lgpl: adjust clients
31387         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
31388         filenamecat.
31389         * modules/renameat (Depends-on): Likewise.
31390
31391         filenamecat: split into filenamecat-lgpl
31392         * modules/filenamecat-lgpl: New module.
31393         * modules/filenamecat (Files): Move library-safe files into
31394         filenamecat-lgpl.
31395         (Depends-on): Add filenamecat-lgpl.
31396         (configure.ac): Declare witness.
31397         * lib/filenamecat.h (file_name_concat): Only declare when using
31398         GPL module.
31399         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
31400         Move...
31401         * lib/filenamecat-lgpl.c: ...into new file.
31402         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
31403         (gl_FILE_NAME_CONCAT): Use it.
31404         * MODULES.html.sh (File system functions): Mention new module.
31405
31406         argp: avoid memory leak
31407         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
31408         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
31409         base_name, since the latter malloc()s and can call exit().
31410         Leak introduced 2006-07-03.
31411
31412         dirname-lgpl: adjust clients that don't need full dirname
31413         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
31414         * modules/filenamecat (Depends-on): Likewise.
31415         * modules/linkat (Depends-on): Likewise.
31416         * modules/mkancesdirs (Depends-on): Likewise.
31417         * modules/mkdir (Depends-on): Likewise.
31418         * modules/openat (Depends-on): Likewise.
31419         * modules/savewd (Depends-on): Likewise.
31420         * modules/rename (Depends-on): Likewise.
31421         (License): Relax license.
31422         * modules/mkdir-tests (Depends-on): Drop progname.
31423         (Makefile.am): Delete unneeded LDADD.
31424         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
31425
31426         dirname: split into dirname-lgpl
31427         * modules/dirname-lgpl: New module.
31428         * modules/dirname (Files): Move library-safe files into
31429         dirname-lgpl.
31430         (Depends-on): Add dirname-lgpl.
31431         (configure.ac): Declare witness.
31432         * modules/double-slash-root (License): Relax license.
31433         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
31434         module.
31435         * lib/dirname.c (dir_len, mdir_name): Move...
31436         * lib/dirname-lgpl.c: ...into new file.
31437         * lib/basename.c (last_component, base_len): Move...
31438         * lib/basename-lgpl.c: ...into new file.
31439         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
31440         (gl_DIRNAME): Use it.
31441         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
31442         Mention new module.
31443         * modules/dirname-tests (Depends-on): Add progname.
31444         * tests/test-dirname.c (program_name): Delete.
31445
31446         mkdir: make safe for libraries
31447         * modules/mkdir (Depends-on): Drop xalloc.
31448         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
31449         exit.
31450
31451         tests: avoid some compiler warnings
31452         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
31453         literals.
31454         * tests/test-memchr.c (main): Avoid type mismatch.
31455         * tests/test-arpa_inet.c (main): Avoid unused parameters.
31456         * tests/test-base64.c (main): Likewise.
31457         * tests/test-getdelim.c (main): Likewise.
31458         * tests/test-gethostname.c (main): Likewise.
31459         * tests/test-getline.c (main): Likewise.
31460         * tests/test-netinet_in.c (main): Likewise.
31461         * tests/test-select.c (open_server_socket, main): Likewise.
31462         * tests/test-select-stdin.c (main): Likewise.
31463         * tests/test-sockets.c (main): Likewise.
31464         * tests/test-strsignal.c (main): Likewise.
31465         * tests/test-sys_select.c (main): Likewise.
31466         * tests/test-sys_socket.c (main): Likewise.
31467         * tests/test-u64.c (main): Likewise.
31468         * tests/test-xfprintf-posix.c (main): Likewise.
31469         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
31470
31471         sockets: avoid compiler warning
31472         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
31473
31474         maint: detect usage(1) and other suspicious exits
31475         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
31476
31477 2009-10-29  Jim Meyering  <meyering@redhat.com>
31478
31479         timespec: long-to-int truncation could make timespec_cmp malfunction
31480         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
31481         a multiple of 2^32 nanoseconds as no difference.
31482
31483 2009-10-28  Jim Meyering  <meyering@redhat.com>
31484
31485         fprintftime: wrap macro code argument in "do {...} while(0)"
31486         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
31487         cpy macro must be a statement that can be followed by a semicolon.
31488         Now that the else clause contains a comment and is hence longer
31489         than one line, I require curly braces.  That in turn requires
31490         that we wrap this code block in the standard do...while(0).
31491
31492         fprintftime: remove stray semicolon from previous change
31493         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
31494
31495         fprintftime: avoid a warning about ignored fwrite return value
31496         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
31497         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
31498         that is unsafe.
31499         * modules/fprintftime (Depends-on): Add ignore-value.
31500
31501         exclude: avoid an unwarranted warning
31502         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
31503
31504 2009-10-27  Eric Blake  <ebb9@byu.net>
31505
31506         fseek: avoid compilation failure when fflush is replaced
31507         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
31508         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
31509         module is in use.
31510         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
31511         module is not in use; since REPLACE_FSEEK worked otherwise.
31512         (GNULIB_FTELLO): Likewise for ftell.
31513         Reported by Ian Beckwith and others.
31514
31515 2009-10-27  Bruno Haible  <bruno@clisp.org>
31516
31517         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
31518         Reported by Jim Meyering.
31519
31520 2009-10-27  Jim Meyering  <jim@meyering.net>
31521             Bruno Haible  <bruno@clisp.org>
31522
31523         Avoid warning despite dropping the return value of fwrite.
31524         * lib/unicodeio.c: Include ignore-value.h.
31525         (fwrite_success_callback): Explicitly ignore fwrite's return value.
31526         * modules/unicodeio (Depends-on): Add ignore-value.
31527
31528 2009-10-26  Eric Blake  <ebb9@byu.net>
31529
31530         areadlinkat: fix fallback path
31531         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
31532         pointer and zero.
31533
31534 2009-10-22  Pádraig Brady  <P@draigBrady.com>
31535
31536         Use a better IO block size for modern systems
31537         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
31538         * lib/md2.c: Likewise.
31539         * lib/md4.c: Likewise.
31540         * lib/md5.c: Likewise.
31541         * lib/sha1.c: Likewise.
31542         * lib/sha256.c: Likewise.
31543         * lib/sha512.c: Likewise.
31544
31545 2009-10-22  Eric Blake  <ebb9@byu.net>
31546
31547         tests: avoid several compiler warnings
31548         * tests/test-getcwd.c (main): Avoid buffer underflow.
31549         * tests/test-getdate.c (main): String literals are not safe with
31550         putenv, so use setenv.  Declare unused argument.
31551         * modules/getdate-tests (Depends-on): Add setenv.
31552         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
31553         problems with string literals in char *.
31554         * tests/test-hash.c (main): Avoid shadowing declaration.
31555         (insert_new): Treat string literals as char const *.
31556         * tests/test-getopt.h (test_getopt): Likewise.
31557         (getopt_loop): Alter types to minimize casting elsewhere.
31558         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
31559         (test_getopt_long_posix): Likewise.
31560         (do_getopt_long): Add wrapper to minimize casting.
31561         * tests/test-atexit.c (clear_temp_file): Use void.
31562         * tests/test-areadlink-with-size.c (main): Declare unused
31563         arguments.
31564         * tests/test-areadlink.c (main): Likewise.
31565         * tests/test-areadlinkat-with-size.c (main): Likewise.
31566         * tests/test-areadlinkat.c (main): Likewise.
31567         * tests/test-canonicalize-lgpl.c (main): Likewise.
31568         * tests/test-canonicalize.c (main): Likewise.
31569         * tests/test-dirent-safer.c (main): Likewise.
31570         * tests/test-dirname.c (main): Likewise.
31571         * tests/test-dup2.c (main): Likewise.
31572         * tests/test-fchdir.c (main): Likewise.
31573         * tests/test-fcntl-h.c (main): Likewise.
31574         * tests/test-fcntl-safer.c (main): Likewise.
31575         * tests/test-fdopendir.c (main): Likewise.
31576         * tests/test-fdutimensat.c (main): Likewise.
31577         * tests/test-fflush.c (main): Likewise.
31578         * tests/test-filenamecat.c (main): Likewise.
31579         * tests/test-filevercmp.c (main): Likewise.
31580         * tests/test-fopen-safer.c (main): Likewise.
31581         * tests/test-fopen.c (main): Likewise.
31582         * tests/test-fpending.c (main): Likewise.
31583         * tests/test-fpurge.c (main): Likewise.
31584         * tests/test-freading.c (main): Likewise.
31585         * tests/test-fstatat.c (main): Likewise.
31586         * tests/test-fsync.c (main): Likewise.
31587         * tests/test-futimens.c (main): Likewise.
31588         * tests/test-getndelim2.c (main): Likewise.
31589         * tests/test-gettimeofday.c (main): Likewise.
31590         * tests/test-getopt.c (main): Likewise.
31591         * tests/test-i-ring.c (main): Likewise.
31592         * tests/test-inttypes.c (main): Likewise.
31593         * tests/test-link.c (main): Likewise.
31594         * tests/test-lstat.c (main): Likewise.
31595         * tests/test-math.c (main): Likewise.
31596         * tests/test-md5.c (main): Likewise.
31597         * tests/test-memchr2.c (main): Likewise.
31598         * tests/test-memrchr.c (main): Likewise.
31599         * tests/test-mkdir.c (main): Likewise.
31600         * tests/test-mkdirat.c (main): Likewise.
31601         * tests/test-mkfifoat.c (main): Likewise.
31602         * tests/test-open.c (main): Likewise.
31603         * tests/test-openat-safer.c (main): Likewise.
31604         * tests/test-openat.c (main): Likewise.
31605         * tests/test-quotearg.c (main): Likewise.
31606         * tests/test-rawmemchr.c (main): Likewise.
31607         * tests/test-readlink.c (main): Likewise.
31608         * tests/test-remove.c (main): Likewise.
31609         * tests/test-rename.c (main): Likewise.
31610         * tests/test-renameat.c (main): Likewise.
31611         * tests/test-rmdir.c (main): Likewise.
31612         * tests/test-sha1.c (main): Likewise.
31613         * tests/test-signal.c (main): Likewise.
31614         * tests/test-sigaction.c (main): Likewise.
31615         * tests/test-stat.c (main): Likewise.
31616         * tests/test-stat-time.c (main): Likewise.
31617         * tests/test-stddef.c (main): Likewise.
31618         * tests/test-stdint.c (main): Likewise.
31619         * tests/test-stdio.c (main): Likewise.
31620         * tests/test-stdlib.c (main): Likewise.
31621         * tests/test-strchrnul.c (main): Likewise.
31622         * tests/test-strerror.c (main): Likewise.
31623         * tests/test-string.c (main): Likewise.
31624         * tests/test-strtod.c (main): Likewise.
31625         * tests/test-strverscmp.c (main): Likewise.
31626         * tests/test-symlink.c (main): Likewise.
31627         * tests/test-symlinkat.c (main): Likewise.
31628         * tests/test-sys_stat.c (main): Likewise.
31629         * tests/test-sys_time.c (main): Likewise.
31630         * tests/test-time.c (main): Likewise.
31631         * tests/test-unistd.c (main): Likewise.
31632         * tests/test-unlink.c (main): Likewise.
31633         * tests/test-unlinkat.c (main): Likewise.
31634         * tests/test-utimens.c (main): Likewise.
31635         * tests/test-utimensat.c (main): Likewise.
31636         * tests/test-version-etc.c (main): Likewise.
31637         * tests/test-wchar.c (main): Likewise.
31638         * tests/test-wctype.c (main): Likewise.
31639         * tests/test-xprintf-posix.c (main): Likewise.
31640         * tests/test-posixtm.c (main): Likewise.
31641         (STREQ): Delete unused macro.
31642         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
31643         shadowed variables.
31644         * tests/test-memchr.c (main): Likewise.
31645
31646 2009-10-21  Eric Blake  <ebb9@byu.net>
31647
31648         areadlinkat: avoid failure on older glibc
31649         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
31650         rather than mis-comparing 0 against FUNC_RESULT of char*.
31651
31652 2009-10-21  Bruno Haible  <bruno@clisp.org>
31653
31654         * modules/stpncpy (License): Relicense under LGPLv2+.
31655         Reported by David Lutterkort <lutter@redhat.com>.
31656
31657 2009-10-20  Eric Blake  <ebb9@byu.net>
31658
31659         utimensat: work around Solaris 9 bug
31660         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
31661         has trailing slash bugs.
31662         * tests/test-lutimens.h (test_lutimens): Enhance test.
31663         * tests/test-utimens.h (test_utimens): Likewise.
31664         * doc/posix-functions/utime.texi (utime): Enhance documentation.
31665         * doc/posix-functions/utimes.texi (utimes): Likewise.
31666         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
31667         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
31668         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
31669         * doc/posix-functions/futimens.texi (futimens): Likewise.
31670
31671         fdutimensat: new module
31672         * modules/fdutimensat: New file.
31673         * lib/fdutimensat.c (fdutimensat): Likewise.
31674         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
31675         * MODULES.html.sh (File system functions): Mention module.
31676         * modules/fdutimensat-tests: New test.
31677         * tests/test-fdutimensat.c: Likewise.
31678
31679         doc: regenerate INSTALL
31680         * doc/INSTALL: Reflect recent autoconf update.
31681         * doc/INSTALL.ISO: Likewise.
31682         * doc/INSTALL.UTF-8: Likewise.
31683
31684 2009-10-20  Pádraig Brady  <P@draigBrady.com>
31685
31686         acl: warn if ACL support is not detected
31687         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
31688
31689 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
31690
31691         * lib/nproc.h: Add extern "C" block for C++.
31692
31693 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
31694             Bruno Haible  <bruno@clisp.org>
31695
31696         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
31697         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
31698         * doc/posix-functions/isalpha.texi: Likewise.
31699         * doc/posix-functions/isblank.texi: Likewise.
31700         * doc/posix-functions/iscntrl.texi: Likewise.
31701         * doc/posix-functions/isdigit.texi: Likewise.
31702         * doc/posix-functions/isgraph.texi: Likewise.
31703         * doc/posix-functions/islower.texi: Likewise.
31704         * doc/posix-functions/isprint.texi: Likewise.
31705         * doc/posix-functions/ispunct.texi: Likewise.
31706         * doc/posix-functions/isspace.texi: Likewise.
31707         * doc/posix-functions/isupper.texi: Likewise.
31708         * doc/posix-functions/isxdigit.texi: Likewise.
31709
31710 2009-10-18  Bruno Haible  <bruno@clisp.org>
31711
31712         Tests for module 'isblank'.
31713         * modules/isblank-tests: New file.
31714         * tests/test-isblank.c: New file.
31715
31716         New module 'isblank'.
31717         * lib/isblank.c: New file.
31718         * m4/isblank.m4: New file.
31719         * modules/isblank: New file.
31720         * doc/posix-functions/isblank.texi: Mention the new module.
31721
31722 2009-10-18  Bruno Haible  <bruno@clisp.org>
31723
31724         New module 'ctype'.
31725         * lib/ctype.in.h: New file.
31726         * m4/ctype.m4: New file.
31727         * modules/ctype: New file.
31728         * doc/posix-headers/ctype.texi: Mention the new module.
31729
31730 2009-10-18  Jim Meyering  <meyering@redhat.com>
31731
31732         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
31733         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
31734         right after its initialization, rather than farther down.
31735         Keeping these in close proximity makes it easier to ensure
31736         that each such variable is initialized.  E.g.,
31737
31738             LIB_CLOCK_GETTIME=
31739             AC_SUBST([LIB_CLOCK_GETTIME])
31740
31741         This change also increments these serial numbers.
31742         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
31743         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
31744         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
31745
31746 2009-10-18  Bruno Haible  <bruno@clisp.org>
31747
31748         Don't let environment variables perturb build.
31749         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
31750         (gl_PREREQ_GETHRXTIME): ... not here.
31751
31752 2009-10-18  Bruno Haible  <bruno@clisp.org>
31753
31754         Avoid symlink attack in localcharset module.
31755         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
31756         (O_NOFOLLOW): Define fallback.
31757         (get_charset_aliases): Don't open the file if it is a symbolic link.
31758         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
31759         gl_FCNTL_H.
31760         (gl_FCNTL_H): Require it.
31761         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
31762         * modules/localcharset (Files): Add m4/fcntl_h.m4.
31763         Reported by Fergal Glynn <fglynn@veracode.com>.
31764
31765 2009-10-18  Bruno Haible  <bruno@clisp.org>
31766
31767         Implement nproc for mingw.
31768         * lib/nproc.c: Include <windows.h>
31769         (num_processors): On native Windows platforms, try GetSystemInfo.
31770
31771 2009-10-18  Bruno Haible  <bruno@clisp.org>
31772
31773         Implement nproc for IRIX.
31774         * lib/nproc.c: Include <sys/sysmp.h>.
31775         (num_processors): On IRIX systems, try sysmp.
31776         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
31777
31778 2009-10-18  Bruno Haible  <bruno@clisp.org>
31779
31780         Implement nproc for HP-UX.
31781         * lib/nproc.c: Include <sys/pstat.h>
31782         (num_processors): On HP-UX systems, try pstat_getdynamic.
31783         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
31784         pstat_getdynamic.
31785
31786 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
31787             Bruno Haible  <bruno@clisp.org>
31788
31789         Implement nproc for NetBSD, OpenBSD.
31790         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
31791         (ARRAY_SIZE): New macro.
31792         (num_processors): On BSD systems, try sysctl of HW_NCPU.
31793         * m4/nproc.m4: New file.
31794         * modules/nproc (Files): Add m4/nproc.m4.
31795         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
31796         (Makefile.am): Instead, augment lib_SOURCES.
31797
31798 2009-10-18  Bruno Haible  <bruno@clisp.org>
31799
31800         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
31801         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
31802         sys/param.h.
31803
31804 2009-10-16  Eric Blake  <ebb9@byu.net>
31805
31806         utimensat: new module
31807         * modules/utimensat: New file.
31808         * lib/utimensat.c (utimensat): Likewise.
31809         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
31810         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
31811         so we can work around Linux bugs.
31812         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
31813         * modules/sys_stat (Makefile.am): Substitute them.
31814         * lib/sys_stat.in.h (utimensat): Declare it.
31815         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
31816         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
31817         * modules/utimensat-tests: New test.
31818         * tests/test-utimensat.c: Likewise.
31819
31820         utimens: let lutimens work on non-symlinks
31821         * lib/utimens.c (lutimens): Fall back to utimens rather than
31822         failing with ENOSYS, when file is not a symlink.
31823         (utimens): Reduce redirection.
31824         * tests/test-lutimens.h (test_lutimens): Update test to cover
31825         non-symlinks.
31826         * tests/test-utimens.h (test_utimens): Update test to cover
31827         symlinks.
31828         * tests/test-utimens.c (main): Update caller.
31829
31830         utimens: cache whether utimensat syscall works
31831         * lib/utimens.c (utimensat_works_really): New cache variable.
31832         (fdutimens, lutimens): Use it to avoid failing syscall.
31833
31834         test-stat-time, test-utimens: improve portability
31835         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
31836         ext4 on alpha, and for cygwin.
31837         * tests/test-utimens-common.h: New file.
31838         (nap): Factor delays into single function.
31839         * tests/test-lutimens.h (test_lutimens): Use new header.
31840         * tests/test-futimens.h (test_futimens): Likewise.
31841         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
31842         timestamps to occur from same machine, as was done previously for
31843         test_utimens.
31844         * modules/utimens-tests (Files): Ship new file.
31845         * modules/futimens-tests (Files): Likewise.
31846         Reported in part by Jim Meyering.
31847
31848         sys_stat: sort replacement declarations
31849         * lib/sys_stat.in.h: Sort declarations.
31850         * lib/futimens.c (futimens): Fix typo.
31851
31852 2009-10-15  Jim Meyering  <meyering@redhat.com>
31853
31854         don't let environment settings perturb build
31855         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
31856         could cause a configure-time and/or build-time malfunction.
31857         Typically, a configure-time function-in-library test is performed
31858         via code like this:
31859
31860           LIB_VAR=
31861           AC_SUBST([LIB_VAR])
31862           prefix_saved_LIBS=$LIBS
31863             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
31864                        [test "$ac_cv_search_FUNC" = "none required" ||
31865                         LIB_VAR=$ac_cv_search_FUNC])
31866           LIBS=$prefix_saved_LIBS
31867
31868         However, in each of the files affected by this change, the LIB_VAR=
31869         initialization was omitted.  Thus, when set in the environment, its
31870         value would propagate into generated Makefiles when FUNC is not found
31871         in LIB_NAME.
31872         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
31873         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
31874         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
31875
31876 2009-10-14  Eric Blake  <ebb9@byu.net>
31877
31878         fchdir: avoid infinite recursion in mingw
31879         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
31880         recursing.
31881
31882         test-stat-time: port to mingw
31883         * tests/test-stat-time.c (force_unlink): Return a value.
31884         (test_ctime) [W32]: Fix compilation error.
31885         (nap): Don't call usleep with too large an argument.  Use
31886         force_unlink.
31887         * doc/pastposix-functions/usleep.texi (usleep): Document the
31888         portability issue.
31889
31890 2009-10-13  Jim Meyering  <meyering@redhat.com>
31891
31892         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
31893         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
31894         * modules/pipe-filter-ii: Likewise.
31895         * modules/sys_socket-tests: Likewise.
31896         * modules/tsearch-tests: Likewise.
31897         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
31898         (check): Depend on it.
31899
31900 2009-10-12  Eric Blake  <ebb9@byu.net>
31901
31902         utimens-tests: port to NFS file systems
31903         * tests/test-utimens.h (test_utimens): Refactor utimecmp
31904         comparisons to avoid spurious failures from timestamp drift
31905         between NFS machines.
31906
31907 2009-10-12  Eric Blake  <ebb9@byu.net>
31908
31909         stat-time-tests: minor cleanups
31910         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
31911         * tests/test-stat-time.c (nap): Separate assignment from call.
31912         Suggested by Paolo Bonzini and Bruno Haible.
31913
31914         sys_stat: guarantee struct timespec
31915         * lib/sys_stat.in.h (includes): Always include <time.h>
31916         * modules/sys_stat (Depends-on): Add time.
31917         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
31918         mode_t permission values.
31919         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
31920         get at subsecond timestamps.
31921
31922 2009-10-10  Eric Blake  <ebb9@byu.net>
31923
31924         futimens: new module
31925         * modules/futimens: New file.
31926         * lib/futimens.c (futimens): Likewise.
31927         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
31928         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
31929         we can work around Linux bugs.
31930         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
31931         * modules/sys_stat (Makefile.am): Substitute them.
31932         * lib/sys_stat.in.h (futimens): Declare it.
31933         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
31934         * doc/posix-functions/futimens.texi (futimens): Likewise.
31935         * modules/futimens-tests: New test.
31936         * tests/test-futimens.c: Likewise.
31937
31938         utimens: introduce fdutimens
31939         * lib/utimens.h (fdutimens): New prototype.
31940         * lib/utimens.c (gl_futimens): Move guts...
31941         (fdutimens): ...to new interface.
31942         * tests/test-utimens.c (do_fdutimens): Use it.
31943
31944         utimens: add UTIME_NOW and UTIME_OMIT support
31945         * lib/utimens.c (validate_timespec, update_timespec): New helper
31946         functions.
31947         (gl_futimens, lutimens): Use them.
31948         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
31949         stdbool, sys_stat.
31950         (Link): Mention resulting library dependency.
31951         * modules/utimecmp (Link): Likewise.
31952         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
31953         (Makefile.am): Pick up library dependency.
31954         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
31955         definition.
31956         * tests/test-sys_stat.c: Test the definitions.
31957         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
31958         * NEWS: Document library dependency.
31959
31960         utimecmp: support symlink timestamps
31961         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
31962         hashing when possible.  Use pathconf when available.
31963         (SYSCALL_RESOLUTION): Recognize tighter resolution.
31964         * modules/utimecmp (Depends-on): Add lstat.
31965
31966         utimens: add lutimens interface
31967         * lib/utimens.c (lutimens): New function.
31968         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
31969         * lib/utimens.h (lutimens): Declare new interface.
31970         * tests/test-utimens.c (main): Enhance test.
31971         * tests/test-lutimens.h (test_lutimens): New file.
31972         * modules/utimens-tests (Files): Distribute it.
31973         (Depends-on): Add symlink.
31974         (configure.ac): Check for usleep.
31975
31976         utimens: validate futimens usage
31977         * lib/utimens.c (gl_futimens): Require valid fd up front, using
31978         fewer syscalls on failure later on.  Avoid compiler warning on
31979         mingw.
31980         * modules/utimens (Depends-on): Add dup2.
31981
31982         utimens: add test
31983         * modules/utimens-tests: New test.
31984         * tests/test-utimens.h: New file.
31985         * tests/test-futimens.h: Likewise.
31986         * tests/test-utimens.c: Likewise.
31987
31988         doc: mention timestamp portability issues
31989         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
31990         instead.
31991         * doc/posix-functions/utime.texi (utime): Likewise.
31992         * doc/posix-functions/utimes.texi (utimes): Likewise.
31993         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
31994         instead.
31995         * doc/posix-functions/futimens.texi (futimens): Mention utimens
31996         module.
31997         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
31998         Mention weakness with symlink timestamps.
31999         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
32000         to utimensat/futimens instead.
32001         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
32002
32003         test-dup2: enhance test
32004         * tests/test-dup2.c (main): Also check AT_FDCWD.
32005
32006         test-stat-time: avoid more spurious failures
32007         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
32008         xfs; and avoid race if the two timestamps cross quantization edge.
32009
32010         relocatable: prefer 'file system' over 'filesystem'
32011         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
32012         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
32013         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
32014         * doc/relocatable.texi (Enabling Relocatability): Likewise.
32015         * lib/relocatable.c (compute_curr_prefix): Likewise.
32016
32017 2009-10-10  Jim Meyering  <meyering@redhat.com>
32018
32019         stat-time-tests: check for the usleep function
32020         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
32021
32022 2009-10-10  Bruno Haible  <bruno@clisp.org>
32023
32024         * modules/xnanosleep: Put the Link section after the Include section.
32025
32026 2009-10-09  Eric Blake  <ebb9@byu.net>
32027
32028         dup2: work around FreeBSD 6.1 bug
32029         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
32030         * doc/posix-functions/dup2.texi (dup2): Document it.
32031         Reported by Nelson H. F. Beebe and Jim Meyering.
32032
32033         test-stat-time: port to buggy NFS clients
32034         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
32035         (test_ctime): Also skip test if mtime and ctime are skewed.
32036
32037         maint: prefer 'file system' over 'filesystem'
32038         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
32039         * doc/posix-functions/lstat.texi (lstat): Likewise.
32040         * lib/file-has-acl.c (file_has_acl): Likewise.
32041         * lib/fwriteerror.c [TEST]: Likewise.
32042         * tests/test-areadlink.h (test_areadlink): Likewise.
32043         * tests/test-areadlinkat-with-size.c (main): Likewise.
32044         * tests/test-areadlinkat.c (main): Likewise.
32045         * tests/test-canonicalize-lgpl.c (main): Likewise.
32046         * tests/test-canonicalize.c (main): Likewise.
32047         * tests/test-fstatat.c (main): Likewise.
32048         * tests/test-linkat.c (main): Likewise.
32049         * tests/test-lstat.h (test_lstat_func): Likewise.
32050         * tests/test-mkdir.h (test_mkdir): Likewise.
32051         * tests/test-readlink.h (test_readlink): Likewise.
32052         * tests/test-remove.c (main): Likewise.
32053         * tests/test-rename.h (test_rename): Likewise.
32054         * tests/test-renameat.c (main): Likewise.
32055         * tests/test-rmdir.h (test_rmdir_func): Likewise.
32056         * tests/test-symlink.h (test_symlink): Likewise.
32057         * tests/test-symlinkat.c (main): Likewise.
32058         * tests/test-unlink.h (test_unlink_func): Likewise.
32059         * tests/test-unlinkat.c (main): Likewise.
32060
32061         maint: make realtime library usage explicit
32062         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
32063         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
32064         * modules/settime (Link): Likewise.
32065         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
32066
32067         test-stat-time: speed up execution
32068         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
32069         warning on mingw.
32070         (nap): New helper function.
32071         (prepare_test): Use it to reduce sleep time.
32072         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
32073         execution.
32074         * modules/stat-time-tests (configure.ac): Check for usleep.
32075
32076 2009-10-09  Jim Meyering  <meyering@redhat.com>
32077
32078         selinux-h: always use getfilecon wrappers
32079         * lib/getfilecon.c: New file.
32080         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
32081         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
32082         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
32083         (fgetfilecon): Provide a stub.
32084         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
32085         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
32086         file unconditionally.
32087         When <selinux/selinux.h> is found, arrange to use wrappers.
32088         * modules/selinux-h (Files): Add getfilecon.c.
32089         (Makefile.am): Substitute include-next-related bits
32090         into the now-always-generated selinux/selinux.h file.
32091         * doc/glibc-functions/lgetfilecon.texi: New file.
32092         * doc/glibc-functions/fgetfilecon.texi: New file.
32093         * doc/glibc-functions/getfilecon.texi: New file.
32094         * doc/glibc-functions/getfilecon-desc.texi: New file.
32095         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
32096         which to pull in the new files.
32097         * MODULES.html.sh (Misc): Add selinux-h.
32098
32099 2009-10-08  Jim Meyering  <meyering@redhat.com>
32100
32101         unistd: fix comment typo
32102         * lib/unistd.in.h (euidaccess): Fix a comment typo.
32103
32104 2009-10-08  Eric Blake  <ebb9@byu.net>
32105
32106         areadlink: use SIZE_MAX consistently
32107         * modules/areadlink (Depends-on): Add stdint.
32108         * modules/areadlink-with-size (Depends-on): Likewise.
32109         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
32110         gives NULL; drop sys/types, since unistd gives size_t; and add
32111         stdint for SIZE_MAX.
32112         (SIZE_MAX): Rely on headers.
32113         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
32114         and add stdint.
32115         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
32116         (SIZE_MAX): Likewise.
32117         (INITIAL_BUF_SIZE): Turn into enum.
32118         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
32119
32120 2009-10-08  Jim Meyering  <meyering@redhat.com>
32121
32122         areadlinkat: avoid compilation failure
32123         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
32124         Fix typo in comment.
32125
32126 2009-10-07  Eric Blake  <ebb9@byu.net>
32127
32128         areadlinkat-with-size: new module
32129         * modules/areadlinkat-with-size: New module.
32130         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
32131         * lib/areadlink.h (areadlinkat): Declare it.
32132         * MODULES.html.sh (File system functions): Mention it.
32133         * modules/areadlinkat-with-size-tests: New test.
32134         * tests/test-areadlinkat-with-size.c: New file.
32135
32136         xreadlinkat: new module
32137         * modules/xreadlinkat: New module.
32138         * lib/xreadlinkat.c (xreadlinkat): New file.
32139         * lib/xreadlink.h (xreadlinkat): Declare it.
32140         * MODULES.html.sh (File system functions): Mention it.
32141
32142         areadlinkat: new module
32143         * lib/at-func.c (FUNC_FAIL): New define.
32144         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
32145         * modules/areadlinkat: New module.
32146         * lib/linkat.c (areadlinkat): Move...
32147         * lib/areadlinkat.c (areadlinkat): ...to new file.
32148         * lib/areadlink.h (areadlinkat): Declare it.
32149         * modules/linkat (Depends-on): Add areadlinkat.
32150         * MODULES.html.sh (File system functions): Mention it.
32151         * modules/areadlinkat-tests: New test.
32152         * tests/test-areadlinkat.c: New file.
32153
32154         areadlink, areadlink-with-size: add tests
32155         * modules/areadlink-tests: New test.
32156         * modules/areadlink-with-size-tests: Likewise.
32157         * tests/test-areadlink.h: New file.
32158         * tests/test-areadlink.c: Likewise.
32159         * tests/test-areadlink-with-size.c: Likewise.
32160
32161         maint: minor cleanups
32162         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
32163         _UNUSED_PARAMETER_ instead.
32164         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
32165         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
32166         * modules/linkat-tests (Files): Distribute test-link.h.
32167
32168         openat, utimens: whitespace cleanup
32169         * lib/openat.c: Prefer space throughout, rather than mix of 8
32170         spaces vs. tabs.
32171         * lib/at-func.c: Likewise.
32172         * lib/utimens.c: Likewise.
32173
32174         openat: avoid using wrong fd
32175         * lib/openat.c (openat_permissive): Reject user's fd if saving the
32176         working directory chooses same fd.
32177         * lib/at-func.c (AT_FUNC_NAME): Likewise.
32178
32179         mkdir, mkdirat: fix cygwin 1.5.x bug
32180         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
32181         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
32182         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
32183         bug.
32184         (gl_PREREQ_MKDIR): Delete unused macro.
32185         * modules/mkdir (Files): Track file rename.
32186         (configure.ac): Update macro name.
32187         * modules/openat (Depends-on): Add mkdir.
32188         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
32189
32190         mkdir, mkdirat: add tests
32191         * modules/mkdir-tests: New test.
32192         * tests/test-mkdir.h: New file.
32193         * tests/test-mkdir.c: Likewise.
32194         * tests/test-mkdirat.c: Likewise.
32195         * modules/openat-tests (Files): Add new files.
32196         (Makefile.am): Run new test.
32197
32198 2009-10-06  Eric Blake  <ebb9@byu.net>
32199
32200         doc: tweak *at function documentation
32201         * doc/posix-functions/faccessat.texi (faccessat): Mention
32202         known issue with replacement.
32203         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
32204         * doc/posix-functions/linkat.texi (linkat): Likewise.
32205         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
32206         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
32207         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
32208         * doc/posix-functions/renameat.texi (renameat): Likewise.
32209         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
32210
32211         openat: fix GNU/Hurd bug in unlinkat
32212         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
32213         broken.
32214         * doc/posix-functions/unlink.texi (unlink): Document this.
32215         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
32216
32217         fdopendir: fix GNU/Hurd bug
32218         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
32219         allowing non-directory fds.
32220         * lib/fdopendir.c (rpl_fdopendir): Work around it.
32221         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
32222         * modules/dirent (Makefile.am): Substitute it.
32223         * lib/dirent.in.h (fdopendir): Declare replacement.
32224         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
32225         * tests/test-fdopendir.c (main): Test something other than
32226         /dev/null, since on Hurd that behaves like a directory.
32227
32228         test-symlink: port to GNU/Hurd
32229         * tests/test-symlink.h (test_symlink): Relax expected errno.
32230
32231         doc: tweak more cygwin information
32232         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
32233         now compatible with glibc.
32234         * doc/posix-functions/getopt.texi (getopt): Likewise.
32235
32236         getopt-gnu: add another test
32237         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
32238         guarantee behavior relied on by m4.
32239         * tests/test-getopt.c (main): Use it.
32240         * modules/getopt-posix-tests (Depends-on): Add setenv.
32241         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
32242
32243         getopt: fix compilation on darwin
32244         * lib/getopt.in.h (includes): Leave breadcrumbs during system
32245         include.
32246         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
32247         Reported by Ludovic Courtès.
32248
32249 2009-10-06  Bruno Haible  <bruno@clisp.org>
32250
32251         * modules/size_max (Description): Discourage its use.
32252         Reported by Simon Josefsson.
32253
32254 2009-10-06  Jim Meyering  <meyering@redhat.com>
32255
32256         linkat: avoid compilation failure
32257         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
32258
32259 2009-10-05  Eric Blake  <ebb9@byu.net>
32260
32261         linkat: support Linux 2.6.17
32262         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
32263         linkat on Linux, but allow cache variable override.
32264         * lib/linkat.c (rpl_linkat): Define override.
32265         * modules/linkat (Depends-on): Add symlinkat.
32266         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
32267         * modules/unistd (Makefile.am): Substitute it.
32268         * lib/unistd.in.h (linkat): Declare replacement.
32269         Reported by Pádraig Brady.
32270
32271         quotearg: port test to systems with C.UTF-8 locale
32272         * tests/test-quotearg.c (struct result_strings): Add another
32273         member, differentiating between C.ASCII and C.UTF-8 handling.
32274         (compare_strings): Add parameter.
32275         (main): Adjust all callers.
32276
32277         getopt: avoid clash with FreeBSD _getopt_internal
32278         * lib/getopt.in.h (_getopt_internal): Override the name.
32279         * lib/getopt_int.h (includes): Pick up any overrides.
32280         Reported by Reuben Thomas.
32281
32282         hash: allow C89 compilation
32283         * lib/hash.c (check_tuning): Move declaration before statement.
32284         Reported by Reuben Thomas.
32285
32286 2009-10-05  Karl Berry  <karl@gnu.org>
32287
32288         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
32289
32290 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
32291             Bruno Haible  <bruno@clisp.org>
32292
32293         * lib/uname.c (uname): Use a table-driven algorithm to compute
32294         Windows NT versions.
32295
32296 2009-10-04  Bruno Haible  <bruno@clisp.org>
32297
32298         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
32299         program_invocation_short_name.
32300         * modules/progname (configure.ac): Test for presence of
32301         program_invocation_short_name.
32302         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
32303
32304 2009-10-04  Bruno Haible  <bruno@clisp.org>
32305
32306         * lib/progname.c (set_program_name): Fix comment.
32307         Reported by Jim Meyering.
32308
32309 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
32310             Bruno Haible  <bruno@clisp.org>
32311
32312         * lib/uname.c: Include <string.h>.
32313         (uname): Do only one call to GetVersionEx in the common case.
32314
32315 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
32316             Bruno Haible  <bruno@clisp.org>
32317
32318         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
32319         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
32320         (uname): Add support for Windows CE and various non-x86 CPU types.
32321
32322 2009-10-03  Bruno Haible  <bruno@clisp.org>
32323
32324         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
32325         invocation to tests/configure.ac.
32326         Reported by Ian Beckwith <ianb@erislabs.net>.
32327
32328 2009-10-02  Eric Blake  <ebb9@byu.net>
32329
32330         fchdir: avoid compiler warning
32331         * lib/fchdir.c (canonicalize_file_name)
32332         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
32333
32334         test-open: support mingw errno values
32335         * tests/test-open.h (test_open): Relax test.
32336         * tests/test-fopen.h (test_fopen): Likewise.
32337         * tests/test-openat-safer.c (main): Likewise.
32338
32339         open: fix opening directory on mingw
32340         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
32341
32342         test-open: on GNU/Hurd, /dev/null is a directory
32343         * tests/test-fopen.h (main): Rename...
32344         (test_fopen): ...to this.  Use a guaranteed non-directory when
32345         confirming open behavior on trailing slash.
32346         * tests/test-openat-safer.c (main): Likewise.
32347         * tests/test-open.h (main): Likewise....
32348         (test_open): ...to this.
32349         * tests/test-fopen.c (main): Adjust caller.
32350         * tests/test-fopen-safer.c (main): Likewise.
32351         * tests/test-open.c (main): Likewise.
32352         * tests/test-fcntl-safer.c (main): Likewise.
32353         Reported by Samuel Thibault.
32354
32355         rename, fchdir: don't ignore chdir failure
32356         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
32357         * lib/rename.c (rpl_rename) [W32]: Likewise.
32358         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
32359         an empty destination directory if source cannot be renamed,
32360         although there is still possibility for failure.
32361         * doc/posix-functions/rename.texi (rename): Document the race.
32362         Reported by Jim Meyering.
32363
32364         maint: cleanup whitespace in recent commits
32365         * lib/rename.c (rpl_rename): Remove tabs.
32366         * tests/test-link.h (test_link): Likewise.
32367         * lib/fchdir.c (get_name): Likewise.
32368         Reported by Jim Meyering.
32369
32370 2009-10-02  Ben Pfaff  <blp@gnu.org>
32371
32372         relocatable-prog-wrapper: Add missing dependency on
32373         double-slash-root.
32374         * modules/relocatable-prog-wrapper: Add dependency.
32375         Reported by Ian Beckwith <ianb@erislabs.net>.
32376
32377 2009-10-02  Eric Blake  <ebb9@byu.net>
32378
32379         renameat: fix Solaris bugs
32380         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
32381         needed fixing.
32382         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
32383         * modules/stdio (Makefile.am): Substitute it.
32384         * lib/stdio.in.h (renameat): Declare replacement.
32385         * lib/renameat.c (rpl_renameat): Implement fix.
32386
32387         renameat: new module
32388         * modules/renameat: New file.
32389         * lib/renameat.c (renameat): Likewise.
32390         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
32391         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
32392         * modules/stdio (Makefile.am): Substitute them.
32393         * lib/stdio.in.h (renameat): Declare it.
32394         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
32395         * doc/posix-functions/renameat.texi (renameat): Likewise.
32396         * modules/renameat-tests: New test.
32397         * tests/test-renameat.c: Likewise.
32398
32399         rename: fix mingw bugs
32400         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
32401         directory overwrite bugs.
32402
32403         rename: fix another cygwin 1.5 bug
32404         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
32405         checks.
32406         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
32407         unnecessary cygwin workarounds.  Also work around bug with moving
32408         full directory onto an empty one.
32409         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
32410
32411         rename-dest-slash: merge into rename module
32412         * modules/rename-dest-slash (Status): Mark obsolete.
32413         (Depends-on): Add rename.
32414         (Files): Let rename do it all.
32415         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
32416         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
32417         * m4/rename-dest-slash.m4: ...so this file can be deleted.
32418         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
32419         * lib/rename.c (rpl_rename): Update comments.
32420
32421         rename: fix cygwin 1.5.x bugs
32422         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
32423         * lib/rename.c (rpl_rename): Work around them.
32424         * modules/rename (Depends-on): Add same-inode.
32425
32426         rename: fix Solaris 10 bug
32427         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
32428         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
32429         was the only bug.
32430
32431         rename: fix Solaris 9 bug
32432         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
32433         on non-directory.  Avoid calling exit.
32434         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
32435         strdup.
32436         * modules/rename-tests (Depends-on): Drop lstat.
32437         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
32438         (gl_PREREQ_RENAME): Delete unused macro.
32439
32440         rename-dest-slash: fix NetBSD bug
32441         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
32442         links.
32443         * modules/rename-dest-slash (Depends-on): Add same-inode.
32444
32445         rename-tests: new test, exposes several platform bugs
32446         * modules/rename-tests: New file.
32447         * tests/test-rename.h: Likewise.
32448         * tests/test-rename.c: Likewise.
32449         * doc/posix-functions/rename.texi (rename): Improve documentation,
32450         including bugs that will eventually be fixed in gnulib.
32451
32452 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
32453
32454         * lib/uname.c: Include <stdlib.h>
32455         (uname): Assume version info is available.
32456
32457 2009-10-02  Jim Meyering  <meyering@redhat.com>
32458
32459         gnu-web-doc-update: correct --help output
32460         * build-aux/gnu-web-doc-update: Make --help output relevant.
32461
32462         gnu-web-doc-update: add standard options
32463         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
32464
32465         gnu-web-doc-update: New module.
32466         Use this script to automatically update the on-line web documentation
32467         for your GNU project at http://www.gnu.org/software/$pkg/manual/
32468         * modules/gnu-web-doc-update: New file, from coreutils.
32469         * build-aux/gnu-web-doc-update: New script.
32470
32471 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
32472
32473         link: LoadLibrary is not needed.
32474         * lib/link.c: Use GetModuleHandle.
32475
32476 2009-10-01  Eric Blake  <ebb9@byu.net>
32477
32478         getopt: bump serial number
32479         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
32480         change.
32481
32482         tests: tighten link, rmdir, and remove tests
32483         * tests/test-link.h (includes): No need to use <config.h> here.
32484         Clean up if directory hard link was created, otherwise test for
32485         trailing '.'.
32486         * tests/test-linkat.c (main): Simplify.
32487         * tests/test-remove.c (main): Enhance test for trailing '.'.
32488         * tests/test-rmdir.h (test_rmdir_func): Likewise.
32489
32490 2009-10-01  Jim Meyering  <meyering@redhat.com>
32491
32492         maint.mk: requiring "make major" was annoying, for a "minor" release.
32493         What is intended is "stable", to contrast with alpha and beta,
32494         so require "make stable", not "make major".
32495         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
32496         (get_tool_versions): Likewise.
32497         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
32498
32499 2009-09-30  Ben Pfaff  <blp@gnu.org>
32500
32501         Fix broken build of replacement for Windows tmpfile().
32502         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
32503         flags argument added along with the 'mkostemp' module.
32504
32505 2009-09-28  Bruno Haible  <bruno@clisp.org>
32506
32507         Avoid identifier clash with POSIX function 'remove' defined as a macro.
32508         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
32509         to 'remove_elt'.
32510         (gl_list_remove): Update.
32511         * lib/gl_list.c (gl_list_remove): Update.
32512         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
32513         to 'remove_elt'.
32514         (gl_oset_remove): Update.
32515         * lib/gl_list.c (gl_oset_remove): Update.
32516         Reported by Eric Blake.
32517
32518 2009-09-28  Eric Blake  <ebb9@byu.net>
32519
32520         doc: mention yet more cygwin 1.7 status
32521         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
32522         cygwin.
32523         * doc/glibc-functions/execvpe.texi (execvpe): New file.
32524         * doc/gnulib.texi (Glibc unistd.h): Mention it.
32525
32526         argp: fix test failure
32527         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
32528         that are not upper-case.  Pass correct range to tolower.
32529
32530 2009-09-27  Jim Meyering  <meyering@redhat.com>
32531
32532         test-yesno: work around sparc-dash here-document infelicity
32533         Without this change, the literal \177 byte in a here document
32534         would make dash 0.5.5.1-3 access uninitialized memory.
32535         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
32536         Instead, use a marker, "@", and filter through tr to create the desired
32537         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
32538
32539 2009-09-27  Bruno Haible  <bruno@clisp.org>
32540
32541         Disable untested support for new flavours of ACLs on AIX.
32542         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
32543         progress.
32544         * lib/set-mode-acl.c (qset_acl): Likewise.
32545
32546 2008-12-07  Bruno Haible  <bruno@clisp.org>
32547
32548         Add support for new flavours of ACLs on AIX. (Untested.)
32549         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
32550         (file_has_acl): Add support for newer AIX.
32551         * lib/set-mode-acl.c (qset_acl): Likewise.
32552         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
32553         Rainer Tammer <tammer@tammer.net>.
32554
32555 2009-09-26  Eric Blake  <ebb9@byu.net>
32556
32557         argp: fix compilation of getopt
32558         * lib/getopt.in.h (includes): Use different guard than glibc.
32559         Reported by Sergey Poznyakoff.
32560
32561         doc: mention more cygwin 1.7 status
32562         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
32563         bug.
32564         * doc/posix-functions/execl.texi (execl): Likewise.
32565         * doc/posix-functions/execle.texi (execle): Likewise.
32566         * doc/posix-functions/execlp.texi (execlp): Likewise.
32567         * doc/posix-functions/execv.texi (execv): Likewise.
32568         * doc/posix-functions/execve.texi (execve): Likewise.
32569         * doc/posix-functions/execvp.texi (execvp): Likewise.
32570         * doc/glibc-functions/canonicalize_file_name.texi
32571         (canonicalize_file_name): Cygwin 1.7 now provides this.
32572         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
32573         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
32574         on AT_SYMLINK_NOFOLLOW.
32575
32576 2009-09-24  Eric Blake  <ebb9@byu.net>
32577
32578         test-linkat: make test more robust
32579         * tests/test-linkat.c (main): Avoid collision with EEXIST.
32580
32581         getopt: fix inclusion guards for cygwin
32582         * modules/getopt-posix (Depends-on): Add include-next.
32583         (Makefile.am): Substitute more items in replacement header.
32584         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
32585         <getopt.h>.
32586         * lib/getopt.in.h (includes): Use split inclusion guard, and
32587         prefer <getopt.h> over include <unistd.h> when one is present.
32588         (option): Also override name of 'struct option'.
32589
32590         same-inode: revert prior change; it is not yet ready
32591         * NEWS: Undo mention of this change.
32592         * lib/same-inode.h (same-inode.h): Undo tri-state change.
32593         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
32594         * lib/cycle-check.c (cycle_check): Likewise.
32595         * lib/same.c (same_name): Likewise.
32596         * lib/at-func2.c (at_func2): Likewise.
32597
32598 2009-09-23  Eric Blake  <ebb9@byu.net>
32599
32600         linkat: new module
32601         * modules/linkat: New file.
32602         * lib/at-func2.c (at_func2): Likewise.
32603         * lib/linkat.c (linkat): Likewise.
32604         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
32605         * lib/openat-priv.h (at_func2): Add declaration.
32606         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
32607         * modules/unistd (Makefile.am): Substitute them.
32608         * lib/unistd.in.h (linkat): Declare it.
32609         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
32610         * doc/posix-functions/linkat.texi (linkat): Likewise.
32611         * doc/posix-functions/link.texi (link): Tweak wording.
32612         * tests/test-link.c (main): Move guts...
32613         * tests/test-link.h (test_link): ...into new file.
32614         * modules/linkat-tests: New test.
32615         * tests/test-linkat.c: Likewise.
32616         * modules/link-tests (Files): Ship new file.
32617         (Depends-on): Add stdbool.
32618
32619         dirname: add library-safe mdir_name
32620         * lib/dirname.h (mdir_name): New prototype.
32621         * lib/dirname.c (dir_name): Move guts...
32622         (mdir_name): ...to new function that avoids xalloc_die.
32623
32624         fchdir: another mingw fix
32625         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
32626         * lib/fchdir.c (get_name): New helper method; skips canonicalize
32627         on mingw (where it has not yet been ported), and make it optional
32628         elsewhere.
32629         (_gl_register_fd): Use it.
32630
32631         same-inode: make SAME_INODE tri-state, to port to mingw
32632         * NEWS: Mention this change.
32633         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
32634         st_ino always being 0.
32635         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
32636         * lib/cycle-check.c (cycle_check): Likewise.
32637         * lib/same.c (same_name): Likewise.
32638
32639         lstat: avoid mingw compilation error
32640         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
32641         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
32642         lstat ourselves.
32643         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
32644         was adequate.
32645         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
32646         the checks for lstat.
32647         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
32648
32649         link: fix test failure on Solaris 9
32650         * lib/link.c (rpl_link): Don't assume link will catch bogus
32651         trailing slash on source.
32652
32653         test-symlinkat: enhance test
32654         * tests/test-readlink.c (main): Move guts...
32655         * tests/test-readlink.h (test_readlink): ...into new file.
32656         * tests/test-symlink.c (main): Move guts...
32657         * tests/test-symlink.h (test_symlink): ...into new file.
32658         * tests/test-symlinkat.c (main): Use new files for further
32659         coverage.
32660         (do_symlink, do_readlink): New helper functions.
32661         * modules/symlink-tests (Files): Ship new file.
32662         (Depends-on): Add stdbool.
32663         * modules/readlink-tests (Files): Ship new file.
32664         (Depends-on): Add stdbool.
32665         * modules/symlinkat-tests (Files): Use new files.
32666
32667 2009-09-23  Eric Blake  <ebb9@byu.net>
32668
32669         readlink: document portability issue with symlink length
32670         * doc/posix-functions/lstat.texi (lstat): Mention that some file
32671         systems have bogus st_size on symlinks, and mention the
32672         areadlink-with-size module.
32673         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
32674         * doc/posix-functions/readlink.texi (readlink): Mention the
32675         areadlink module, and ERANGE failure.
32676         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
32677         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
32678
32679         readlink: fix Solaris 9 bug with trailing slash
32680         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
32681         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
32682         * doc/posix-functions/readlink.texi (readlink): Document this.
32683         * modules/readlink-tests: New test.
32684         * tests/test-readlink.c: Likewise.
32685
32686         readlink: fix cygwin 1.5.x bug with return type
32687         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
32688         * lib/unistd.in.h (readlink): Use ssize_t.
32689         * lib/readlink.c (readlink): Likewise.
32690         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32691         * modules/unistd (Makefile.am): Substitute it.
32692         * lib/unistd.in.h (readlink): Declare replacement.
32693         * doc/posix-functions/readlink.texi (readlink): Document this.
32694
32695         symlink: use throughout gnulib
32696         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
32697         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
32698         symlink is not used.
32699         * modules/symlinkat (Depends-on): Add symlink.
32700         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
32701         * modules/canonicalize-tests (Depends-on): Likewise.
32702         * modules/lstat-tests (Depends-on): Likewise.
32703         * modules/openat-tests (Depends-on): Likewise.
32704         * modules/remove-tests (Depends-on): Likewise.
32705         * modules/rmdir-tests (Depends-on): Likewise.
32706         * modules/unlink-tests (Depends-on): Likewise.
32707         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
32708         * tests/test-canonicalize.c (symlink): Likewise.
32709         * tests/test-fstatat.c (symlink): Likewise.
32710         * tests/test-lstat.c (symlink): Likewise.
32711         * tests/test-remove.c (symlink): Likewise.
32712         * tests/test-rmdir.c (symlink): Likewise.
32713         * tests/test-unlink.c (symlink): Likewise.
32714         * tests/test-unlinkat.c (symlink): Likewise.
32715
32716         symlink: new module, for Solaris 9 bug
32717         * modules/symlink: New file.
32718         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
32719         * lib/symlink.c: Likewise.
32720         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
32721         * modules/unistd (Makefile.am): Substitute them.
32722         * lib/unistd.in.h (symlink): Declare replacement.
32723         * MODULES.html.sh (File system functions): Mention it.
32724         * doc/posix-functions/symlink.texi (symlink): Likewise.
32725         * modules/symlink-tests: New test.
32726         * tests/test-symlink.c: Likewise.
32727
32728 2009-09-23  Bruno Haible  <bruno@clisp.org>
32729
32730         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
32731         when needed.
32732         Test case: gnulib-tool --import --with-tests atexit inttypes.
32733         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
32734
32735 2009-09-23  Bruno Haible  <bruno@clisp.org>
32736
32737         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
32738         subcommand, not in a subshell.
32739
32740 2009-09-22  Eric Blake  <ebb9@byu.net>
32741
32742         unistd: sort replacement declarations
32743         * lib/unistd.in.h: Sort declarations.
32744
32745         open, openat: minor optimization
32746         * lib/open.c (open): If open succeeded, len is non-zero.
32747         * lib/openat.c (rpl_openat): Likewise.
32748
32749         link-follow: ensure correct result
32750         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
32751         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
32752         distinguish between possible failures.
32753
32754 2009-09-21  Eric Blake  <ebb9@byu.net>
32755
32756         fts: avoid compiler warning
32757         * lib/fts.c (dirent_inode_sort_may_be_useful)
32758         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
32759
32760 2009-09-19  Bruno Haible  <bruno@clisp.org>
32761
32762         * lib/progreloc.c (canonicalize_file_name): New declaration.
32763
32764 2009-09-19  Eric Blake  <ebb9@byu.net>
32765
32766         link: fix quoting
32767         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
32768
32769         openat: fix openat bugs on Solaris 9
32770         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
32771         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
32772         * modules/openat (Depends-on): Add open.
32773         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
32774         * modules/fcntl-h (Makefile.am): Substitute it.
32775         * lib/fcntl.in.h (openat): Declare replacement.
32776         * doc/posix-functions/openat.texi (openat): Document this.
32777
32778         openat: move fstatat and unlinkat into correct files
32779         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
32780         compiled.
32781         * lib/openat.c (fstatat, unlinkat): Move...
32782         * lib/fstatat.c (fstatat): ...into correct files.
32783         * lib/unlinkat.c (unlinkat): Likewise.
32784
32785         openat: fix unlinkat bugs on Solaris 9
32786         * lib/unlinkat.c (unlinkat): New file.
32787         * modules/openat (Depends-on): Add unlink.
32788         (Files): Distribute it.
32789         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
32790         trailing slash behavior is broken.
32791         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32792         * modules/unistd (Makefile.am): Substitute it.
32793         * lib/unistd.in.h (unlinkat): Declare replacement.
32794         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
32795
32796         openat: fix fstatat bugs on Solaris 9
32797         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
32798         stat.
32799         * doc/posix-functions/fstatat.texi (fstatat): Document this.
32800
32801         test-unlinkat: enhance test, to expose Solaris 9 bug
32802         * tests/test-unlink.c (main): Factor guts...
32803         * tests/test-unlink.h (test_rmdir_func): ...into new file.
32804         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
32805         * tests/test-rmdir.c (main): Adjust caller.
32806         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
32807         (unlinker): New helper function.
32808         (rmdirat): Enhance check.
32809         * modules/rmdir-tests (Depends-on): Add stdbool.
32810         * modules/unlink-tests (Depends-on): Likewise.
32811         (Files): Add test-unlink.h.
32812         * modules/openat-tests (Files): Likewise.
32813         (Depends-on): Add unlinkdir.
32814
32815         test-fstatat: new test, to expose Solaris 9 bugs
32816         * tests/test-stat.c (main): Factor guts...
32817         * tests/test-stat.h (test_stat_func): ...into new file.
32818         * tests/test-lstat.c (main): Factor guts...
32819         * tests/test-lstat.h (test_lstat_func): ...into new file.
32820         * tests/test-fstatat.c: New file.
32821         * modules/stat-tests (Files): Add test-stat.h.
32822         * modules/lstat-tests (Files): Add test-lstat.h.
32823         (Depends-on): Add stdbool.
32824         * modules/openat-tests (Depends-on): Add pathmax.
32825         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
32826         (Makefile.am): Run new test.
32827
32828         remove: new module, for mingw and Solaris 9 bugs
32829         * modules/remove: New file.
32830         * lib/remove.c: Likewise.
32831         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
32832         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
32833         * modules/stdio (Makefile.am): Use them.
32834         * lib/stdio.in.h (remove): Declare replacement.
32835         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
32836         * doc/posix-functions/remove.texi (remove): Likewise.
32837         * modules/remove-tests: New test.
32838         * tests/test-remove.c: Likewise.
32839
32840         unlink: new module, for Solaris 9 bug
32841         * modules/unlink: New file.
32842         * lib/unlink.c: Likewise.
32843         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
32844         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
32845         * modules/unistd (Makefile.am): Use them.
32846         * lib/unistd.in.h (stat): Declare replacement.
32847         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
32848         * doc/posix-functions/unlink.texi (unlink): Likewise.
32849         * modules/unlink-tests: New test.
32850         * tests/test-unlink.c: Likewise.
32851
32852         lstat: fix Solaris 9 bug
32853         * lib/lstat.c (lstat): Also check for trailing slash on
32854         non-symlink, non-directories.  Use stat module to simplify logic.
32855         * doc/posix-functions/lstat.texi (lstat): Document it.
32856         * modules/lstat-tests (Depends-on): Add errno, same-inode.
32857         (configure.ac): Check for symlink.
32858         * tests/test-lstat.c (main): Add more tests.
32859
32860         stat: add as dependency to other modules
32861         * modules/chown (Depends-on): Add stat.
32862         * modules/euidaccess (Depends-on): Likewise.
32863         * modules/fchdir (Depends-on): Likewise.
32864         * modules/isdir (Depends-on): Likewise.
32865         * modules/link (Depends-on): Likewise.
32866         * modules/lstat (Depends-on): Likewise.
32867         * modules/mkdir-p (Depends-on): Likewise.
32868         * modules/modechange (Depends-on): Likewise.
32869         * modules/open (Depends-on): Likewise.
32870         * modules/readlink (Depends-on): Likewise.
32871         * modules/same (Depends-on): Likewise.
32872
32873         stat: fix Solaris 9 bug
32874         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
32875         slash.
32876         * lib/stat.c (rpl_stat): Work around it.
32877         * doc/posix-functions/stat.texi (stat): Update documentation.
32878
32879         stat: new module, for mingw bug
32880         * modules/stat: New file.
32881         * lib/stat.c: Likewise.
32882         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
32883         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
32884         * modules/sys_stat (Makefile.am): Use them.
32885         * lib/sys_stat.in.h (stat): Declare replacement.
32886         * lib/openat.c (fstatat): Deal with lstat and stat being function
32887         macros.
32888         * modules/openat (Depends-on): Add inline.
32889         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
32890         * doc/posix-functions/stat.texi (stat): Likewise.
32891         * modules/stat-tests: New test.
32892         * tests/test-stat.c: Likewise.
32893
32894 2009-09-19  Jim Meyering  <meyering@redhat.com>
32895
32896         syntax-check: detect unnecessary inclusion of canonicalize.h
32897         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
32898
32899 2009-09-19  Eric Blake  <ebb9@byu.net>
32900
32901         canonicalize-lgpl: adjust clients to use correct header
32902         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
32903         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
32904         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
32905         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
32906         * lib/progreloc.c (includes): Likewise.
32907
32908 2009-09-19  Jim Meyering  <meyering@redhat.com>
32909
32910         test-posixtm.c: correct a comment
32911         * tests/test-posixtm.c: Correct first-line comment.
32912         Spotted by Eric Blake.
32913
32914 2009-09-16  Jim Meyering  <meyering@redhat.com>
32915
32916         posixtm-tests: make T const-correct; add a test case
32917         * tests/test-posixtm.c (T): Declare const.
32918         Add a test for -(2^31+1).
32919         Remove useless can-succeed-only-in-2002 test.
32920
32921         posixtm-tests: adjust the sole failing test
32922         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
32923         expected output matches what mktime now produces.  Cross-checked via
32924         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
32925
32926         posixtm: move #ifdef'd tests into a new module
32927         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
32928         * tests/test-posixtm.c: ... this new file.
32929         * modules/posixtm-tests: New module.
32930
32931 2009-09-19  Eric Blake  <ebb9@byu.net>
32932
32933         openat: simplify use of at-func.c
32934         * lib/at-func.c (includes): Include prerequisites here, to
32935         simplify requirements on client files.
32936         * lib/openat-priv.h: Add double-inclusion guard.
32937         * lib/faccessat.c (includes): Simplify.
32938         * lib/fchmodat.c (includes): Likewise.
32939         * lib/fchownat.c (includes): Likewise.
32940         * lib/mkdirat.c (includes): Likewise.
32941         * lib/mkfifoat.c (includes): Likewise.
32942         * lib/symlinkat.c (includes): Likewise.
32943
32944         openat: allow return of fd 0
32945         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
32946         * modules/save-cwd (Depends-on): Replace fcntl-safer with
32947         unistd-safer.
32948         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
32949         <fcntl.h>; this module does not leak fds.
32950         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
32951         must be allowed to return 0, leaving openat_safer to add the
32952         safety.
32953         (openat_permissive): Avoid writing to just-opened fd 2 if
32954         restoring the current directory fails.
32955         * lib/openat-die.c (openat_restore_fail): Add comment.
32956         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
32957         (save_cwd): Guarantee safe fd, but without use of open_safer.
32958         * tests/test-openat.c: New test.
32959         * modules/openat-tests (Files, Makefile.am): Distribute and build
32960         new file.
32961
32962         relocatable-prog-wrapper: fix build
32963         * modules/relocatable-prog-wrapper (Files): Update name of
32964         canonicalize m4 file, broken on 2009-09-17.
32965         Reported by emad hajjar <aleppos@hotmail.com>.
32966
32967 2009-09-19  Bruno Haible  <bruno@clisp.org>
32968
32969         * lib/safe-alloc.h: Use the standard header with GPL copyright.
32970         * lib/safe-alloc.c: Likewise.
32971         Reported by Ian Beckwith <ianb@erislabs.net>.
32972
32973 2009-09-18  Bruno Haible  <bruno@clisp.org>
32974
32975         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
32976         Reported by <erobles@sensacd.com.mx>.
32977
32978 2009-09-17  Eric Blake  <ebb9@byu.net>
32979
32980         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
32981         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
32982         slashes when checking if last component is missing.
32983         * tests/test-canonicalize.c (main): Test this.
32984
32985         canonicalize, canonicalize-lgpl: honor // if distinct from /
32986         * modules/canonicalize (Files): Add double-slash-root.m4.
32987         * modules/canonicalize-lgpl (Files): Likewise.
32988         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
32989         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
32990         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
32991         fallback definition.
32992         (canonicalize_filename_mode): Use it to protect //.
32993         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
32994         (__realpath): Likewise.
32995         * tests/test-canonicalize.c (main): Test this.
32996         * tests/test-canonicalize-lgpl.c (main): Likewise.
32997         * modules/canonicalize-tests (Depends-on): Add same-inode.
32998         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
32999
33000         canonicalize-lgpl: fix glibc bug with trailing slash
33001         * m4/canonicalize-lgpl.m4: Move contents...
33002         * m4/canonicalize.m4: ...here.
33003         (gl_CANONICALIZE_LGPL): Factor realpath check...
33004         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
33005         glibc 2.3.5 bug, fixed 2005-04-27.
33006         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
33007         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
33008         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
33009         * modules/canonicalize-lgpl (Files): Manage file rename.
33010         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
33011         * modules/stdlib (Makefile.am): Substitute witness.
33012         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
33013         is needed.
33014         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
33015         replacement is required.
33016         * lib/canonicalize.c (canonicalize_file_name): Likewise.
33017         * doc/glibc-functions/canonicalize_file_name.texi
33018         (canonicalize_file_name): Document this.
33019         * doc/posix-functions/realpath.texi (realpath): Likewise.
33020
33021         canonicalize-lgpl: reject non-directory with trailing slash
33022         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
33023         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
33024         catches failures in glibc 2.3.5.
33025         * tests/test-canonicalize.c (main): Likewise.
33026
33027         canonicalize-lgpl: use native realpath if it works
33028         * lib/canonicalize-lgpl.c (realpath): Guard with
33029         FUNC_REALPATH_WORKS.
33030         * lib/stdlib.in.h (realpath): Make declaration optional based on
33031         HAVE_REALPATH.
33032         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
33033         native realpath works.
33034         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
33035         * modules/stdlib (Makefile.am): Substitute witness.
33036
33037         canonicalize, canonicalize-lgpl: use <stdlib.h>
33038         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
33039         (Include): Mention <stdlib.h>.
33040         (configure.ac): Mention functions we provide.
33041         * modules/canonicalize (configure.ac): Likewise.
33042         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
33043         realpath if canonicalize_file_name is missing.
33044         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
33045         * modules/stdlib (Makefile.am): Substitute witnesses.
33046         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
33047         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
33048         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
33049         * NEWS: Document this.
33050         * doc/glibc-functions/canonicalize_file_name.texi
33051         (canonicalize_file_name): Likewise.
33052         * doc/posix-functions/realpath.texi (realpath): Likewise.
33053         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
33054
33055         test-canonicalize: consolidate into single C program
33056         * tests/test-canonicalize.sh: Delete; move setup into...
33057         * tests/test-canonicalize.c (main): ...the program, making it
33058         easier to run in debugger.  Add some tests.
33059         * modules/canonicalize-tests (Files): Remove unused file.
33060         (Depends-on): Add progname.
33061         (configure.ac, Makefile.am): Simplify.
33062
33063         test-canonicalize-lgpl: consolidate into single C program
33064         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
33065         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
33066         easier to run in debugger.  Add some tests.
33067         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
33068         (configure.ac, Makefile.am): Simplify.
33069
33070         canonicalize: avoid resolvepath
33071         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
33072         unnecessary checks.
33073         * lib/canonicalize.c (includes): Simplify.
33074         (canonicalize_file_name): Drop resolvepath implementation.
33075         * modules/canonicalize (Depends-on): Drop filenamecat.
33076
33077         canonicalize: don't lose errno
33078         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
33079         over calls to free.
33080
33081         canonicalize: simplify errno handling
33082         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
33083         assignment.
33084
33085         canonicalize, canonicalize-lgpl: update module dependencies
33086         * modules/canonicalize (Depends-on): Add extensions, lstat,
33087         pathmax, stdlib.
33088         (Files): Drop pathmax.h.
33089         (configure.ac): Adjust macro name.
33090         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
33091         lstat, stdlib, sys_stat.
33092         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
33093         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
33094         extensions.
33095         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
33096         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
33097         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
33098         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
33099         declaration, if available.
33100         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
33101         we can rely on the readlink module.
33102         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
33103         (includes): Use <unistd.h> unconditionally.
33104
33105 2009-09-17  Eric Blake  <ebb9@byu.net>
33106
33107         maint: make Include sections of modules consistent
33108         * modules/alloca: Use only header name; no need to list #include.
33109         * modules/alloca-opt: Likewise.
33110         * modules/arpa_inet: Likewise.
33111         * modules/canon-host: Likewise.
33112         * modules/configmake: Likewise.
33113         * modules/dirent: Likewise.
33114         * modules/eealloc: Likewise.
33115         * modules/environ: Likewise.
33116         * modules/fchdir: Likewise.
33117         * modules/fcntl: Likewise.
33118         * modules/fcntl-h: Likewise.
33119         * modules/gethrxtime: Likewise.
33120         * modules/gettime: Likewise.
33121         * modules/ignore-value: Likewise.
33122         * modules/inet_ntop: Likewise.
33123         * modules/inet_pton: Likewise.
33124         * modules/inttypes: Likewise.
33125         * modules/isnand-nolibm: Likewise.
33126         * modules/isnanf-nolibm: Likewise.
33127         * modules/mbchar: Likewise.
33128         * modules/mbfile: Likewise.
33129         * modules/mbiter: Likewise.
33130         * modules/mbuiter: Likewise.
33131         * modules/netdb: Likewise.
33132         * modules/netinet_in: Likewise.
33133         * modules/nproc: Likewise.
33134         * modules/pagealign_alloc: Likewise.
33135         * modules/poll: Likewise.
33136         * modules/printf-frexp: Likewise.
33137         * modules/pthread: Likewise.
33138         * modules/putenv: Likewise.
33139         * modules/random_r: Likewise.
33140         * modules/relocatable-prog: Likewise.
33141         * modules/search: Likewise.
33142         * modules/select: Likewise.
33143         * modules/selinux-h: Likewise.
33144         * modules/settime: Likewise.
33145         * modules/signal: Likewise.
33146         * modules/size_max: Likewise.
33147         * modules/socklen: Likewise.
33148         * modules/ssize_t: Likewise.
33149         * modules/stdarg: Likewise.
33150         * modules/stdbool: Likewise.
33151         * modules/stddef: Likewise.
33152         * modules/stdint: Likewise.
33153         * modules/stdio: Likewise.
33154         * modules/stdlib: Likewise.
33155         * modules/string: Likewise.
33156         * modules/strings: Likewise.
33157         * modules/sys_file: Likewise.
33158         * modules/sys_ioctl: Likewise.
33159         * modules/sys_select: Likewise.
33160         * modules/sys_socket: Likewise.
33161         * modules/sys_stat: Likewise.
33162         * modules/sys_time: Likewise.
33163         * modules/sys_times: Likewise.
33164         * modules/sys_utsname: Likewise.
33165         * modules/sys_wait: Likewise.
33166         * modules/sysexits: Likewise.
33167         * modules/time: Likewise.
33168         * modules/times: Likewise.
33169         * modules/tmpfile: Likewise.
33170         * modules/trim: Likewise.
33171         * modules/unistd: Likewise.
33172         * modules/wchar: Likewise.
33173         * modules/wctype: Likewise.
33174
33175 2009-09-17  Bruno Haible  <bruno@clisp.org>
33176
33177         Make getdate.y compile on QNX and NetBSD 5 / i386.
33178         * m4/getdate.m4 (gl_GETDATE): Conditionally define
33179         TIME_T_FITS_IN_LONG_INT.
33180         * lib/getdate.y (long_time_t): New type.
33181         (relative_time): Change type of 'seconds' field to long_time_t.
33182         (get_date): Update types of local variables. Check against overflow
33183         during conversion from long_time_t to time_t.
33184         Reported by Matt Kraai <kraai@ftbfs.org>
33185         and Hasso Tepper <hasso@netbsd.org>.
33186
33187 2009-09-17  Bruno Haible  <bruno@clisp.org>
33188
33189         * modules/COPYING: Update copyright years.
33190         * modules/README: Likeiwse.
33191         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
33192         Reported by Ian Beckwith <ianb@erislabs.net>.
33193
33194 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
33195
33196         * users.txt: Update references for gnuit package.
33197
33198 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
33199
33200         * m4/getdelim.m4: Fix typo in copyright line.
33201
33202 2009-09-17  Bruno Haible  <bruno@clisp.org>
33203
33204         * lib/atoll.c: Use the standard header with GPL copyright.
33205         * lib/argz.in.h: Likewise.
33206         * lib/glob.c: Likewise.
33207         * lib/glob-libc.h: Likewise.
33208         * lib/random_r.c: Likewise.
33209         * lib/siglist.h: Likewise.
33210         * lib/strsignal.c: Likewise.
33211         Reported by Ian Beckwith <ianb@erislabs.net>.
33212
33213 2009-09-17  Eric Blake  <ebb9@byu.net>
33214
33215         rmdir: ensure correct dependency order
33216         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
33217
33218 2009-09-17  Bruno Haible  <bruno@clisp.org>
33219
33220         Disable assertion that fails on NetBSD 5 / i386.
33221         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
33222         Reported by Sam Steingold <sds@gnu.org>
33223         and Hasso Tepper <hasso@netbsd.org>.
33224
33225 2009-09-16  Eric Blake  <ebb9@byu.net>
33226
33227         unlinkdir: port to mingw
33228         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
33229         on which no one can unlink a directory.
33230
33231         stdlib: sort witness names
33232         * modules/stdlib (Makefile.am): Sort replacements.
33233         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
33234         * lib/stdlib.in.h: Likewise.
33235
33236         parse-duration-tests: avoid link failure
33237         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
33238         LIBINTL.
33239         Reported by Tom G. Christensen.
33240
33241         openat-tests: ensure unlinkat behaves like rmdir
33242         * tests/test-rmdir.c (main): Factor guts...
33243         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
33244         * modules/rmdir-tests (Files): Ship new file.
33245         * modules/openat-tests: New test.
33246         * tests/test-unlinkat.c: Likewise.
33247
33248         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
33249         * modules/rmdir-errno (Status, Notice): Now obsolete.
33250
33251         rmdir: work around cygwin 1.5.x and mingw bugs
33252         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
33253         * lib/rmdir.c (rmdir): Work around it.
33254         * modules/rmdir (Status, Notice): No longer obsolete.
33255         (Files): Add dos.m4.
33256         (Depends-on): Add unistd.
33257         (configure.ac): Set witnesses.
33258         (License): Relax to LGPLv2+.
33259         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
33260         * modules/unistd (Makefile.am): Substitute witnesses.
33261         * lib/unistd.in.h (rmdir): Declare replacement.
33262         * doc/posix-functions/rmdir.texi (rmdir): Document this.
33263         * modules/rmdir-tests: New tests.
33264         * tests/test-rmdir.c: Likewise.
33265
33266 2009-09-15  Eric Blake  <ebb9@byu.net>
33267
33268         fchdir: improve use of replacement functions
33269         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
33270         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
33271         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
33272         REPLACE_CLOSEDIR.
33273         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
33274         * modules/sys_stat (Makefile.am): Substitute correct witness.
33275         * modules/dirent (Makefile.am): Likewise.
33276         * modules/unistd (Makefile.am): Likewise.
33277         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
33278         * lib/unistd.in.h (dup): Likewise.
33279         * lib/sys_stat.in.h (fstat): Likewise.
33280
33281         maint: ignore gnulib-tool temp files
33282         * .gitignore: Ignore files created during gnulib-tool --test.
33283
33284 2009-09-13  Jim Meyering  <meyering@redhat.com>
33285
33286         posixtm: don't reject a time that specify "60" as the number of seconds
33287         * lib/posixtm.c (posixtime): The code to reject invalid dates
33288         would also reject a time specified with the .60 suffix.
33289         But POSIX allows that, in order to accommodate leap seconds.
33290         So don't reject it.
33291         (main): Adjust tests accordingly.
33292         * modules/posixtm (Depends-on): Add stpcpy.
33293
33294 2009-09-11  Jim Meyering  <meyering@redhat.com>
33295
33296         announce-gen: include [$release_type] in emitted Subject:
33297         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
33298         e.g., [stable] in the emitted Subject: line.
33299
33300 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33301
33302         Remove obsolete macros from several modules.
33303         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
33304         obsolete Autoconf macros with their modern counterparts.
33305         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
33306         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
33307         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
33308         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
33309         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
33310         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
33311         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
33312         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
33313         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
33314         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
33315         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
33316         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
33317         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
33318         * m4/sockets.m4 (gl_SOCKETS): Likewise.
33319         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
33320         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
33321         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
33322         * m4/time_r.m4 (gl_TIME_R): Likewise.
33323         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
33324         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
33325         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
33326
33327         Fix copyright header in build-aux scripts.
33328         * build-aux/git-version-gen: Fix copyright header to match GPLv3
33329         recommendation.
33330         * build-aux/ncftpput-ftp: Likewise.
33331         * build-aux/update-copyright: Likewise.
33332
33333 2009-09-09  Eric Blake  <ebb9@byu.net>
33334
33335         test-link: allow Linux choice of errno
33336         * tests/test-link.c (main): Relax test for alternate error.
33337
33338         strndup: fix improper m4 caching
33339         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
33340         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
33341         (gl_PREREQ_STRNDUP): Delete.
33342         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
33343         * modules/string (Makefile.am): Substitute it.
33344         * lib/string.in.h (strndup): Modernize prototype.
33345
33346         getcwd: port to mingw
33347         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
33348         different from the POSIX assumptions made throughout the getcwd
33349         module; fortunately, the mingw getcwd does not need replacement.
33350         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
33351         * modules/getcwd-tests: New test.
33352         * tests/test-getcwd.c: Likewise.
33353
33354         link: fix platform bugs
33355         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
33356         * lib/link.c (link): Work around them.  Fix related mingw bug.
33357         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
33358         * modules/unistd (Makefile.am): Substitute it.
33359         * lib/unistd.in.h (link): Declare replacement.
33360         * doc/posix-functions/link.texi (link): Document this.
33361         * modules/link (Depends-on): Add strdup-posix, sys_stat.
33362
33363         test-link: consolidate into single C program, test more cases
33364         * tests/test-link.sh: Delete.
33365         * tests/test-link.c: Test more error conditions.  Exposes bugs on
33366         at least Cygwin and Solaris.
33367         * modules/link-tests (Files): Remove unused file.
33368         (Depends-on): Add errno, sys_stat.
33369         (Makefile.am): Simplify.
33370
33371 2009-09-08  Bruno Haible  <bruno@clisp.org>
33372
33373         Work around towlower, towupper bug on mingw.
33374         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
33375         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
33376         * doc/posix-functions/towlower.texi: Mention the mingw bug.
33377         * doc/posix-functions/towupper.texi: Likewise.
33378         Reported by Eric Blake.
33379
33380 2009-09-08  Jim Meyering  <meyering@redhat.com>
33381
33382         build: don't try to run autoheader if we don't use it
33383         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
33384         is not used in configure.ac.
33385
33386 2009-09-08  Eric Blake  <ebb9@byu.net>
33387
33388         euidaccess: fix compilation error
33389         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
33390
33391         rawmemchr: relax license
33392         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
33393         okay.
33394         Reported by Jim Meyering.
33395
33396         mkfifoat: new module
33397         * modules/mkfifoat: New file.
33398         * lib/mkfifoat.c: Likewise.
33399         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
33400         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
33401         * modules/sys_stat (Makefile.am): Use them.
33402         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
33403         * MODULES.html.sh (File system functions): Mention module.
33404         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
33405         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
33406         * modules/mkfifoat-tests: New test.
33407         * tests/test-mkfifoat.c: Likewise.
33408
33409         strchrnul: relax license
33410         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
33411         okay.
33412         Reported by Jim Meyering.
33413
33414 2009-09-08  Eric Blake  <ebb9@byu.net>
33415
33416         fstatat: fix compilation on Solaris
33417         * lib/fstatat.c (includes): Add fcntl.h.
33418         Reported by Pádraig Brady.
33419
33420 2009-09-07  Eric Blake  <ebb9@byu.net>
33421
33422         rename: modernize replacement
33423         * modules/rename (Depends-on): Add stdio.
33424         (configure.ac): Declare witness.
33425         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
33426         stdio take care of replacement.
33427         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
33428         * modules/stdio (Makefile.am): Substitute them.
33429         * lib/stdio.in.h (rename): Declare replacement.
33430         * lib/rename.c (includes): Allow cross-compilation to non-windows
33431         machines.
33432         * doc/posix-functions/rename.texi (rename): Improve
33433         documentation.
33434
33435         stdio: sort witness names
33436         * modules/stdio (Makefile.am): Sort replacements.
33437         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
33438         * lib/stdio.in.h: Likewise.
33439
33440         getcwd: minor cleanups
33441         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
33442         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
33443
33444         openat: provide more convenience names
33445         * modules/faccessat (configure.ac): Add C witness.
33446         * lib/unistd.in.h (readlinkat): Fix typo.
33447         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
33448         convenience wrappers.
33449         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
33450         wrappers in syntax checks.
33451
33452 2009-09-06  Eric Blake  <ebb9@byu.net>
33453
33454         doc: fix comments in recent patches
33455         * lib/faccessat.c: Mention correct function.
33456         * lib/fchmodat.c: Likewise.
33457         * lib/fchownat.c: Likewise.
33458         * lib/symlinkat.c: Likewise.
33459         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
33460         constants.
33461
33462         faccessat, symlinkat: continue cleanup of previous patch
33463         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
33464         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
33465         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
33466         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
33467         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
33468         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
33469         set.
33470
33471 2009-09-06  Bruno Haible  <bruno@clisp.org>
33472
33473         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
33474         (fstatat): Declare if GNULIB_FSTATAT is set.
33475         (mkdirat): Declare if GNULIB_MKDIRAT is set.
33476         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
33477         (unlinkat): Declare if GNULIB_UNLINKAT is set.
33478         * modules/fcntl-h (Files): Remove m4/openat.m4.
33479         * modules/sys_stat (Files): Remove m4/openat.m4.
33480         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
33481         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
33482         * modules/unistd (Files): Remove m4/openat.m4.
33483         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
33484         GNULIB_OPENAT.
33485         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
33486         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
33487         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
33488         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
33489         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
33490         gl_OPENAT_DEFAULTS.
33491         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
33492         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
33493         Don't require gl_OPENAT_DEFAULTS.
33494         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
33495         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
33496         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
33497         (gl_OPENAT_DEFAULTS): Remove macro.
33498
33499 2009-09-06  Bruno Haible  <bruno@clisp.org>
33500
33501         * modules/openat (configure.ac): Remove unneeded witness.
33502
33503 2009-09-06  Bruno Haible  <bruno@clisp.org>
33504
33505         Set errno to ENOSYS when a function is entirely unsupported.
33506         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
33507         EOPNOTSUPP.
33508         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
33509         * modules/chown (Depends-on): Remove errno.
33510
33511 2009-09-06  Bruno Haible  <bruno@clisp.org>
33512
33513         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
33514
33515 2009-09-06  Bruno Haible  <bruno@clisp.org>
33516
33517         * lib/sys_stat.in.h: Fix preprocessor command indentation.
33518
33519 2009-09-06  Ben Pfaff  <blp@gnu.org>
33520             Bruno Haible  <bruno@clisp.org>
33521
33522         Work around a glibc bug in strtok_r.
33523         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
33524         Undefine if UNDEFINE_STRTOK_R is set.
33525         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
33526         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
33527         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
33528         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
33529         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
33530         UNDEFINE_STRTOK_R.
33531         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
33532
33533 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
33534
33535         exclude: minor fix
33536         * lib/exclude.c: Include wctype.h
33537
33538 2009-09-06  Akim Demaille  <demaille@gostai.com>
33539
33540         bootstrap: improve error message
33541         * build-aux/bootstrap (find_tool): Upon failure, report the list
33542         of candidates.
33543         Honor the initial value of the envvar.
33544
33545 2009-09-05  Eric Blake  <ebb9@byu.net>
33546
33547         symlinkat: new module
33548         * modules/symlinkat: New file.
33549         * lib/symlinkat.c: Likewise.
33550         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
33551         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
33552         * modules/unistd (Makefile.am): Use them.
33553         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
33554         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
33555         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
33556         * MODULES.html.sh (File system functions): Mention module.
33557         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
33558         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
33559         * modules/symlinkat-tests: New test.
33560         * tests/test-symlinkat.c: Likewise.
33561
33562         test-openat-safer: add more checks
33563         * tests/test-openat-safer.c (main): Check more code paths.
33564
33565 2009-09-05  Jim Meyering  <meyering@redhat.com>
33566
33567         syntax-check: detect unnecessary inclusion of openat.h
33568         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
33569
33570 2009-09-05  Bruno Haible  <bruno@clisp.org>
33571
33572         Support towlower, towupper.
33573         * doc/posix-functions/towlower.texi: Mention module wctype.
33574         * doc/posix-functions/towupper.texi: Likewise.
33575         * lib/wctype.in.h (towlower, towupper): New functions.
33576         * tests/test-wctype.c: Include stdio.h, stdlib.h.
33577         (ASSERT): New macro.
33578         (e): New variable.
33579         (main): Test also towlower, towupper. Test WEOF argument.
33580         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
33581
33582 2009-09-05  Bruno Haible  <bruno@clisp.org>
33583
33584         Fix conversion behaviour when the input is invalid.
33585         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
33586         mark occurring in first pass of indirect conversion.
33587         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
33588         input.
33589         Found by clang's static analyzer.
33590
33591 2009-09-05  Bruno Haible  <bruno@clisp.org>
33592
33593         * tests/test-striconveh.c (main): Test indirect conversion on platforms
33594         where direct conversion is possible.
33595
33596 2009-09-04  Eric Blake  <ebb9@byu.net>
33597
33598         openat: fail with ENOENT on empty name
33599         * lib/openat-proc.c (openat_proc_name): Special-case the empty
33600         buffer.
33601
33602         link-follow: fix logic bug in prior patch
33603         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
33604         reversed sense of yes and no in prior patch.  Avoid confusing
33605         compilation failure with desired semantics.
33606
33607         link-follow: accomodate mingw and cross-compilation
33608         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
33609         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
33610         cross-compilation results to -1, to make linkat easier to
33611         implement when cross-compiling.  Trivially support mingw.
33612         * modules/link-follow (configure.ac): Call new name.
33613         * NEWS: Mention this.
33614
33615 2009-09-03  Eric Blake  <ebb9@byu.net>
33616
33617         faccessat: compile replacement
33618         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
33619         needed.
33620
33621         fts: fix compilation error
33622         * lib/fts.c (includes): Re-add "openat.h", for
33623         openat_needs_fchdir.
33624
33625         faccessat: new module
33626         * modules/faccessat: New file.
33627         * lib/faccessat.c: Likewise.
33628         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
33629         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
33630         * modules/unistd (Makefile.am): Use it.
33631         * lib/unistd.in.h (faccessat): Declare it.
33632         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
33633         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
33634         * MODULES.html.sh (File system functions): Mention it.
33635         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
33636         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
33637
33638         euidaccess: prefer POSIX over non-standard implementation
33639         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
33640         * lib/euidaccess.c (euidaccess): Use it if available.
33641
33642         openat: make template easier to use
33643         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
33644         AT_FUNC_F2 to be undefined.
33645         (VALIDATE_FLAG): New macro; use it to reject bad flags.
33646         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
33647         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
33648         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
33649         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
33650         Likewise.
33651         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
33652         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
33653         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
33654         Likewise.
33655
33656         openat: declare in POSIX headers
33657         * NEWS: Mention this.
33658         * modules/openat (configure.ac): Declare witnesses.
33659         (Depends-on): Add fcntl-h, sys_stat, unistd.
33660         (Include): Mention correct headers.
33661         * modules/fcntl-h (Depends-on): Add link-warning.
33662         (Files): Add openat.m4.
33663         (Makefile.am): Substitute witnesses.
33664         * modules/sys_stat (Files, Makefile.am): Likewise.
33665         * modules/unistd (Files, Makefile.am): Likewise.
33666         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
33667         (gl_OPENAT_DEFAULTS): New macro.
33668         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
33669         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
33670         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
33671         (SYS_STAT_H): Remove unused variable.
33672         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
33673         * lib/fcntl--.h (includes): Remove unneeded header.
33674         * lib/openat-safer.c (includes): Likewise.
33675         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
33676         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
33677         appropriate headers.
33678         (__OPENAT_PREFIX): Delete.
33679         * lib/fcntl.in.h (openat): Provide declaration.
33680         (AT_FDCWD): Fix Solaris bug.
33681         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
33682         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
33683         * lib/fchmodat.c (includes):  Adjust to find declaration.
33684         * lib/fchownat.c (includes): Likewise.
33685         * lib/mkdirat.c (includes): Likewise.
33686         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
33687         still visible.
33688
33689 2009-09-02  Eric Blake  <ebb9@byu.net>
33690
33691         errno: use consistently
33692         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
33693         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
33694         * lib/canonicalize.c (ELOOP): Likewise.
33695         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
33696         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
33697         * lib/lchown.c (EOPNOTSUPP): Likewise.
33698         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
33699         * lib/savewd.c (ESTALE): Likewise.
33700         * lib/settime.c (ENOSYS): Likewise.
33701         * lib/utimens.c (ENOSYS): Likewise.
33702         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
33703         * lib/chdir-safer.c (ELOOP): Likewise.
33704         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
33705         * modules/c-stack (Depends-on): Add errno.
33706         * modules/canonicalize (Depends-on): Likewise.
33707         * modules/chdir-safer (Depends-on): Likewise.
33708         * modules/fdopendir (Depends-on): Likewise.
33709         * modules/inet_ntop (Depends-on): Likewise.
33710         * modules/inet_pton (Depends-on): Likewise.
33711         * modules/lchown (Depends-on): Likewise.
33712         * modules/openat (Depends-on): Likewise.
33713         * modules/savewd (Depends-on): Likewise.
33714         * modules/settime (Depends-on): Likewise.
33715         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
33716
33717         fts: avoid leaking fds
33718         * modules/fts (Depends-on): Add cloexec.
33719         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
33720         flag.
33721
33722         fts: make directory fds more robust
33723         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
33724         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
33725
33726         backupfile, chdir-long, fts, savedir: make safer
33727         * lib/backupfile.c (includes): Use "dirent--.h", since
33728         numbered_backup can write to stderr during readdir.
33729         * lib/savedir.c (includes): Likewise.
33730         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
33731         emulation can write to stderr on failure.
33732         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
33733         * lib/getcwd.c: Document why opendir_safer is unused.
33734         * lib/glob.c: Likewise.
33735         * lib/scandir.c: Likewise.
33736         * lib/openat-proc.c: Likewise, for open_safer.
33737         * modules/backupfile (Depends-on): Add dirent-safer.
33738         * modules/savedir (Depends-on): Likewise.
33739         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
33740         * modules/chdir-long (Depends-on): Add openat-safer.
33741
33742         openat-safer: new module
33743         * modules/openat-safer: New file.
33744         * lib/openat-safer.c: Likewise.
33745         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
33746         * lib/fcntl-safer.h (openat_safer): Declare.
33747         * lib/fcntl--.h (openat): Override.
33748         * MODULES.html.sh (File descriptor based I/O): Mention it.
33749         * lib/openat.h: Add double-inclusion guards.
33750         * lib/openat.c (includes): Only include "fcntl-safer.h", not
33751         "fcntl--.h", so we can implement openat.
33752         * modules/openat-safer-tests: New test.
33753         * tests/test-openat-safer.c: New file.
33754
33755         dirent-safer: new module
33756         * modules/dirent-safer: New file.
33757         * lib/dirent--.h: Likewise.
33758         * lib/dirent-safer.h: Likewise.
33759         * lib/opendir-safer.c: Likewise.
33760         * m4/dirent-safer.m4: Likewise.
33761         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
33762         * modules/dirent-safer-tests: New test.
33763         * tests/test-dirent-safer.c: New file.
33764         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
33765
33766         fdopendir: optimize on mingw
33767         * lib/unistd.in.h (_gl_directory_name): New prototype.
33768         * lib/fchdir.c (_gl_directory_name): Implement it.
33769         (fchdir): Use it to simplify implementation.
33770         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
33771         fchdir, when available, to avoid calling [f]chdir().
33772
33773         fdopendir: split into its own module
33774         * lib/openat.c (fdopendir): Move...
33775         * lib/fdopendir.c: ...into new file.
33776         * modules/fdopendir: New module.
33777         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
33778         * modules/openat (Depends-on): Add fdopendir.
33779         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
33780         fdopendir here.
33781         * modules/savedir (Depends-on): Only need fdopendir, not full
33782         openat.
33783         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
33784         * lib/openat.h (fdopendir): Drop prototype.
33785         * lib/dirent.in.h (fdopendir): Provide prototype.
33786         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
33787         * modules/dirent (Makefile.am): Substitute them.
33788         * MODULES.html.sh (File system functions): Mention it.
33789         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
33790         * modules/fdopendir-tests: New file.
33791         * tests/test-fdopendir.c: Likewise.
33792
33793         fchdir: use more consistent macro convention
33794         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
33795         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
33796         REPLACE_FCHDIR, rather than relying on config.h macros.
33797         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
33798         inside a single make-time REPLACE_FCHDIR block, rather than using
33799         the config.h FCHDIR_REPLACEMENT.
33800         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
33801         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
33802         Manage fstat replacement.
33803         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
33804         REPLACE_FCHDIR.
33805         * modules/sys_stat (Files): Add m4/unistd_h.m4.
33806         (Makefile.am): Substitute REPLACE_FCHDIR.
33807         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
33808         FCHDIR_REPLACEMENT.
33809         * lib/dup-safer.c (dup_safer): Likewise.
33810         * lib/dup2.c (rpl_dup2): Likewise.
33811         * lib/dup3.c (rpl_dup3): Likewise.
33812         * lib/open.c (rpl_open): Likewise.
33813
33814         fchdir: simplify error handling, and support dup3
33815         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
33816         stdbool, malloc-posix, realloc-posix.
33817         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
33818         (ensure_dirs_slot): Return false on allocation failure.
33819         (rpl_dup2): Delete.
33820         (_gl_register_dup): New function.
33821         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
33822         (_gl_register_fd): Close fd on allocation failure.
33823         * lib/fcntl.in.h (_gl_register_fd): Update signature.
33824         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
33825         prototype.
33826         (rpl_dup2_fchdir): Delete prototype.
33827         * lib/open.c (open): Update caller.
33828         * lib/dup2.c (dup2): Track fchdir metadata.
33829         * lib/dup3.c (dup3): Likewise.
33830         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
33831         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
33832
33833 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33834
33835         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
33836         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
33837         don't pass arguments to AC_OUTPUT.
33838
33839 2009-09-02  Bruno Haible  <bruno@clisp.org>
33840
33841         * modules/mkdtemp (License): Relicense under LGPLv2+.
33842         Reported by Paolo Bonzini.
33843
33844 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33845
33846         Replace uses of obsolete autoconf macros in Jim's modules.
33847         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
33848         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
33849         can evoke a warning from autoconf when run with -Wobsolete
33850         enabled.  They were declared obsolete for good reasons (see
33851         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
33852         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
33853         should not continue using the deprecated macros.
33854         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
33855         obsolete Autoconf macros with modern counterparts.
33856         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
33857         * m4/dos.m4 (gl_AC_DOS): Likewise.
33858         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
33859         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
33860         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
33861         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
33862         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
33863         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
33864         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
33865         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
33866         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
33867         Likewise.
33868         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
33869         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
33870         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
33871         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
33872         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
33873         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
33874
33875 2009-09-01  Eric Blake  <ebb9@byu.net>
33876
33877         fchdir: fix off-by-one bug in previous patch
33878         * lib/fchdir.c (rpl_fstat): Use correct bounds.
33879         (_gl_unregister_fd): Delete useless if.
33880
33881 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
33882
33883         maint.mk: sort the list of syntax-check rules
33884         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
33885         easier to get a sense of progress when the rules are run sequentially
33886         and take a long time.
33887
33888 2009-09-01  Simon Josefsson  <simon@josefsson.org>
33889
33890         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
33891         * modules/netinet_in: Likewise.
33892         * modules/sys_file: Likewise.
33893         * modules/sys_ioctl: Likewise.
33894         * modules/sys_select: Likewise.
33895         * modules/sys_socket: Likewise.
33896         * modules/sys_stat: Likewise.
33897         * modules/sys_time: Likewise.
33898         * modules/sys_times: Likewise.
33899         * modules/sys_utsname: Likewise.
33900         * modules/sys_wait: Likewise.
33901
33902 2009-09-01  Jim Meyering  <meyering@redhat.com>
33903
33904         fts: help ensure that return values are not ignored
33905         * lib/fts_.h (__GNUC_PREREQ): Define.
33906         (__attribute_warn_unused_result__): Define.
33907         (fts_children, fts_close, fts_open, fts_read): Declare with
33908         __attribute_warn_unused_result__.
33909
33910         fts: fts_close now fails also when closing a dir file descriptor fails
33911         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
33912         and propagate to caller, along with errno.
33913
33914         announce-gen: correct formatting in --help output
33915         * build-aux/announce-gen (usage): Move the one-line description in
33916         --help output "up", to where it belongs, just after Usage:.
33917
33918 2009-08-31  Eric Blake  <ebb9@byu.net>
33919
33920         fchdir: port to mingw
33921         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
33922         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
33923         opened, then use a substitute.
33924         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
33925         replacement.
33926         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
33927         (_gl_register_fd): No need to check stat if open already filters
33928         all directories.
33929         (fchdir): Fix error condition to match POSIX.
33930         * modules/fchdir (Depends-on): Add sys_stat.
33931         * doc/posix-functions/open.texi (open): Document the limitation.
33932         * modules/fchdir-tests: New file.
33933         * tests/test-fchdir.c: Likewise.
33934
33935         canonicalize: allow cross-testing from cygwin to mingw
33936         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
33937         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
33938         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
33939         Likewise.
33940         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
33941         target does not support symlinks.
33942         * tests/test-canonicalize-lgpl.sh: Likewise.
33943
33944         chown: avoid compilation warning on mingw
33945         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
33946         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
33947         mingw.
33948         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
33949         * modules/chown (Depends-on): Add errno.
33950
33951 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
33952
33953         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
33954         command.
33955
33956 2009-08-31  Jim Meyering  <meyering@redhat.com>
33957
33958         canonicalize: remove useless initialization
33959         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
33960         initialization of local, "end".
33961
33962 2009-08-30  Bruno Haible  <bruno@clisp.org>
33963
33964         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
33965         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
33966         ENOSYS.
33967
33968 2009-08-30  Bruno Haible  <bruno@clisp.org>
33969
33970         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
33971         /usr/xpg4/bin/tr when it exists.
33972         * tests/test-pipe-filter-gi1.sh: Likewise.
33973
33974 2009-08-30  Bruno Haible  <bruno@clisp.org>
33975
33976         Work around deficient /usr/bin/id program on Solaris.
33977         * tests/test-file-has-acl.sh (ID): New variable.
33978         * tests/test-set-mode-acl.sh (ID): Likewise.
33979         * tests/test-copy-acl.sh (ID): Likewise.
33980         * tests/test-copy-file.sh (ID): Likewise.
33981
33982 2009-08-30  Bruno Haible  <bruno@clisp.org>
33983
33984         New module 'xstriconveh'.
33985         * lib/xstriconveh.h: New file.
33986         * lib/xstriconveh.c: New file.
33987         * modules/xstriconveh: New file.
33988
33989 2009-08-30  Bruno Haible  <bruno@clisp.org>
33990
33991         Make it easier to use mem_cd_iconveh.
33992         * lib/striconveh.h (iconveh_t): New type.
33993         (iconveh_open, iconveh_close): New declarations.
33994         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
33995         with a single 'const iconveh_t *' argument.
33996         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
33997         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
33998         with a single 'const iconveh_t *' argument.
33999         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
34000         * tests/test-striconveh.c (main): Update.
34001         * NEWS: Mention the change.
34002
34003 2009-08-30  Bruno Haible  <bruno@clisp.org>
34004
34005         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
34006         problem.
34007
34008 2009-08-30  Bruno Haible  <bruno@clisp.org>
34009
34010         Work around iconv_open problem on Solaris.
34011         * lib/iconv_open-solaris.gperf: New file.
34012         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
34013         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
34014         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
34015         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
34016         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
34017         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
34018
34019 2009-08-29  Jim Meyering  <meyering@redhat.com>
34020
34021         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
34022         * top/maint.mk (cvs-check): Remove target; it was just an alias
34023         to the better-named vc-diff-check.
34024         (maintainer-distcheck): Remove rule.  It was used only from
34025         the (alpha/beta/major) target, and all of its commands but one
34026         were coreutils-specific.
34027         (vc-dist): Remove rule.
34028         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
34029         Run vc-diff-check, not vc-dist.
34030         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
34031
34032 2009-08-27  Bruno Haible  <bruno@clisp.org>
34033
34034         * tests/test-bitrotate.c (main): Remove test that uses a shift count
34035         of 0.
34036
34037 2009-08-27  Bruno Haible  <bruno@clisp.org>
34038
34039         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
34040         compilers.
34041         * doc/func.texi: Document the SunPRO C bug.
34042
34043 2009-08-27  Bruno Haible  <bruno@clisp.org>
34044
34045         Fix link error on Solaris.
34046         * tests/test-parse-duration.c (xstrdup): Remove function.
34047
34048 2009-08-26  Pádraig Brady  <P@draigbrady.com>
34049
34050         ignore-value: handle pointer types, too
34051         * lib/ignore-value.h (__attribute__): Remove definition.
34052         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
34053         of a more concise and more-often effective "(void) i" statement.
34054         (ignore_ptr): New function to suppress warnings from functions that
34055         return pointers, and to make it explicit that one function doesn't
34056         handle all cases.
34057
34058 2009-08-25  Bruno Haible  <bruno@clisp.org>
34059
34060         dup2: work around a Linux bug.
34061         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
34062         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
34063         * doc/posix-functions/dup2.texi: Mention the Linux bug.
34064         Reported by Simon Josefsson.
34065
34066 2009-08-25  Jim Meyering  <meyering@redhat.com>
34067
34068         libguestfs uses gnulib
34069         * users.txt: Add libguestfs.
34070
34071 2009-08-24  Eric Blake  <ebb9@byu.net>
34072
34073         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
34074         * lib/pipe2.c (includes): Add binary-io.h.
34075         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
34076
34077 2009-08-24  Bruno Haible  <bruno@clisp.org>
34078
34079         Tolerate declared but missing accept4 syscall.
34080         * lib/accept4.c (accept4): Invoke original accept4 function first, if
34081         available.
34082         * lib/sys_socket.in.h (accept4): If the function is already present,
34083         override it.
34084         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
34085         * modules/accept4 (Makefile.am): Compile accept4.c always.
34086         Reported by Paolo Bonzini and Eric Blake.
34087
34088 2009-08-23  Bruno Haible  <bruno@clisp.org>
34089
34090         New module 'accept4'.
34091         * lib/sys_socket.in.h (accept4): New declaration.
34092         * lib/accept4.c: New file.
34093         * m4/accept4.m4: New file.
34094         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
34095         GNULIB_ACCEPT4, HAVE_ACCEPT4.
34096         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
34097         HAVE_ACCEPT4.
34098         * modules/accept4: New file.
34099         * doc/glibc-functions/accept4.texi: Mention the new module.
34100
34101 2009-08-24  Jim Meyering  <meyering@redhat.com>
34102
34103         progname: also set global program_invocation_name, when possible
34104         Before this change, a libtool-enabled program that calls glibc's
34105         error function would report the program name as
34106         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
34107         * modules/progname (configure.ac): Check for a declaration of
34108         program_invocation_name.
34109         * lib/progname.c:  Include <errno.h>.
34110         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
34111         Set program_invocation_name.
34112
34113 2009-08-23  Bruno Haible  <bruno@clisp.org>
34114
34115         * lib/dup3.c: Include <string.h>.
34116
34117 2009-08-23  Bruno Haible  <bruno@clisp.org>
34118
34119         * lib/dup3.c (dup3): Test only once whether the system actually exists.
34120         * lib/pipe2.c (pipe2): Likewise.
34121         Suggested by Eric Blake.
34122
34123 2009-08-23  Bruno Haible  <bruno@clisp.org>
34124
34125         Tolerate declared but missing dup3 syscall.
34126         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
34127         * lib/unistd.in.h (dup3): If the function is already present,
34128         override it.
34129         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
34130         * modules/dup3 (Makefile.am): Compile dup3.c always.
34131         Reported by Paolo Bonzini.
34132
34133 2009-08-23  Bruno Haible  <bruno@clisp.org>
34134
34135         Tolerate declared but missing pipe2 syscall.
34136         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
34137         available.
34138         * lib/unistd.in.h (pipe2): If the function is already present,
34139         override it.
34140         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
34141         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
34142         Reported by Paolo Bonzini.
34143
34144 2009-08-23  Bruno Haible  <bruno@clisp.org>
34145
34146         * lib/pipe2.c (pipe2): Move #ifs inside function.
34147
34148 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
34149
34150         quotearg: document limitations of quote_these_too
34151         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
34152         those limitations are created.
34153         * lib/quotearg.h (set_char_quoting): Document that digits and
34154         letters that are special after backslash are not permitted.
34155         (quotearg_char): Cross-reference set_char_quoting documentation.
34156
34157 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
34158
34159         quotearg: implement custom_quoting_style
34160         * lib/quotearg.c: (struct quoting_options): Add left_quote and
34161         right_quote fields.
34162         (set_custom_quoting): New public function.
34163         (quotearg_buffer_restyled): Add left_quote and right_quote
34164         arguments, handle them very much like locale quoting, and update
34165         all uses.
34166         (quotearg_n_custom): New public function.
34167         (quotearg_n_custom_mem): New public function.
34168         (quotearg_custom): New public function.
34169         (quotearg_custom_mem): New public function.
34170         * lib/quotearg.h: Prototype and document new public functions.
34171         (enum quoting_style): For escape_quoting_style and
34172         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
34173         ignored even though they're otherwise like c_quoting_style.
34174         Add custom_quoting_style member and document with comparison to
34175         clocale_quoting_style.
34176         * tests/test-quotearg.c (custom_quotes): New array.
34177         (custom_results): New array.
34178         (main): Extend to test custom quoting.
34179
34180 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
34181
34182         quotearg: fix right quote escaping when it's in quote_these_too
34183         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
34184         quote, be sure to prepend only one backslash.
34185         * tests/test-quotearg.c (use_quote_double_quotes): New function.
34186         (main): Test it.
34187
34188 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
34189
34190         quotearg-tests: test escaping of embedded locale quotes
34191         * tests/test-quotearg.c (struct result_strings): Add member for
34192         new input.
34193         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
34194         (inputs): Add new input.
34195         (results_g): Add expected results.
34196         (flag_results): Likewise.
34197         (locale_results): Likewise.
34198         (compare_strings): Check those.
34199
34200 2009-08-23  Bruno Haible  <bruno@clisp.org>
34201
34202         Tests for module 'dup3'.
34203         * modules/dup3-tests: New file.
34204         * tests/test-dup3.c: New file.
34205
34206         New module 'dup3'.
34207         * lib/unistd.in.h (dup3): New declaration.
34208         * lib/dup3.c: New file.
34209         * m4/dup3.m4: New file.
34210         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
34211         HAVE_DUP3.
34212         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
34213         * modules/dup3: New file.
34214         * doc/glibc-functions/dup3.texi: Mention the new module.
34215
34216 2009-08-23  Bruno Haible  <bruno@clisp.org>
34217
34218         Tweak the dup2 test.
34219         * tests/test-dup2.c (main): Create the test file empty. Verify that an
34220         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
34221         the test file is still empty. Fix argument order of lseek.
34222
34223 2009-08-23  Bruno Haible  <bruno@clisp.org>
34224
34225         Avoid test link errors when the modules getopt-gnu, gettext are used.
34226         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
34227         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34228
34229 2009-08-23  Bruno Haible  <bruno@clisp.org>
34230
34231         Fix getdtablesize() on mingw.
34232         * lib/getdtablesize.c (getdtablesize): Implement differently.
34233         * lib/unistd.in.h (getdtablesize): Improve comment.
34234
34235 2009-08-23  Bruno Haible  <bruno@clisp.org>
34236
34237         New module 'mkostemp'.
34238         Based on Ulrich Drepper's 2007-08-10 change in glibc.
34239         * lib/stdlib.in.h (mksotemp): New declaration.
34240         * lib/mkostemp.c: New file, from glibc with modifications.
34241         * lib/tempname.h (GT_FILE): Remove outdated comment.
34242         (gen_tempname): Add flags argument.
34243         * lib/tempname.c (__GT_BIGFILE): Remove macro.
34244         (__GT_FILE): Map to 1.
34245         (small_open, large_open): Remove macros.
34246         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
34247         * lib/mkstemp.c (mkstemp): Update.
34248         * lib/mkdtemp.c (mkdtemp): Likewise.
34249         * m4/mkostemp.m4: New file.
34250         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
34251         HAVE_MKOSTEMP.
34252         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
34253         HAVE_MKOSTEMP.
34254         * modules/mkostemp: New file, based on modules/mkstemp.
34255         * doc/glibc-functions/mkostemp.texi: Mention the new module.
34256         * NEWS: Mention the change.
34257
34258 2009-08-23  Bruno Haible  <bruno@clisp.org>
34259
34260         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
34261         Reported by Eric Blake.
34262
34263 2009-08-23  Bruno Haible  <bruno@clisp.org>
34264
34265         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
34266         Reported by Eric Blake.
34267
34268 2009-08-23  Bruno Haible  <bruno@clisp.org>
34269
34270         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
34271         * modules/pipe2 (Depends-on): Likewise.
34272
34273 2009-08-23  Eric Blake  <ebb9@byu.net>
34274
34275         fcntl-h: add O_TTY_INIT support
34276         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
34277         * tests/test-fcntl-h.c (o): Test it.
34278         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
34279
34280         fcntl-h: rename from fcntl, in preparation for fcntl(2)
34281         * modules/fcntl: Move <fcntl.h> header replacement...
34282         * modules/fcntl-h: ...to new name, so as not to collide with
34283         like-named function.
34284         * tests/test-fcntl.c: Rename...
34285         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
34286         * modules/fcntl-tests: Rename...
34287         * modules/fcntl-h-tests: ...to this.  Update test file name.
34288         * modules/chdir-long (Depends-on): Update clients.
34289         * modules/chdir-safer (Depends-on): Likewise.
34290         * modules/fcntl-safer (Depends-on): Likewise.
34291         * modules/fts (Depends-on): Likewise.
34292         * modules/mkancesdirs (Depends-on): Likewise.
34293         * modules/mkdir-p (Depends-on): Likewise.
34294         * modules/open (Depends-on): Likewise.
34295         * modules/savewd (Depends-on): Likewise.
34296         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
34297         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
34298
34299 2009-08-22  Bruno Haible  <bruno@clisp.org>
34300
34301         * modules/binary-io (License): Relicense under LGPL.
34302         * modules/pipe2 (License): Likewise.
34303
34304 2009-08-22  Bruno Haible  <bruno@clisp.org>
34305
34306         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
34307         return value.
34308         * lib/pipe-filter-gi.c (filter_init): Likewise.
34309         Reported by Eric Blake.
34310
34311 2009-08-22  Bruno Haible  <bruno@clisp.org>
34312
34313         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
34314         * modules/pipe (Depends-on): Add pipe2.
34315
34316 2009-08-22  Bruno Haible  <bruno@clisp.org>
34317
34318         Tests for module 'pipe2'.
34319         * modules/pipe2-tests: New file.
34320         * tests/test-pipe2.c: New file.
34321
34322         New module 'pipe2'.
34323         * lib/unistd.in.h (pipe2): New declaration.
34324         * lib/pipe2.c: New file.
34325         * m4/pipe2.m4: New file.
34326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
34327         HAVE_PIPE2.
34328         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
34329         * modules/pipe2: New file.
34330         * doc/glibc-functions/pipe2.texi: Mention the new module.
34331
34332 2009-08-22  Bruno Haible  <bruno@clisp.org>
34333
34334         Reference some new glibc functions.
34335         * doc/glibc-functions/accept4.texi: New file.
34336         * doc/glibc-functions/dup3.texi: New file.
34337         * doc/glibc-functions/mkostemp.texi: New file.
34338         * doc/glibc-functions/pipe2.texi: New file.
34339         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
34340         (Glibc sys/socket.h): Refer to accept4.
34341         (Glibc unistd.h): Refer to dup3, pipe2.
34342         Reported by Eric Blake.
34343
34344 2009-08-22  Jim Meyering  <meyering@redhat.com>
34345             Bruno Haible  <bruno@clisp.org>
34346
34347         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
34348         This makes it so packages using automake-1.11's silent-rules option
34349         can print e.g., a single "GEN    configmake.h" line, rather than
34350         the 30+ statements that perform the job.  If you want to see the
34351         actual commands, you can still run "make V=1".
34352         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
34353         so that make output is abbreviated when those variables are defined
34354         appropriately.
34355         * modules/argz: Likewise.
34356         * modules/arpa_inet: Likewise.
34357         * modules/byteswap: Likewise.
34358         * modules/configmake: Likewise.
34359         * modules/dirent: Likewise.
34360         * modules/errno: Likewise.
34361         * modules/fcntl: Likewise.
34362         * modules/float: Likewise.
34363         * modules/fnmatch: Likewise.
34364         * modules/getopt-posix: Likewise.
34365         * modules/glob: Likewise.
34366         * modules/iconv_open: Likewise.
34367         * modules/inttypes: Likewise.
34368         * modules/localcharset: Likewise.
34369         * modules/locale: Likewise.
34370         * modules/math: Likewise.
34371         * modules/netdb: Likewise.
34372         * modules/netinet_in: Likewise.
34373         * modules/poll: Likewise.
34374         * modules/posix_spawnp-tests: Likewise.
34375         * modules/sched: Likewise.
34376         * modules/search: Likewise.
34377         * modules/selinux-h: Likewise.
34378         * modules/signal: Likewise.
34379         * modules/spawn: Likewise.
34380         * modules/stdarg: Likewise.
34381         * modules/stdbool: Likewise.
34382         * modules/stddef: Likewise.
34383         * modules/stdint: Likewise.
34384         * modules/stdio: Likewise.
34385         * modules/stdlib: Likewise.
34386         * modules/string: Likewise.
34387         * modules/strings: Likewise.
34388         * modules/sys_file: Likewise.
34389         * modules/sys_ioctl: Likewise.
34390         * modules/sys_select: Likewise.
34391         * modules/sys_socket: Likewise.
34392         * modules/sys_stat: Likewise.
34393         * modules/sys_time: Likewise.
34394         * modules/sys_times: Likewise.
34395         * modules/sys_utsname: Likewise.
34396         * modules/sys_wait: Likewise.
34397         * modules/sysexits: Likewise.
34398         * modules/time: Likewise.
34399         * modules/unistd: Likewise.
34400         * modules/wchar: Likewise.
34401         * modules/wctype: Likewise.
34402
34403 2009-08-22  Jim Meyering  <meyering@redhat.com>
34404
34405         announce-gen: detect write failure
34406         * build-aux/announce-gen: Add Coda at end.
34407         Remove equivalent-but-more-verbose block at top.
34408
34409 2009-08-19  Akim Demaille  <demaille@gostai.com>
34410
34411         bootstrap: --help to stdout.
34412         * bootstrap (usage): Don't send --help to stderr.
34413         Use a here doc instead of a long string.
34414
34415 2009-08-21  Eric Blake  <ebb9@byu.net>
34416
34417         test-popen-safer: split from test-popen
34418         * tests/test-popen.c (main): Move...
34419         * tests/test-popen.h: ...into new file.
34420         * tests/test-popen-safer2.c: New file.
34421         * modules/popen-tests (Files): Add test-popen.h.
34422         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
34423         Suggested by Bruno Haible.
34424
34425         test-fcntl-safer: split from test-open
34426         * tests/test-open.c (main): Move...
34427         * tests/test-open.h: ...into new file.
34428         * tests/test-fcntl-safer.c: New file.
34429         * modules/open-tests (Files): Add test-open.h.
34430         * modules/fcntl-safer-tests: New file.
34431         Suggested by Bruno Haible.
34432
34433         test-fopen-safer: split from test-fopen
34434         * tests/test-fopen.c (main): Move...
34435         * tests/test-fopen.h: ...into new file.
34436         * tests/test-fopen-safer.c: New file.
34437         * modules/fopen-tests (Files): Add test-fopen.h.
34438         * modules/fopen-safer-tests: New file.
34439         Suggested by Bruno Haible.
34440
34441 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
34442
34443         popen-safer: test O_CLOEXEC at run-time.
34444         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
34445
34446 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
34447
34448         fcntl: move more flags to the header
34449         * lib/cloexec.c: Do not define FD_CLOEXEC here.
34450         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
34451         * lib/fcntl.in.h: Do both things here.
34452
34453 2009-08-21  Jim Meyering  <meyering@redhat.com>
34454
34455         consistently remove $@-t before redirecting to it
34456         * modules/argz: Remove $@-t and $@ before redirecting to the former.
34457         * modules/alloca-opt: Likewise.
34458         * modules/byteswap: Likewise.
34459         * modules/fnmatch: Likewise.
34460         * modules/getopt-posix: Likewise.
34461         * modules/glob: Likewise.
34462         * modules/poll: Likewise.
34463         * modules/posix_spawnp-tests: Likewise.
34464         * modules/sys_socket: Likewise.
34465         * modules/sysexits: Likewise.
34466
34467 2009-08-21  Eric Blake  <ebb9@byu.net>
34468
34469         popen: simplify access to original popen
34470         * lib/popen.c (rpl_popen): No need to worry about popen being a
34471         macro.
34472         Reported by Bruno Haible.
34473
34474 2009-08-20  Eric Blake  <ebb9@byu.net>
34475
34476         build: avoid some compiler warnings
34477         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
34478         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
34479         type.
34480         (new_exclude_segment, excluded_file_pattern_p)
34481         (excluded_file_name_p): Reduce scope.
34482         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
34483         old-style declaration.
34484
34485 2009-08-20  Simon Josefsson  <simon@josefsson.org>
34486
34487         * tests/test-exclude1.sh: Handle Windows EOL.
34488         * tests/test-exclude2.sh: Likewise.
34489         * tests/test-exclude3.sh: Likewise.
34490         * tests/test-exclude4.sh: Likewise.
34491         * tests/test-exclude5.sh: Likewise.
34492         * tests/test-exclude6.sh: Likewise.
34493         * tests/test-exclude7.sh: Likewise.
34494
34495 2009-08-19  Akim Demaille  <demaille@gostai.com>
34496
34497         bootstrap: find sha1sum when named gsha1sum.
34498         * bootstrap (find_tool): New.
34499         ($SHA1SUM): New.
34500         Use it.
34501
34502 2009-08-20  Jim Meyering  <meyering@redhat.com>
34503
34504         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
34505         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
34506         expression that converts "." in a file name to "\." in the resulting
34507         regexp.  Start with a dummy statement, so that prior shell variable
34508         definitions are expanded portably.  Reported by Simon Josefsson.
34509
34510 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
34511
34512         Fix polling for writeability of a screen buffer.
34513         * lib/poll.c: Distinguish input and screen buffers for the
34514         Win32 implementation.
34515         * lib/select.c: Likewise.
34516
34517 2009-08-19  Eric Blake  <ebb9@byu.net>
34518
34519         popen-safer: prevent popen from clobbering std descriptors
34520         * modules/popen-safer: New file.
34521         * lib/popen-safer.c: Likewise.
34522         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
34523         * lib/stdio--.h (popen): Provide override.
34524         * lib/stdio-safer.h (popen_safer): Provide declaration.
34525         * tests/test-popen.c (includes): Partially test this.
34526         * modules/popen-safer-tests: New file, for more tests.
34527         * tests/test-popen-safer.c: Likewise.
34528         * MODULES.html.sh (file stream based Input/Output): Mention it.
34529
34530         tests: test some of the *-safer modules
34531         * modules/fopen-safer (Depends-on): Add fopen.
34532         * modules/fcntl-safer (Depends-on): Add fcntl.
34533         * modules/stdlib-safer (Depends-on): Add stdlib.
34534         (configure.ac): Set indicator.
34535         * modules/unistd-safer (configure.ac): Likewise.
34536         * modules/tmpfile-safer (configure.ac): Likewise.
34537         (Depends-on): Add tmpfile.
34538         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
34539         active.
34540         * tests/test-fopen.c (includes): Test safer versions when they are
34541         in use.
34542         * tests/test-open.c (includes): Likewise.
34543
34544         popen: fix cygwin 1.5 bug when stdin closed
34545         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
34546         * modules/popen: New file.
34547         * modules/popen-tests: Likewise.
34548         * tests/test-popen.c: Likewise.
34549         * m4/popen.m4: Likewise.
34550         * lib/popen.c: Likewise.
34551         * lib/stdio.in.h (popen): New declaration.
34552         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
34553         * modules/stdio (Makefile.am): Likewise.
34554         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
34555
34556 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
34557
34558         maint.mk: give full control over update-copyright exclusions
34559         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
34560         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
34561         (update-copyright): Don't force inclusion of top-level
34562         ChangeLog.  Don't force exclusion of all COPYING files, but make
34563         them the default exclusion instead.
34564
34565 2009-08-16  Bruno Haible  <bruno@clisp.org>
34566
34567         Fix test failures on Solaris 10.
34568         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
34569         tests when Solaris iconv() is used.
34570         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
34571         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
34572         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
34573         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
34574         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
34575
34576 2009-08-16  Bruno Haible  <bruno@clisp.org>
34577
34578         Fix test failures on Solaris 10.
34579         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
34580         'tr' program and pass it as first argument.
34581         * tests/test-pipe-filter-gi1.sh: Likewise.
34582         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
34583         program as first argument.
34584         * tests/test-pipe-filter-gi1.c (main): Likewise.
34585
34586 2009-08-16  Eric Blake  <ebb9@byu.net>
34587
34588         fpurge: fix previous commits
34589         * modules/fpurge (Makefile.am): Make replacement conditional,
34590         partially reverting 2007-04-29 change; missed in previous
34591         attempt.
34592         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
34593         is missing.
34594
34595 2009-08-16  Bruno Haible  <bruno@clisp.org>
34596
34597         Clarify fpurge's effect on the file position.
34598         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
34599         * tests/test-fpurge.c (main): Make a second pass for checking the file
34600         position.
34601
34602 2009-08-16  Bruno Haible  <bruno@clisp.org>
34603
34604         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
34605         declaration of fpurge is missing.
34606         * tests/test-fpurge.c (main): Check that the file has not more contents
34607         than expected. Close the file before removing it.
34608
34609 2009-08-15  Eric Blake  <ebb9@byu.net>
34610
34611         fpurge: don't wrap working cygwin implementation
34612         * lib/fpurge.c (fpurge): Fix comment typo.
34613         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
34614         1.7 to avoid replacement.
34615         * tests/test-fpurge.c (main): Enhance test.
34616
34617 2009-08-15  Eric Blake  <ebb9@byu.net>
34618         and Jim Meyering  <meyering@redhat.com>
34619
34620         test-update-copyright: skip if perl is insufficient
34621         * tests/test-update-copyright.sh: Failure to run maintainer tool
34622         should not cause testsuite failure on cygwin 1.5.
34623
34624 2009-08-14  Eric Blake  <ebb9@byu.net>
34625
34626         doc: mention more functions added in cygwin 1.7.0
34627         * doc/posix-headers/limits.texi (limits.h): Update for recent
34628         cygwin additions.
34629         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
34630         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
34631         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
34632         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
34633         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
34634
34635 2009-08-14  Eric Blake  <ebb9@byu.net>
34636
34637         maint.mk: simplify update-copyright rule
34638         * top/maint.mk (update-copyright-local): Delete, and document how
34639         to do it in cfg.mk instead.
34640         (update-copyright-exclude-regexp): Delete, and document how to do
34641         it in .x-update-copyright instead.
34642         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
34643         exclude ChangeLog.
34644
34645 2009-08-14  Bruno Haible  <bruno@clisp.org>
34646
34647         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
34648
34649 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
34650
34651         maint.mk: support update-copyright-env
34652         * top/maint.mk (update-copyright-env): Define place-holder.
34653         (update-copyright): Expand $(update-copyright-env) before
34654         invoking update-copyright.
34655
34656 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
34657
34658         update-copyright: implement forced reformatting
34659         * build-aux/update-copyright: Implement and document
34660         UPDATE_COPYRIGHT_FORCE.
34661         * tests/test-update-copyright.sh: Test it.
34662
34663 2009-08-14  Eric Blake  <ebb9@byu.net>
34664         and Bruno Haible  <bruno@clisp.org>
34665
34666         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
34667         * tests/test-locale.c: Revert previous patch related to NULL.
34668         * tests/test-stdio.c: Likewise.
34669         * tests/test-stdlib.c: Likewise.
34670         * tests/test-string.c: Likewise.
34671         * tests/test-unistd.c: Likewise.
34672         * modules/time-tests (Depends-on): Add verify.
34673         * modules/wchar-tests (Depends-on): Likewise.
34674         * tests/test-time.c: Test for NULL compliance.
34675         * tests/test-wchar.c: Likewise.
34676         * modules/locale (Depends-on): Add stddef.
34677         * modules/stdio (Depends-on): Likewise.
34678         * modules/stdlib (Depends-on): Likewise.
34679         * modules/string (Depends-on): Likewise.
34680         * modules/time (Depends-on): Likewise.
34681         * modules/unistd (Depends-on): Likewise.
34682         * modules/wchar (Depends-on): Likewise.
34683         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
34684         * lib/stdlib.in.h (includes): Likewise.
34685         * lib/string.in.h (includes): Likewise.
34686         * lib/time.in.h (includes): Likewise.
34687         * lib/unistd.in.h (includes): Likewise.
34688         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
34689         replaced.
34690         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
34691         * m4/stddef_h.m4: New file.
34692         * modules/stddef: Likewise.
34693         * lib/stddef.in.h: Likewise.
34694         * modules/stddef-tests: Likewise.
34695         * tests/test-stddef.c: Likewise.
34696         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
34697         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
34698         * doc/posix-headers/locale.texi (locale.h): Likewise.
34699         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
34700         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
34701         * doc/posix-headers/string.texi (string.h): Likewise.
34702         * doc/posix-headers/time.texi (time.h): Likewise.
34703         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
34704         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
34705
34706 2009-08-14  Eric Blake  <ebb9@byu.net>
34707
34708         doc: improve git diff of texinfo files
34709         * .gitattributes: Add rule for *.texi files, with hint on how to
34710         use it.
34711         Copied from m4, and based on a report by Bruno Haible.
34712
34713 2009-08-14  Bruno Haible  <bruno@clisp.org>
34714
34715         Disable multithread support by default on Cygwin 1.5.x for real.
34716         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
34717
34718 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
34719
34720         update-copyright: much ado about intervals
34721         * build-aux/update-copyright: Implement and document
34722         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
34723         of copyright year intervals.
34724         Also, document UPDATE_COPYRIGHT_YEAR.
34725         * tests/test-update-copyright.sh: Test it.
34726
34727         update-copyright: convert 2-digit to 4-digit years
34728         * build-aux/update-copyright: Implement and document.
34729         * tests/test-update-copyright.sh: Update.
34730
34731 2009-08-14  Jim Meyering  <meyering@redhat.com>
34732
34733         test-exclude: avoid coreutils "make check" failure
34734         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
34735         just as in test-argmatch.c.
34736
34737 2009-08-13  Eric Blake  <ebb9@byu.net>
34738
34739         test-dup2: fix bad assumption
34740         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
34741         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
34742
34743         test-version-etc: fix CRLF portability issue
34744         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
34745         recognize \r.
34746         * tests/test-argp-version-etc-1.sh: Likewise.
34747
34748         getopt: update client modules
34749         * modules/argp (Depends-on): Use getopt-gnu.
34750         * modules/git-merge-changelog (Depends-on): Likewise.
34751         * modules/long-options (Depends-on): Likewise.
34752         * modules/xstrtol (Depends-on): Likewise.
34753
34754 2009-08-13  Simon Josefsson  <simon@josefsson.org>
34755
34756         * tests/test-version-etc.sh: Don't fail on different
34757         project/version.  Don't fail on CRLF differences.  Rewrite to use
34758         multiple -e instead of multiple sed forks, suggested by Eric Blake
34759         <ebb9@byu.net>.
34760         * tests/test-argp-version-etc-1.sh: Likewise.
34761
34762 2009-08-13  Simon Josefsson  <simon@josefsson.org>
34763
34764         * tests/test-version-etc.sh: Don't fail on different
34765         project/version.
34766
34767 2009-08-12  Bruno Haible  <bruno@clisp.org>
34768
34769         Tests for modules 'getopt-posix', 'getopt-gnu'.
34770         * modules/getopt-posix-tests: New file.
34771         * tests/test-getopt.c: New file.
34772         * tests/test-getopt.h: New file.
34773         * tests/test-getopt_long.h: New file.
34774
34775         New modules 'getopt-posix', 'getopt-gnu'.
34776         * modules/getopt-gnu: New file, renamed from modules/getopt.
34777         * modules/getopt-posix: New file.
34778         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
34779         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
34780         (gl_GETOPT): Remove macro.
34781         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
34782         Disable the test against BSD systems that declare optreset. Test
34783         against mingw bug. Test against lack of support of optional arguments
34784         on many platforms.
34785         * doc/glibc-headers/getopt.texi: Update module name and list of
34786         relevant platforms.
34787         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
34788         'getopt-gnu' and more portability problems.
34789         * NEWS: Mention the changes.
34790
34791 2009-08-12  Bruno Haible  <bruno@clisp.org>
34792
34793         Ensure that optarg etc. get declared by <unistd.h>.
34794         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
34795         AC_USE_SYSTEM_EXTENSIONS.
34796         * modules/getopt (Depends-on): Add 'extensions'.
34797
34798 2009-08-12  Bruno Haible  <bruno@clisp.org>
34799
34800         Avoid test link errors.
34801         * modules/pipe-filter-ii-tests (Makefile.am): Define
34802         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
34803         * modules/pipe-filter-gi-tests (Makefile.am): Define
34804         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
34805         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34806
34807 2009-08-12  Bruno Haible  <bruno@clisp.org>
34808
34809         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
34810         gl_GETOPT_SUBSTITUTE before.
34811         (gl_GETOPT): Use it.
34812         * m4/argp.m4 (gl_ARGP): Update.
34813         Reported by Sergey Poznyakoff.
34814
34815         * m4/getopt.m4: Reorder macros.
34816         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
34817         (gl_GETOPT_SUBSTITUTE): Remove macro.
34818
34819 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
34820
34821         Minor improvement in gitlog-to-changelog
34822
34823         * build-aux/gitlog-to-changelog: New option `--format' makes
34824         output format string configurable.
34825
34826 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
34827
34828         Optimize exclude: use hash tables for non-wildcard patterns.
34829
34830         * lib/exclude.c: Include hash.h and mbuiter.h
34831         (struct exclude_pattern, exclude_segment): New data types.
34832         (struct exclude): Rewrite.
34833         (fnmatch_pattern_has_wildcards): New function.
34834         (new_exclude_segment, free_exclude_segment): New functions.
34835         (excluded_file_pattern_p, excluded_file_name_p): New functions.
34836         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
34837         * lib/exclude.h (is_fnmatch_pattern): New prototype.
34838         * modules/exclude: Depend on hash and mbuiter.
34839
34840         * modules/exclude-tests: New file.
34841         * tests/test-exclude.c: New file.
34842         * tests/test-exclude1.sh: New file.
34843         * tests/test-exclude2.sh: New file.
34844         * tests/test-exclude3.sh: New file.
34845         * tests/test-exclude4.sh: New file.
34846         * tests/test-exclude5.sh: New file.
34847         * tests/test-exclude6.sh: New file.
34848         * tests/test-exclude7.sh: New file.
34849
34850 2009-08-12  Bruno Haible  <bruno@clisp.org>
34851
34852         Ensure that getopt() gets declared by <unistd.h>.
34853         * lib/unistd.in.h: Conditionally include getopt.h.
34854         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
34855         Set GNULIB_UNISTD_H_GETOPT.
34856         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34857         GNULIB_UNISTD_H_GETOPT.
34858         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
34859
34860 2009-08-12  Bruno Haible  <bruno@clisp.org>
34861
34862         Clarify logic.
34863         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
34864         gl_replace_getopt instead of GETOPT_H.
34865
34866 2009-08-12  Bruno Haible  <bruno@clisp.org>
34867
34868         * m4/getopt.m4: Add comments.
34869
34870 2009-08-12  Bruno Haible  <bruno@clisp.org>
34871
34872         Disable multithread support by default on Cygwin 1.5.x.
34873         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
34874         set gl_use_threads=no if not specified otherwise.
34875
34876 2009-08-11  Bruno Haible  <bruno@clisp.org>
34877
34878         Avoid compilation error on NetBSD 5.0.
34879         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
34880         * tests/test-stdio.c: Likewise.
34881         * tests/test-stdlib.c: Likewise.
34882         * tests/test-string.c: Likewise.
34883         * tests/test-unistd.c: Likewise.
34884         Reported by Greg Troxel <gdt@ir.bbn.com>
34885         at <https://savannah.gnu.org/support/?106973>.
34886
34887 2009-08-11  Bruno Haible  <bruno@clisp.org>
34888
34889         * modules/dup2-tests (Depends-on): Remove close.
34890
34891         Undo 2009-07-19 commit.
34892         * modules/acl-tests (Depends-on): Remove close.
34893         * modules/binary-io-tests (Depends-on): Likewise.
34894         * modules/closein-tests (Depends-on): Likewise.
34895         * modules/flock-tests (Depends-on): Likewise.
34896         * modules/fsync-tests (Depends-on): Likewise.
34897         * modules/lseek-tests (Depends-on): Likewise.
34898         * modules/pipe-tests (Depends-on): Likewise.
34899         * modules/posix_spawn-tests (Depends-on): Likewise.
34900         * modules/posix_spawnp-tests (Depends-on): Likewise.
34901         * modules/stat-time-tests (Depends-on): Likewise.
34902         * modules/yesno-tests (Depends-on): Likewise.
34903
34904 2009-08-10  Bruno Haible  <bruno@clisp.org>
34905
34906         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
34907
34908 2009-08-10  Bruno Haible  <bruno@clisp.org>
34909
34910         Fix a gcc warning.
34911         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
34912
34913 2009-08-10  Bruno Haible  <bruno@clisp.org>
34914
34915         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
34916         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
34917         not only the first time.
34918         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
34919         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
34920         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
34921         is 1, not only the the first time.
34922
34923 2009-08-10  Bruno Haible  <bruno@clisp.org>
34924
34925         Make it possible to use module 'gethostname' without module 'close'.
34926         * lib/unistd.in.h (close): Evoke a link error only if
34927         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
34928         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34929         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
34930         * modules/unistd (Makefile.am): Substitute
34931         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
34932         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
34933         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
34934         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
34935         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
34936         * modules/sys_ioctl (Makefile.am): Substitute
34937         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
34938         * modules/socket (configure.ac): On native Windows, set
34939         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
34940         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
34941         Reported by Sam Steingold <sds@gnu.org>.
34942
34943 2009-08-10  Bruno Haible  <bruno@clisp.org>
34944
34945         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
34946         * modules/ioctl (configure.ac): Likewise.
34947
34948 2009-08-10  Bruno Haible  <bruno@clisp.org>
34949
34950         Avoid collision between gnulib wrapper and libintl wrapper.
34951         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
34952         already defined in intl/printf.c.
34953         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
34954         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
34955
34956 2009-08-09  Bruno Haible  <bruno@clisp.org>
34957
34958         Make <sys/select.h> really self-contained, also on Solaris 10.
34959         * lib/sys_select.in.h: Include <string.h>.
34960         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
34961         Solaris 10 problem.
34962         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
34963         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
34964         Reported by Jim Meyering.
34965
34966 2009-08-09  Bruno Haible  <bruno@clisp.org>
34967
34968         Avoid warnings from 'aclocal' that are due to a use of macro name
34969         AM_XGETTEXT_OPTION that is not defined in automake.
34970         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
34971         automake.
34972         * modules/error (configure.ac): Likewise.
34973         * modules/propername (configure.ac): Likewise.
34974         * modules/vasprintf (configure.ac): Likewise.
34975         * modules/verror (configure.ac): Likewise.
34976         * modules/xprintf (configure.ac): Likewise.
34977         * modules/xvasprintf (configure.ac): Likewise.
34978
34979 2009-08-08  Bruno Haible  <bruno@clisp.org>
34980
34981         Avoid compilation error in C++ mode.
34982         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
34983         Reported by Sam Steingold <sds@gnu.org>.
34984
34985 2009-08-08  Bruno Haible  <bruno@clisp.org>
34986
34987         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
34988         for the various Unix platforms.
34989         * doc/posix-headers/limits.texi: Update platforms list regarding
34990         HOST_NAME_MAX.
34991         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34992
34993 2009-08-07  Jim Meyering  <meyering@redhat.com>
34994
34995         selinux-at: fix typo in a comment
34996         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
34997         Spotted by Paolo Bonzini.
34998
34999         selinux-at: remove redundant m4 code, add documentation
35000         * modules/selinux-at (configure.ac): Remove redundant code.
35001         LIB_SELINUX is already set via the dependent module, selinux-h.
35002         (Include): Add quotes around selinux-at.h.
35003         * lib/selinux-at.h: Add documentation.
35004         Reported by Bruno Haible in
35005         http://marc.info/?l=gnulib-bug&m=124958988300749
35006
35007 2009-08-07  Bruno Haible  <bruno@clisp.org>
35008
35009         Avoid link error on MacOS X 10.3 and 10.4.
35010         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
35011         on non-ELF systems.
35012         * lib/argp-pv.c (argp_program_version): Likewise.
35013         Reported by Simon Josefsson.
35014
35015 2009-08-07  Simon Josefsson  <simon@josefsson.org>
35016
35017         * tests/test-version-etc.sh: Use $EXEEXT.
35018
35019 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
35020
35021         update-copyright: update documentation to point to maint.mk
35022         * build-aux/update-copyright: Here.
35023
35024 2009-08-06  Jim Meyering  <meyering@redhat.com>
35025
35026         maint.mk: support update-copyright-local
35027         * top/maint.mk (update-copyright-local): Define place-holder.
35028         (update-copyright): Depend on $(update-copyright-local).
35029
35030 2009-08-06  Jim Meyering  <meyering@redhat.com>
35031
35032         selinux-at: new module
35033         Initially written for coreutils, this module will soon be
35034         used by findutils, too.
35035         * MODULES.html.sh [Misc]: Add selinux-at.
35036         * lib/selinux-at.h: New file, from coreutils.
35037         * lib/selinux-at.c: Likewise.
35038         * modules/selinux-at: Likewise.
35039         (License): Change from LGPL to GPL, since it depends
35040         on the GPL'd openat module.
35041
35042         doc: update README
35043         * README: Remove references to cogito.
35044         Remove cvs-repo-updating instructions from 2007.
35045         Don't imply that CVS is better if you have limited disk space.
35046
35047 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
35048
35049         update-copyright: support C-style comments
35050         * build-aux/update-copyright: Implement and document.
35051         * tests/test-update-copyright.sh: Test.
35052
35053 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
35054
35055         update-copyright: support omitted "(C)"
35056         * build-aux/update-copyright: Implement and document.  Also,
35057         allow variable whitespace before "(C)".
35058         * tests/test-update-copyright.sh: Test.
35059
35060 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
35061
35062         update-copyright: don't trip on non-FSF copyright statements
35063         * build-aux/update-copyright: Fix so that the first correctly
35064         formatted FSF copyright statement is recognized no matter what
35065         appears before it.  Update documentation.
35066         * tests/test-update-copyright.sh: Test that.
35067
35068 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
35069
35070         update-copyright: clean up code a little
35071         * build-aux/update-copyright: Append "_re" to the name of any
35072         variable holding a regular expression.
35073         Replace "old" and "new" with "stmt" in variable names.
35074         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
35075         handled correctly.
35076         Format code more consistently.
35077
35078 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
35079
35080         update-copyright-tests: improve portability
35081         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
35082         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
35083
35084 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
35085
35086         update-copyright: support @copyright{} and &copy;
35087         * build-aux/update-copyright: Implement and document.
35088         * tests/test-update-copyright.sh: Test.
35089
35090 2009-08-04  Jim Meyering  <meyering@redhat.com>
35091
35092         update-copyright-tests: correctly test EOL=\r\n handling
35093         * tests/test-update-copyright.sh: Put \r at the end of some lines
35094         for the dos-eol tests.  Based on a patch by Joel E. Denny.
35095
35096         maint.mk: make update-copyright exclusion list more configurable
35097         * top/maint.mk (update-copyright): Default to excluding COPYING,
35098         but allow an override, in case someone does want to update that file.
35099
35100         maint.mk: don't update copyright date in COPYING
35101         * top/maint.mk (update-copyright): Exclude COPYING.
35102
35103         maint.mk: add a copyright-updating rule
35104         * top/maint.mk (update-copyright): New rule.
35105         Derived from coreutils/Makefile.am.
35106
35107         update-copyright: rename some variables
35108         * build-aux/update-copyright: Rename a few variables for clarity.
35109         Tweak syntax.  List Joel E. Denny as coauthor.
35110
35111 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
35112
35113         update-copyright: fix bug for 2-digit last year and add tests
35114         * build-aux/update-copyright: Fix bug.
35115         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
35116         specified.
35117         * modules/update-copyright-tests: New
35118         * tests/test-update-copyright.sh: New.
35119
35120 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
35121
35122         update-copyright: handle leading tabs in line prefix
35123         * build-aux/update-copyright: Count leading tabs as 8 spaces
35124         when computing margin.  This helps with the formatting of
35125         ChangeLogs, for example.
35126         Fix documentation a little.
35127
35128 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
35129
35130         update-copyright: support EOL=\r\n
35131         * build-aux/update-copyright: Implement that.
35132
35133 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
35134
35135         update-copyright: automatically format copyright statements
35136         * build-aux/update-copyright: Implement that.
35137         Also, be a little more predictable and safer by always failing
35138         when the full copyright format is not perfectly recognized as an
35139         unbroken whole.  Discussed at
35140         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
35141         Rewrite documentation.
35142
35143 2009-08-03  Bruno Haible  <bruno@clisp.org>
35144
35145         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
35146
35147 2009-08-02  Bruno Haible  <bruno@clisp.org>
35148
35149         Tests for module 'uname'.
35150         * modules/uname-tests: New file.
35151         * tests/test-uname.c: New file.
35152
35153         New module 'uname'.
35154         * lib/uname.c: New file.
35155         * m4/uname.m4: New file.
35156         * modules/uname: New file.
35157         * doc/posix-functions/uname.texi: Mention the new module.
35158
35159 2009-08-02  Bruno Haible  <bruno@clisp.org>
35160
35161         Tests for module 'sys_utsname'.
35162         * modules/sys_utsname-tests: New file.
35163         * tests/test-sys_utsname.c: New file.
35164
35165         New module 'sys_utsname'.
35166         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
35167         * m4/sys_utsname_h.m4: New file.
35168         * modules/sys_utsname: New file.
35169         * doc/posix-headers/sys_utsname.texi: Mention the new module.
35170
35171 2009-08-02  Bruno Haible  <bruno@clisp.org>
35172
35173         Implicitly initialize the sockets library.
35174         * lib/gethostname.c: Include sockets.h.
35175         (rpl_gethostname): Invoke gl_sockets_startup.
35176         * lib/socket.c: Include sockets.h.
35177         (rpl_socket): Invoke gl_sockets_startup.
35178         * modules/gethostname (Depends-on): Add sockets.
35179         * modules/socket (Depends-on): Likewise.
35180         * tests/test-poll.c: Don't include sockets.h.
35181         (main): Don't invoke gl_sockets_startup.
35182         * tests/test-select.c: Don't include sockets.h.
35183         (main): Don't invoke gl_sockets_startup.
35184
35185 2009-08-02  Bruno Haible  <bruno@clisp.org>
35186
35187         Allow multiple calls to gl_sockets_startup.
35188         * lib/sockets.c (initialized_sockets_version): New variable.
35189         (gl_sockets_startup): Do nothing if already called for this or a higher
35190         version.
35191         (gl_sockets_cleanup): Reset initialized_sockets_version.
35192
35193 2009-08-03  Simon Josefsson  <simon@josefsson.org>
35194
35195         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
35196         different project/version.
35197
35198 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
35199             Bruno Haible  <bruno@clisp.org>
35200
35201         Tests for module 'pipe-filter-gi'.
35202         * modules/pipe-filter-gi-tests: New file.
35203         * tests/test-pipe-filter-gi1.sh: New file.
35204         * tests/test-pipe-filter-gi1.c: New file.
35205         * tests/test-pipe-filter-gi2.sh: New file.
35206         * tests/test-pipe-filter-gi2-main.c: New file.
35207         * tests/test-pipe-filter-gi2-child.c: New file.
35208
35209         New module 'pipe-filter-gi'.
35210         * lib/pipe-filter-gi.c: New file.
35211         * modules/pipe-filter-gi: New file.
35212
35213 2009-08-02  Bruno Haible  <bruno@clisp.org>
35214             Paolo Bonzini  <bonzini@gnu.org>
35215
35216         Tests for module 'pipe-filter-ii'.
35217         * modules/pipe-filter-ii-tests: New file.
35218         * tests/test-pipe-filter-ii1.sh: New file.
35219         * tests/test-pipe-filter-ii1.c: New file.
35220         * tests/test-pipe-filter-ii2.sh: New file.
35221         * tests/test-pipe-filter-ii2-main.c: New file.
35222         * tests/test-pipe-filter-ii2-child.c: New file.
35223
35224         New module 'pipe-filter-ii'.
35225         * lib/pipe-filter.h: New file.
35226         * lib/pipe-filter-ii.c: New file.
35227         * lib/pipe-filter-aux.h: New file.
35228         * modules/pipe-filter-ii: New file.
35229
35230 2009-08-02  Simon Josefsson  <simon@josefsson.org>
35231
35232         * lib/gc-libgcrypt.c: Change copyright to FSF.
35233         * lib/gc-gnulib.c: Likewise.
35234
35235 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
35236
35237         * lib/gethostname.c: Include limits.h.
35238
35239 2009-08-02  Simon Josefsson  <simon@josefsson.org>
35240             Bruno Haible  <bruno@clisp.org>
35241
35242         Ensure HOST_NAME_MAX as part of the gethostname module.
35243         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
35244         define also HOST_NAME_MAX.
35245         * tests/test-gethostname.c: Include <limits.h>.
35246         (main): Check also HOST_NAME_MAX.
35247         * doc/posix-headers/limits.texi: Document the mingw problem.
35248
35249 2009-08-02  Bruno Haible  <bruno@clisp.org>
35250
35251         * lib/gethostname.c (gethostname): Fix handling of large len argument.
35252         Add comments.
35253
35254 2009-03-31  Simon Josefsson  <simon@josefsson.org>
35255
35256         * lib/gethostname.c: Add Windows wrapper.
35257         * m4/gethostname.m4: Look for gethostname in -lws2_32.
35258         * modules/gethostname: Depend on sys_socket & errno, for also
35259         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
35260         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
35261
35262 2009-07-31  Jim Meyering  <meyering@redhat.com>
35263
35264         getloadavg: fix symbol name in comment
35265         * lib/getloadavg.c: Correct a typo I introduced when adding
35266         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
35267         Matt Kraai spotted the problem.
35268
35269 2009-07-29  Matt Kraai  <mkraai@beckman.com>
35270
35271         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
35272         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
35273         code also if ! defined N_NAME_POINTER.
35274         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
35275         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
35276         but the n_name member is a 12-byte array.
35277
35278 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
35279
35280         update-copyright: generalize comment handling
35281         * build-aux/update-copyright: Handle copyright statements
35282         within more comment styles.
35283         Document usage.
35284         Report any file with an external copyright holder or parse failure.
35285
35286 2009-07-29  Jim Meyering  <meyering@redhat.com>
35287
35288         mktime: correct setting of REPLACE_MKTIME
35289         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
35290
35291         update-copyright: new module
35292         * modules/update-copyright: New file.
35293         * build-aux/update-copyright: New file.
35294         * MODULES.html.sh (maint+release support): Add update-copyright.
35295
35296 2009-07-27  Bruno Haible  <bruno@clisp.org>
35297
35298         Fix compilation error when <ctime> is used and mktime is replaced.
35299         * lib/time.in.h (mktime): New declaration.
35300         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
35301         REPLACE_MKTIME instead of defining mktime in config.h.
35302         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
35303         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
35304         Reported by Ross McFarland <rwmcfa1@neces.com>.
35305
35306 2009-07-27  Bruno Haible  <bruno@clisp.org>
35307
35308         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
35309         Reported by Matt Kraai <mkraai@beckman.com>.
35310
35311 2009-07-25  Jim Meyering  <meyering@redhat.com>
35312
35313         maint.mk: avoid warnings about missing files
35314         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
35315         diagnostic when .prev-version does not exist.
35316         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
35317         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
35318         nonexistent cfg.mk.
35319         Suggestions from Simon Josefsson.
35320
35321 2009-07-25  Bruno Haible  <bruno@clisp.org>
35322
35323         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
35324         defined as macros. Needed on QNX 6.4.1.
35325         Reported by Matt Kraai <mkraai@beckman.com>.
35326
35327 2009-07-23  Jim Meyering  <meyering@redhat.com>
35328
35329         maint.mk: invoke "make dist" with a working value of XZ_OPT
35330         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
35331
35332 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
35333
35334         Make fseeko.c compile on QNX.
35335         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
35336
35337 2009-07-22  Peter Simons  <simons@cryp.to>
35338
35339         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
35340         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
35341         * lib/md4.h: Likewise.
35342         * lib/md5.h: Likewise.
35343         * lib/sha1.h: Likewise.
35344         * lib/sha256.h: Likewise.
35345         * lib/sha512.h: Likewise.
35346
35347         tests-sha1: don't assign literal string to 'char *' variable
35348         * tests/test-sha1.c (main): Declare locals with "const" to match
35349         attributes of the right hand side.
35350
35351 2009-07-21  Eric Blake  <ebb9@byu.net>
35352
35353         dup2: fix more mingw problems
35354         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
35355         fd to itself.
35356         * doc/posix-functions/dup2.texi (dup2): Document the bug.
35357         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
35358         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
35359         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
35360         care of mingw bugs.
35361
35362 2009-07-21  Jim Meyering  <meyering@redhat.com>
35363
35364         vc-list-files: avoid failure when /bin/sh is dash
35365         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
35366         On some Debian based systems, /bin/sh is a symlink to dash, and running
35367         this command would omit the "/" following each 'tests' prefix:
35368           dash -x build-aux/vc-list-files -C . tests
35369         That is because bash and dash work differently:
35370           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
35371           bash ok
35372           dash odd
35373
35374 2009-07-21  Eric Blake  <ebb9@byu.net>
35375
35376         dup2-tests: test previous patch
35377         * modules/dup2-tests: New file.
35378         * tests/test-dup2.c: Likewise.
35379         * tests/test-open.c (main): Avoid unspecified behavior.
35380         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
35381         test.
35382
35383         dup2: work around mingw and cygwin 1.5 bug
35384         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
35385         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
35386         * modules/unistd (Makefile.am): Substitute it.
35387         * lib/unistd.in.h (dup2): Declare the replacement.
35388         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
35389         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
35390         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
35391         * modules/execute (Depends-on): Add dup2.
35392         * modules/fseterr (Depends-on): Likewise.
35393         * modules/pipe (Depends-on): Likewise.
35394         * modules/posix_spawn-internal (Depends-on): Likewise.
35395
35396 2009-07-21  Bruno Haible  <bruno@clisp.org>
35397
35398         * modules/.gitattributes: New file.
35399
35400 2009-07-20  Bruno Haible  <bruno@clisp.org>
35401
35402         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
35403         (main): Use it.
35404
35405 2009-07-20  Eric Blake  <ebb9@byu.net>
35406
35407         test-pipe: make a bit more robust.
35408         * tests/test-pipe.c (myerr): Allow error messages regardless of
35409         what we do to stderr.
35410         (test_pipe): Rearrange to avoid deadlock.
35411         (child_main): Try a larger read, to ensure we avoided deadlock.
35412         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
35413         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
35414         if misused.
35415
35416 2009-07-19  Jim Meyering  <meyering@redhat.com>
35417
35418         fts: avoid false-positive cycle-detection
35419         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
35420         for each new command line argument.
35421
35422 2009-07-19  Bruno Haible  <bruno@clisp.org>
35423
35424         Fix build error on mingw with the modules sys_select and unistd.
35425         * modules/acl-tests (Depends-on): Add close.
35426         * modules/binary-io-tests (Depends-on): Likewise.
35427         * modules/closein-tests (Depends-on): Likewise.
35428         * modules/flock-tests (Depends-on): Likewise.
35429         * modules/fsync-tests (Depends-on): Likewise.
35430         * modules/lseek-tests (Depends-on): Likewise.
35431         * modules/pipe-tests (Depends-on): Likewise.
35432         * modules/posix_spawn-tests (Depends-on): Likewise.
35433         * modules/posix_spawnp-tests (Depends-on): Likewise.
35434         * modules/stat-time-tests (Depends-on): Likewise.
35435         * modules/yesno-tests (Depends-on): Likewise.
35436
35437 2009-07-19  Bruno Haible  <bruno@clisp.org>
35438
35439         Unify conditionals.
35440         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
35441         macros, not at the compiler macros.
35442         * lib/pipe.c: Likewise.
35443         * lib/execute.c: Likewise.
35444         * lib/spawni.c: Likewise.
35445
35446 2009-07-19  Bruno Haible  <bruno@clisp.org>
35447
35448         Fix handling of closed stdin/stdout/stderr on mingw.
35449         * lib/w32spawn.h: Include unistd.h.
35450         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
35451         file descriptor with O_NOINHERIT flag.
35452         (fd_safer_noinherit): New function, based on fd-safer.c.
35453         (dup_safer_noinherit): New function, based on dup-safer.c.
35454         (undup_safer_noinherit): New function.
35455         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
35456         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
35457         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
35458         instead of fd_safer.
35459         * tests/test-pipe.c: Include <windows.h>.
35460         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
35461         result.
35462
35463         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
35464         from main.
35465         (test_pipe): Pass an extra argument for disambiguation.
35466         (main): Invoke parent_main or child_main.
35467
35468         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
35469         consistently.
35470
35471 2009-07-18  Eric Blake  <ebb9@byu.net>
35472
35473         test-pipe: fix mingw build
35474         * tests/test-pipe.c (main): Avoid fcntl on mingw.
35475
35476 2009-07-18  Bruno Haible  <bruno@clisp.org>
35477
35478         * modules/pipe-tests (Makefile.am): Fix typo.
35479
35480 2009-07-18  Eric Blake  <ebb9@byu.net>
35481
35482         error: fix mingw build
35483         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
35484         Reported by Bruno Haible.
35485
35486         error: avoid undefined use of stdout
35487         * lib/error.c (error, error_at_line): Check that fd 1 is open
35488         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
35489         is handling faults and the close_stdout module wants to report the
35490         detection of closed stdout as an error.
35491
35492 2009-07-17  Eric Blake  <ebb9@byu.net>
35493
35494         pipe: be robust in face of closed fds
35495         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
35496         should cause child to misbehave.
35497         * modules/pipe-tests: New module.
35498         * tests/test-pipe.c: New file.
35499         * tests/test-pipe.sh: New file.
35500         Reported by Akim Demaille.
35501
35502 2009-07-14  Bruno Haible  <bruno@clisp.org>
35503
35504         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
35505         Reported by anonymous kc.
35506
35507 2009-07-07  Jim Meyering  <meyering@redhat.com>
35508
35509         maint.mk: don't look for translatable strings in *.m4 or *.mk
35510         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
35511         when searching for translatable strings.
35512
35513 2009-07-05  Jim Meyering  <meyering@redhat.com>
35514
35515         remove superfluous parentheses in STREQ definition
35516         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
35517         * lib/getugroups.c (STREQ): Likewise.
35518         * lib/fnmatch.c (STREQ): Likewise.
35519         Spotted by Bruno Haible.
35520
35521 2009-07-04  Jim Meyering  <meyering@redhat.com>
35522
35523         argv-iter: new module
35524         * MODULES.html.sh: Add argv-iter.
35525         * lib/argv-iter.c, lib/argv-iter.h: New files.
35526         * modules/argv-iter: New file.
35527         * modules/argv-iter-tests: New file.
35528         * tests/test-argv-iter.c: Test it.
35529
35530 2009-07-04  Bruno Haible  <bruno@clisp.org>
35531
35532         Fix assertion.
35533         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
35534         contains more exact copies of a given entry than file2, leave the extra
35535         copies unpaired rather than aborting.
35536         Reported by Eric Blake.
35537
35538 2009-07-02  Bruno Haible  <bruno@clisp.org>
35539
35540         Speedup git-merge-changelog for git cherry-pick.
35541         * lib/git-merge-changelog.c (struct entries_mapping): New type.
35542         (entries_mapping_get): New function, extracted from compute_mapping.
35543         (entries_mapping_reverse_get): New function.
35544         (compute_mapping): Add a 'full' argument. Return the result in a
35545         'struct entries_mapping'.
35546         (main): Update. Access the mappings through entries_mapping_get.
35547         Reported by Eric Blake.
35548
35549 2009-07-02  Bruno Haible  <bruno@clisp.org>
35550
35551         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
35552         best_i.
35553
35554 2009-07-02  Bruno Haible  <bruno@clisp.org>
35555
35556         Speed up approximate search for matching ChangeLog entries.
35557         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
35558         argument. Call fstrcmp_bounded instead of fstrcmp.
35559         (compute_mapping, try_split_merged_entry, main): Update callers.
35560
35561 2009-07-02  Bruno Haible  <bruno@clisp.org>
35562
35563         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
35564
35565 2009-06-30  Bruno Haible  <bruno@clisp.org>
35566
35567         Reduce the number of uc_is_cased calls.
35568         * lib/unicase.h (casing_suffix_context_t): Add
35569         'first_char_except_ignorable' field.
35570         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
35571         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
35572         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
35573         Update initializer.
35574         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
35575         case-ignorable characters.
35576         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
35577         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
35578         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
35579         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
35580         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
35581
35582 2009-06-30  Bruno Haible  <bruno@clisp.org>
35583
35584         Tests for module 'unicase/ignorable'.
35585         * modules/unicase/ignorable-tests: New file.
35586         * tests/unicase/test-ignorable.c: New file, generated by
35587         gen-uni-tables.
35588
35589         Tests for module 'unicase/cased'.
35590         * modules/unicase/cased-tests: New file.
35591         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
35592         * tests/unicase/test-predicate-part1.h: New file, derived from
35593         tests/unictype/test-predicate-part1.h.
35594         * tests/unicase/test-predicate-part2.h: New file, same as
35595         tests/unictype/test-predicate-part2.h.
35596
35597         Fix evaluation of "Before C" condition of FINAL_SIGMA.
35598         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
35599         (output_casing_properties): New function.
35600         (main): Call it.
35601         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
35602         * lib/unicase/cased.c: Include unictype/bitmap.h.
35603         (uc_is_cased): Define through a bitmap lookup.
35604         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
35605         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
35606         (uc_is_case_ignorable): Define through a bitmap lookup.
35607         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
35608         lib/unictype/bitmap.h.
35609         (Depends-on): Add inline. Clean up.
35610         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
35611         lib/unictype/bitmap.h.
35612         (Depends-on): Add inline. Clean up.
35613         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
35614         recognition.
35615         * tests/unicase/test-u16-tolower.c (main): Likewise.
35616         * tests/unicase/test-u32-tolower.c (main): Likewise.
35617
35618 2009-06-30  Bruno Haible  <bruno@clisp.org>
35619
35620         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
35621         * lib/unicase/u16-casemap.c: Likewise.
35622         * lib/unicase/u32-casemap.c: Likewise.
35623
35624 2009-06-29  Bruno Haible  <bruno@clisp.org>
35625
35626         Define u32_casefold as a wrapper around u32_ct_casefold.
35627         * lib/unicase/u32-casefold.c: Update.
35628         * modules/unicase/u32-casefold (Depends-on): Add
35629         unicase/u32-ct-casefold, unicase/empty-prefix-context,
35630         unicase/empty-suffix-context. Clean up.
35631
35632         Define u16_casefold as a wrapper around u16_ct_casefold.
35633         * lib/unicase/u16-casefold.c: Update.
35634         * modules/unicase/u16-casefold (Depends-on): Add
35635         unicase/u16-ct-casefold, unicase/empty-prefix-context,
35636         unicase/empty-suffix-context. Clean up.
35637
35638         Define u8_casefold as a wrapper around u8_ct_casefold.
35639         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
35640         * lib/unicase/u8-casefold.c: Update.
35641         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
35642         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
35643
35644         Define u32_totitle as a wrapper around u32_ct_totitle.
35645         * lib/unicase/u32-totitle.c: Update.
35646         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
35647         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
35648
35649         Define u16_totitle as a wrapper around u16_ct_totitle.
35650         * lib/unicase/u16-totitle.c: Update.
35651         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
35652         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
35653
35654         Define u8_totitle as a wrapper around u8_ct_totitle.
35655         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
35656         functions.
35657         (FUNC): Delegate to U_CT_TOTITLE.
35658         * lib/unicase/u8-totitle.c: Update.
35659         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
35660         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
35661
35662         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
35663         invocation.
35664         * modules/unicase/u32-tolower (Depends-on): Add
35665         unicase/empty-prefix-context, unicase/empty-suffix-context.
35666
35667         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
35668         invocation.
35669         * modules/unicase/u16-tolower (Depends-on): Add
35670         unicase/empty-prefix-context, unicase/empty-suffix-context.
35671
35672         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
35673         * modules/unicase/u8-tolower (Depends-on): Add
35674         unicase/empty-prefix-context, unicase/empty-suffix-context.
35675
35676         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
35677         invocation.
35678         * modules/unicase/u32-toupper (Depends-on): Add
35679         unicase/empty-prefix-context, unicase/empty-suffix-context.
35680
35681         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
35682         invocation.
35683         * modules/unicase/u16-toupper (Depends-on): Add
35684         unicase/empty-prefix-context, unicase/empty-suffix-context.
35685
35686         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
35687         * modules/unicase/u8-toupper (Depends-on): Add
35688         unicase/empty-prefix-context, unicase/empty-suffix-context.
35689
35690         New module 'unicase/u32-ct-casefold'.
35691         * lib/unicase/u32-ct-casefold.c: New file.
35692         * modules/unicase/u32-ct-casefold: New file.
35693
35694         New module 'unicase/u16-ct-casefold'.
35695         * lib/unicase/u16-ct-casefold.c: New file.
35696         * modules/unicase/u16-ct-casefold: New file.
35697
35698         New module 'unicase/u8-ct-casefold'.
35699         * lib/unicase/u8-ct-casefold.c: New file.
35700         * lib/unicase/u-ct-casefold.h: New file, derived from
35701         lib/unicase/u-casefold.h.
35702         * modules/unicase/u8-ct-casefold: New file.
35703
35704         New module 'unicase/u32-ct-totitle'.
35705         * lib/unicase/u32-ct-totitle.c: New file.
35706         * modules/unicase/u32-ct-totitle: New file.
35707
35708         New module 'unicase/u16-ct-totitle'.
35709         * lib/unicase/u16-ct-totitle.c: New file.
35710         * modules/unicase/u16-ct-totitle: New file.
35711
35712         New module 'unicase/u8-ct-totitle'.
35713         * lib/unicase/u8-ct-totitle.c: New file.
35714         * lib/unicase/u-ct-totitle.h: New file, derived from
35715         lib/unicase/u-totitle.h.
35716         * modules/unicase/u8-ct-totitle: New file.
35717
35718         New module 'unicase/u32-ct-tolower'.
35719         * lib/unicase/u32-ct-tolower.c: New file.
35720         * modules/unicase/u32-ct-tolower: New file.
35721
35722         New module 'unicase/u16-ct-tolower'.
35723         * lib/unicase/u16-ct-tolower.c: New file.
35724         * modules/unicase/u16-ct-tolower: New file.
35725
35726         New module 'unicase/u8-ct-tolower'.
35727         * lib/unicase/u8-ct-tolower.c: New file.
35728         * modules/unicase/u8-ct-tolower: New file.
35729
35730         New module 'unicase/u32-ct-toupper'.
35731         * lib/unicase/u32-ct-toupper.c: New file.
35732         * modules/unicase/u32-ct-toupper: New file.
35733
35734         New module 'unicase/u16-ct-toupper'.
35735         * lib/unicase/u16-ct-toupper.c: New file.
35736         * modules/unicase/u16-ct-toupper: New file.
35737
35738         New module 'unicase/u8-ct-toupper'.
35739         * lib/unicase/u8-ct-toupper.c: New file.
35740         * modules/unicase/u8-ct-toupper: New file.
35741
35742         Add context arguments to u*_casemap functions.
35743         * lib/unicase/unicasemap.h: Include unicase.h.
35744         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
35745         suffix_context arguments.
35746         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
35747         functions.
35748         (FUNC): Add prefix_context and suffix_context arguments. Use
35749         uc_is_cased and uc_is_case_ignorable.
35750         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
35751         * lib/unicase/u16-casemap.c: Likewise.
35752         * lib/unicase/u32-casemap.c: Likewise.
35753         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
35754         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
35755         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
35756         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
35757         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
35758         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
35759
35760         New module 'unicase/u32-suffix-context'.
35761         * lib/unicase/u32-suffix-context.c: New file.
35762         * modules/unicase/u32-suffix-context: New file.
35763
35764         New module 'unicase/u16-suffix-context'.
35765         * lib/unicase/u16-suffix-context.c: New file.
35766         * modules/unicase/u16-suffix-context: New file.
35767
35768         New module 'unicase/u8-suffix-context'.
35769         * lib/unicase/u8-suffix-context.c: New file.
35770         * lib/unicase/u-suffix-context.h: New file.
35771         * modules/unicase/u8-suffix-context: New file.
35772
35773         New module 'unicase/empty-suffix-context'.
35774         * lib/unicase/empty-suffix-context.c: New file.
35775         * modules/unicase/empty-suffix-context: New file.
35776
35777         New module 'unicase/u32-prefix-context'.
35778         * lib/unicase/u32-prefix-context.c: New file.
35779         * modules/unicase/u32-prefix-context: New file.
35780
35781         New module 'unicase/u16-prefix-context'.
35782         * lib/unicase/u16-prefix-context.c: New file.
35783         * modules/unicase/u16-prefix-context: New file.
35784
35785         New module 'unicase/u8-prefix-context'.
35786         * lib/unicase/u8-prefix-context.c: New file.
35787         * lib/unicase/u-prefix-context.h: New file.
35788         * lib/unicase/context.h: New file.
35789         * modules/unicase/u8-prefix-context: New file.
35790
35791         New module 'unicase/empty-prefix-context'.
35792         * lib/unicase/empty-prefix-context.c: New file.
35793         * modules/unicase/empty-prefix-context: New file.
35794
35795         New module 'unicase/ignorable'.
35796         * lib/unicase/ignorable.c: New file.
35797         * modules/unicase/ignorable: New file.
35798
35799         New module 'unicase/cased'.
35800         * lib/unicase/caseprop.h: New file.
35801         * lib/unicase/cased.c: New file.
35802         * modules/unicase/cased: New file.
35803
35804         New functions for case mapping of substrings.
35805         * lib/unicase.h (casing_prefix_context_t): New type.
35806         (unicase_empty_prefix_context): New variable.
35807         (u8_casing_prefix_context, u16_casing_prefix_context,
35808         u32_casing_prefix_context, u8_casing_prefixes_context,
35809         u16_casing_prefixes_context, u32_casing_prefixes_context): New
35810         declarations.
35811         (casing_suffix_context_t): New type.
35812         (unicase_empty_suffix_context): New variable.
35813         (u8_casing_suffix_context, u16_casing_suffix_context,
35814         u32_casing_suffix_context, u8_casing_suffixes_context,
35815         u16_casing_suffixes_context, u32_casing_suffixes_context,
35816         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
35817         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
35818         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
35819         declarations.
35820
35821 2009-06-28  Jim Meyering  <meyering@redhat.com>
35822
35823         boostrap: indent only with spaces
35824         * build-aux/bootstrap: Indent only with spaces, never TABs.
35825
35826         bootstrap: split long lines
35827         * build-aux/bootstrap: Keep line length < 80.
35828
35829         bootstrap: sync from coreutils
35830         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
35831         just as autoreconf does.  Verify a list of prerequisite
35832         package-name,version-number pairs if defined in bootstrap.conf.
35833         Refer to README-prereq, if prerequisites are not satisfied.
35834
35835 2009-06-27  Eric Blake  <ebb9@byu.net>
35836
35837         tests: add test for bogus NULL definition
35838         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
35839         * tests/test-stdlib.c: Likewise.
35840         * tests/test-string.c: Likewise.
35841         * tests/test-locale.c: Likewise.
35842         * tests/test-unistd.c: Likewise.
35843         * modules/stdio-tests (Depends-on): Add verify.
35844         * modules/stdlib-tests (Depends-on): Likewise.
35845         * modules/string-tests (Depends-on): Likewise.
35846         * modules/locale-tests (Depends-on): Likewise.
35847         * modules/unistd-tests (Depends-on): Likewise.
35848
35849 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
35850
35851         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
35852         self-explaining comment.
35853         * m4/selinux-selinux-h: Update serial.
35854         (gl_LIBSELINUX): New macro, adding a warning for missing development
35855         packages to code extracted from...
35856         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
35857         Add warning for missing development packages here, too.
35858
35859 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
35860
35861         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
35862
35863 2009-06-25  Eric Blake  <ebb9@byu.net>
35864
35865         version-etc: fix regression
35866         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
35867         gcc.
35868         (version_etc): Use it, to catch bugs with trailing NULL.
35869         * lib/version-etc.c (version_etc_arn): Delete unused argument.
35870         (version_etc_va): Fix logic bug.
35871         * modules/version-etc-tests: Add test.
35872         * tests/test-version-etc.c: New file.
35873         * tests/test-version-etc.sh: Likewise.
35874
35875 2009-06-25  Sam Steingold  <sds@gnu.org>
35876
35877         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
35878         mbtowc declaration.
35879
35880 2009-06-25  Eric Blake  <ebb9@byu.net>
35881
35882         fpurge: migrate into <stdio.h>
35883         * lib/fpurge.h: Delete...
35884         * lib/stdio.in.h (fpurge): ...and declare here, instead.
35885         * lib/fpurge.c (fpurge): Change declaring header.
35886         * modules/fpurge (Files): Drop deleted file.
35887         (Depends-on): Add stdio.
35888         (configure.ac): Set witness.
35889         * modules/stdio (Makefile.am): Support fpurge macros.
35890         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
35891         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
35892         * lib/fflush.c: Update client.
35893         * tests/test-fpurge.c: Likewise.
35894         * NEWS: Mention the change.
35895
35896 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
35897
35898         * lib/argp-version-etc.c (program_authors): Add const
35899         qualifier.
35900         * lib/version-etc.c: Fix typos in the comments.
35901         * modules/argp-version-etc: Depends on version-etc.
35902
35903 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
35904
35905         argp-version-etc: new module.
35906
35907         * lib/argp-version-etc.c: New file.
35908         * lib/argp-version-etc.h: New file.
35909         * modules/argp-version-etc: New file.
35910         * modules/argp-version-etc-tests: New file.
35911         * tests/test-argp-version-etc.c: New test.
35912         * tests/test-argp-version-etc-1.sh: New test.
35913
35914 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
35915
35916         Provide additional interfaces and documentation for version-etc
35917         module.
35918
35919         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
35920         interfaces.
35921         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
35922         prototypes.
35923
35924 2009-06-24  Bruno Haible  <bruno@clisp.org>
35925
35926         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
35927         HAVE_LIB${NAME} macro.
35928         Reported by Sam Steingold <sds@gnu.org>.
35929
35930 2009-06-23  Simon Josefsson  <simon@josefsson.org>
35931
35932         * modules/hash-tests (test_hash_LDADD): Link to libintl when
35933         needed.
35934
35935 2009-06-21  Bruno Haible  <bruno@clisp.org>
35936
35937         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
35938         work.
35939         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
35940         together with LIB${NAME}, LTLIB${NAME}.
35941         Reported by Sam Steingold <sds@gnu.org>.
35942
35943 2009-06-20  Jim Meyering  <meyering@redhat.com>
35944
35945         tests: make sc_require_test_exit_idiom more generic
35946         * top/maint.mk (Exit_witness_file): New overridable variable.
35947         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
35948         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
35949
35950 2009-06-19  Jim Meyering  <meyering@redhat.com>
35951
35952         hash: reverse order of src/dst parameters in an internal interface
35953         * lib/hash.c (transfer_entries): Reverse order of parameters to
35954         put DST before SRC.  Adjust callers.
35955
35956         tests: test-hash: avoid wholesale duplication
35957         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
35958         Instead, use a loop and add a single conditional.
35959
35960         tests: test-hash: allow seed selection via a command line argument
35961         * tests/test-hash.c (get_seed): New function.
35962         (main): Use it.
35963
35964 2009-06-19  Eric Blake  <ebb9@byu.net>
35965
35966         hash: avoid memory leak on allocation failure
35967         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
35968         failure.  Factor repeated algorithm...
35969         (transfer_entries): ...into new helper routine.
35970         (hash_delete): React to hash_rehash return value.
35971
35972         hash: reduce memory pressure in hash_rehash no-op case
35973         * lib/hash.c (next_prime): Avoid overflow.
35974         (hash_initialize): Factor bucket size computation...
35975         (compute_bucket_size): ...into new helper function.
35976         (hash_rehash): Use new function and open coding to reduce memory
35977         pressure, and avoid a memory leak in USE_OBSTACK code.
35978         Reported by Jim Meyering.
35979
35980 2009-06-18  Eric Blake  <ebb9@byu.net>
35981
35982         hash: make rotation more obvious
35983         * modules/hash (Depends-on): Add bitrotate and stdint.
35984         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
35985         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
35986         (SIZE_MAX): Rely on headers for definition.
35987         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
35988         (raw_hasher): Use rotr_sz.
35989         Suggested by Jim Meyering.
35990
35991         hash: fix memory leak in last patch
35992         * lib/hash.c (hash_rehash): Avoid memory leak.
35993
35994         hash: avoid no-op rehashing
35995         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
35996
35997         hash: provide default callback functions
35998         * lib/hash.c (raw_hasher, raw_comparator): New functions.
35999         (hash_initialize): Use them as defaults.
36000         * tests/test-hash.c (main): Test this.
36001
36002         hash: minor optimization
36003         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
36004         when possible.
36005         (hash_initialize): Document this promise.
36006         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
36007         * tests/test-hash.c (hash_compare_strings): Test this.
36008
36009 2009-06-18  Bruno Haible  <bruno@clisp.org>
36010
36011         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
36012         going to be replaced anyway.
36013
36014 2009-06-18  Bruno Haible  <bruno@clisp.org>
36015
36016         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
36017         in one place.
36018         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
36019         be replaced anyway.
36020
36021 2009-06-18  Eric Blake  <ebb9@byu.net>
36022
36023         hash: check for resize before insertion
36024         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
36025         threshold before insertion, so that a pathological hash_rehash
36026         that fills every bucket can still trigger another rehash.
36027
36028 2009-06-18  Jim Meyering  <meyering@redhat.com>
36029
36030         hash-tests: add a loop around the small tests
36031         * tests/test-hash.c (main): Repeat small tests with selected
36032         small initial table sizes.
36033
36034 2009-06-17  Eric Blake  <ebb9@byu.net>
36035
36036         hash: minor cleanups
36037         * lib/hash.h (hash_entry): Make opaque, by moving...
36038         * lib/hash.c (hash_entry): ...here.
36039         (hash_insert): Clarify restrictions on what can be inserted.
36040         (hash_get_next): Clarify when it is safe to remove an element
36041         during traversal.
36042         (check_tuning): Skip verification when tuning is known safe.
36043         (hash_initialize): Clarify restrictions on tuning.
36044
36045 2009-06-17  Jim Meyering  <jim@meyering.net>
36046         and Eric Blake  <ebb9@byu.net>
36047
36048         hash-tests: new module
36049         * modules/hash-tests: New file.
36050         * tests/test-hash.c: New file.
36051
36052 2009-06-17  Eric Blake  <ebb9@byu.net>
36053
36054         strstr-simple: document new module
36055         * MODULES.html.sh: Document new module.
36056
36057         strstr, strcasestr: replace on platforms with broken memchr
36058         * modules/strstr: Split into...
36059         * modules/strstr-simple: ...new module that does not care about
36060         performance, but does care about glibc bug.
36061         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
36062         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
36063         if platform memchr is broken, per Debian bug 521737.
36064         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
36065         memchr.
36066         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
36067         * doc/posix-functions/strstr.texi (strstr): Document the fix.
36068         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
36069         * modules/mountlist (Depends-on): Add strstr-simple.
36070         * modules/gen-uni-tables (Depends-on): Likewise.
36071         * modules/argz (Depends-on): Add strstr.
36072
36073 2009-06-17  Bruno Haible  <bruno@clisp.org>
36074
36075         * modules/posix_spawn-internal (Depends-on): Add errno.
36076
36077 2009-06-17  Bruno Haible  <bruno@clisp.org>
36078
36079         Define missing ESTALE on Interix 3.5.
36080         * lib/errno.in.h (ESTALE): Assign a value if missing.
36081         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
36082         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
36083         missing.
36084         * doc/posix-headers/errno.texi: Mention the Interix bug.
36085         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
36086
36087 2009-06-15  Eric Blake  <ebb9@byu.net>
36088
36089         memchr, memchr2: add valgrind exception
36090         * lib/memchr.valgrind: New file.
36091         * lib/memchr2.valgrind: New file.
36092         * modules/memchr (Files): Distribute valgrind file.
36093         * modules/memchr2 (Files): Likewise.
36094
36095         docs: memchr is no longer obsolete
36096         * MODULES.html.sh: Move memchr from obsolete to string.h section.
36097         * lib/string.in.h (memchr): Simplify logic.
36098
36099 2009-06-14  Jim Meyering  <meyering@redhat.com>
36100
36101         link-follow: fix the "checking..." message to not mention trailing slash
36102         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
36103         never considered trailing slashes.
36104
36105 2009-06-14  Bruno Haible  <bruno@clisp.org>
36106
36107         * m4/memchr.m4: Mention also the bug on IA-64.
36108         * doc/posix-functions/memchr.texi: Likewise.
36109
36110 2009-06-12  Eric Blake  <ebb9@byu.net>
36111
36112         memchr: detect broken x86_64 and alpha implementations
36113         * modules/memchr-tests (Depends-on): Move mmap detection...
36114         * modules/memchr (Depends-on): ...here.
36115         (configure.ac): Set indicator.
36116         * lib/string.in.h (memchr): Declare replacement.
36117         * modules/string (Makefile.am): Trigger replacement.
36118         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
36119         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
36120         bugs.
36121         * doc/posix-functions/memchr.texi (memchr): Document the bug.
36122         * modules/getpagesize (License): Relax license.
36123
36124 2009-06-11  Bruno Haible  <bruno@clisp.org>
36125
36126         * lib/idpriv.h: Add more references.
36127
36128 2009-06-08  Bruno Haible  <bruno@clisp.org>
36129
36130         Tests for module 'idpriv-droptemp'.
36131         * modules/idpriv-droptemp-tests: New file.
36132         * tests/test-idpriv-droptemp.sh: New file.
36133         * tests/test-idpriv-droptemp.su.sh: New file.
36134         * tests/test-idpriv-droptemp.c: New file.
36135
36136         New module 'idpriv-droptemp'.
36137         * lib/idpriv-droptemp.c: New file.
36138         * modules/idpriv-droptemp: New file.
36139
36140 2009-06-08  Bruno Haible  <bruno@clisp.org>
36141
36142         Tests for module 'idpriv-drop'.
36143         * modules/idpriv-drop-tests: New file.
36144         * tests/test-idpriv-drop.sh: New file.
36145         * tests/test-idpriv-drop.su.sh: New file.
36146         * tests/test-idpriv-drop.c: New file.
36147
36148         New module 'idpriv-drop'.
36149         * lib/idpriv.h: New file.
36150         * lib-idpriv-drop.c: New file.
36151         * m4/idpriv.m4: New file.
36152         * modules/idpriv-drop: New file.
36153
36154 2009-06-08  Bruno Haible  <bruno@clisp.org>
36155
36156         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
36157         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
36158         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
36159         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
36160         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
36161         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
36162         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
36163
36164 2009-06-08  Eric Blake  <ebb9@byu.net>
36165
36166         test-strstr: use memory fence, when possible
36167         * tests/test-strstr.c (main): Use memory fence, in order to be
36168         more likely to trigger Debian bug 521737.
36169         * modules/strstr-tests (Files): Pull in additional files.
36170
36171         memchr: no longer obsolete, for wider field testing
36172         * modules/memchr (Status, Notice): Delete, this module is no
36173         longer obsolete.
36174         * modules/vasnprintf (Depends-on): Add memchr.
36175
36176 2009-06-07  Jim Meyering  <meyering@redhat.com>
36177
36178         hash: declare some functions with the warn_unused_result attribute
36179         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
36180
36181 2009-06-07  Bruno Haible  <bruno@clisp.org>
36182
36183         * tests/test-alignof.c: Don't test int64_t if it does not exist.
36184         Reported by Eric Blake.
36185
36186 2009-06-06  Eric Blake  <ebb9@byu.net>
36187
36188         test-alignof: fix typo with long double
36189         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
36190         compiler error.
36191
36192 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
36193
36194         Escape non-texinfo { and }s.
36195         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
36196         markup error.
36197
36198 2009-06-04  Jim Meyering  <meyering@redhat.com>
36199
36200         gitlog-to-changelog: don't infloop on an empty commit log
36201         * build-aux/gitlog-to-changelog: Warn about an empty log message.
36202         Reported by Boris Petersen <transacid@centerim.org>.
36203
36204 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
36205
36206         version-etc: extend for packagers
36207         Add three new configure options, intended for packagers:
36208           --with-packager="packager name"
36209           --with-packager-version="packager-specific version"
36210           --with-packager-bug-reports="packager bug reporting"
36211         An example with coreutils:
36212           $ ./configure \
36213             --with-packager=Gentoo \
36214             --with-packager-bug-report=http://bugs.gentoo.org/ \
36215             --with-packager-version="patchset 1.6"
36216           $ ./src/ls --version | head -n2
36217           ls (GNU coreutils) 7.1-dirty
36218           Packaged by Gentoo (patchset 1.6)
36219         Note that the bug reporting info via --help doesn't show up because
36220         coreutils uses its own custom emit_bug_reporting_address() implementation
36221         in src/system.h.  If it didn't, it'd look like:
36222           $ ./src/ls --help | tail -n4
36223           Report bugs to <bug-coreutils@gnu.org>.
36224           Report Gentoo bugs to <http://bugs.gentoo.org/>.
36225           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
36226           General help using GNU software: <http://www.gnu.org/gethelp/>.
36227         * lib/version-etc.c: Print new information, if provided.
36228         * m4/version-etc.m4: New file.
36229         * modules/version-etc (Files): Add m4/version-etc.m4.
36230         (configure.ac): Add gl_VERSION_ETC.
36231
36232 2009-05-31  Bruno Haible  <bruno@clisp.org>
36233
36234         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
36235         and 'int64_t'.
36236         * modules/alignof-tests (Dependencies): Add stdint.
36237         Reported by Eric Blake.
36238
36239 2009-05-31  Bruno Haible  <bruno@clisp.org>
36240
36241         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
36242         restriction due to compiler bugs.
36243         Reported by Eric Blake.
36244
36245 2009-05-31  Simon Josefsson  <simon@josefsson.org>
36246             Bruno Haible  <bruno@clisp.org>
36247
36248         Fix test-alignof failure.
36249         * lib/alignof.h (alignof_slot): New macro.
36250         (alignof_type): New macro, with the same semantics as the previous
36251         'alignof'.
36252         (alignof): Alias to alignof_slot.
36253         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
36254         check that the results are usable as constant expressions.
36255
36256 2009-05-31  Bruno Haible  <bruno@clisp.org>
36257
36258         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
36259         * tests/test-memchr.c (main): Check that memchr does not read past the
36260         first occurrence of the byte.
36261         * tests/test-strstr.c (main): Update comment.
36262         Suggested by Eric Blake.
36263
36264 2009-05-30  Bruno Haible  <bruno@clisp.org>
36265
36266         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
36267         detail how to use dumpbin.
36268         Reported by David Byron <dbyron@dbyron.com>.
36269
36270 2009-06-02  Simon Josefsson  <simon@josefsson.org>
36271
36272         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
36273
36274 2009-06-02  Simon Josefsson  <simon@josefsson.org>
36275
36276         * m4/manywarnings.m4: Add GCC 4.4 warnings.
36277
36278 2009-05-28  Bruno Haible  <bruno@clisp.org>
36279
36280         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
36281         build-aux/ files.
36282
36283 2009-05-28  Simon Josefsson  <simon@josefsson.org>
36284
36285         * gnulib-tool (func_import): Transform license on build-aux/ files too.
36286
36287 2009-05-27  Simon Josefsson  <simon@josefsson.org>
36288
36289         * gnulib-tool (sed_transform_main_lib_file)
36290         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
36291         regexps.
36292
36293 2009-05-26  Simon Josefsson  <simon@josefsson.org>
36294
36295         * tests/test-strstr.c: Add another self-test.
36296         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
36297         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
36298
36299 2009-05-23  Bruno Haible  <bruno@clisp.org>
36300
36301         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
36302         change.
36303
36304 2009-05-21  Bruno Haible  <bruno@clisp.org>
36305
36306         Simplify use of mode_t varargs.
36307         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
36308         uses 'mode_t' or 'int'.
36309         * lib/openat.c (openat): Likewise.
36310         * lib/open-safer.c (open_safer): Likewise.
36311         * m4/mode_t.m4: New file.
36312         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
36313         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
36314         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
36315         * modules/open (Files): Add m4/mode_t.m4.
36316         * modules/openat (Files): Likewise.
36317         * modules/fcntl-safer (Files): Likewise.
36318         Suggested by Eric Blake.
36319
36320 2009-05-21  Pádraig Brady  <P@draigbrady.com>
36321
36322         * doc/glibc-functions/fallocate.texi: New file.
36323         * doc/gnulib.texi: Include it.
36324
36325 2009-05-21  Eric Blake  <ebb9@byu.net>
36326             Bruno Haible  <bruno@clisp.org>
36327
36328         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
36329         invocations.
36330         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
36331
36332 2009-05-21  Eric Blake  <ebb9@byu.net>
36333             Bruno Haible  <bruno@clisp.org>
36334
36335         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
36336         include_next. Fix of 2008-11-20 commit.
36337         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
36338         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
36339         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
36340         NEXT_MATH_H.
36341         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
36342         instead of NEXT_MATH_H.
36343
36344 2009-05-21  Bruno Haible  <bruno@clisp.org>
36345
36346         Avoid redefinition warnings for SIZE_MAX.
36347         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
36348         Reported by Simon Josefsson.
36349
36350 2009-05-21  Bruno Haible  <bruno@clisp.org>
36351
36352         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
36353         AC_CACHE_VAL.
36354
36355 2009-05-20  Bruno Haible  <bruno@clisp.org>
36356
36357         Make zeroptr.h work on mingw.
36358         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
36359         mprotect.
36360         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
36361         * modules/memchr2-tests (configure.ac): Likewise.
36362         * modules/memcmp-tests (configure.ac): Likewise.
36363         * modules/memmem-tests (configure.ac): Likewise.
36364         * modules/memrchr-tests (configure.ac): Likewise.
36365         Reported by Simon Josefsson.
36366
36367 2009-05-20  Simon Josefsson  <simon@josefsson.org>
36368
36369         * tests/test-glob.c: Include string.h for strcmp prototype.
36370
36371 2009-05-20  Simon Josefsson  <simon@josefsson.org>
36372
36373         * modules/getdelim (Depends-on): Add explicit stdint, although it
36374         was implicitly already pulled in via realloc-posix.
36375         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
36376
36377 2009-05-20  Simon Josefsson  <simon@josefsson.org>
36378
36379         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
36380         G. Christensen" <tgc@jupiterrise.com>.
36381         * m4/sys_socket_h.m4: Check for sa_family_t.
36382         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
36383         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
36384         * tests/test-sys_socket.c: Check that sa_family_t works.
36385
36386 2009-05-18  Eric Blake  <ebb9@byu.net>
36387
36388         maint.mk: allow gnulib_dir in VPATH build
36389         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
36390
36391 2009-05-15  Jim Meyering  <meyering@redhat.com>
36392
36393         maint.mk: Give gnulib_dir a default definition.
36394         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
36395         Thus, most packages no longer need to specify this variable in cfg.mk
36396
36397 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
36398
36399         rename.m4: fix typos that would make non-mingw cross-configure fail
36400         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
36401
36402 2009-05-13  Eric Blake  <ebb9@byu.net>
36403
36404         mmap-anon: avoid out-of-order autoconf expansion
36405         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
36406         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
36407         * modules/memchr-tests (Depends-on): Add extensions.
36408         * modules/memchr2-tests (Depends-on): Add extensions.
36409         * modules/memcmp-tests (Depends-on): Add extensions.
36410         * modules/memmem-tests (Depends-on): Add extensions.
36411         * modules/memrchr-tests (Depends-on): Add extensions.
36412
36413 2009-05-13  Bruno Haible  <bruno@clisp.org>
36414
36415         Make some tests ISO C 99 compliant.
36416         * tests/zerosize-ptr.h: New file.
36417         * tests/test-memchr.c: Include zerosize-ptr.h.
36418         (main): Use a zero-size object pointer instead of NULL.
36419         * tests/test-memchr2.c: Include zerosize-ptr.h.
36420         (main): Use a zero-size object pointer instead of NULL.
36421         * tests/test-memcmp.c: Include zerosize-ptr.h.
36422         (main): Use a zero-size object pointer instead of NULL.
36423         * tests/test-memmem.c: Include zerosize-ptr.h.
36424         (main): Use a zero-size object pointer instead of NULL.
36425         * tests/test-memrchr.c: Include zerosize-ptr.h.
36426         (main): Use a zero-size object pointer instead of NULL.
36427         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
36428         m4/mmap-anon.m4.
36429         (Depends-on): Add getpagesize.
36430         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
36431         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
36432         m4/mmap-anon.m4.
36433         (Depends-on): Add getpagesize.
36434         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
36435         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
36436         m4/mmap-anon.m4.
36437         (Depends-on): Add getpagesize.
36438         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
36439         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
36440         m4/mmap-anon.m4.
36441         (Depends-on): Add getpagesize.
36442         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
36443         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
36444         m4/mmap-anon.m4.
36445         (Depends-on): Add getpagesize.
36446         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
36447
36448 2009-05-12  Bruno Haible  <bruno@clisp.org>
36449
36450         Tests for module 'alignof'.
36451         * modules/alignof-tests: New file.
36452         * tests/test-alignof.c: New file.
36453
36454 2009-05-12  Bruno Haible  <bruno@clisp.org>
36455
36456         Fix alignof macro.
36457         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
36458         vendor compilers that are always correct.
36459
36460 2009-05-12  Bruno Haible  <bruno@clisp.org>
36461
36462         Make the MAP_ANONYMOUS detection work on HP-UX 11.
36463         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
36464         not whether its fully works.
36465
36466 2009-05-12  Bruno Haible  <bruno@clisp.org>
36467
36468         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
36469
36470 2009-05-12  Jim Meyering  <meyering@redhat.com>
36471
36472         * top/maint.mk: Adjust backslash alignment.
36473
36474 2009-05-11  Simon Josefsson  <simon@josefsson.org>
36475
36476         * top/maint.mk: Make $(srcdir)/build-aux configurable.
36477
36478 2009-05-11  Eric Blake  <ebb9@byu.net>
36479
36480         argp: avoid undefined behavior
36481         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
36482         macros.
36483
36484 2009-05-08  Simon Josefsson  <simon@josefsson.org>
36485
36486         * tests/test-vc-list-files-git.sh: Do git config of user.email and
36487         user.name to prevent git commit from complaining.
36488
36489 2009-05-10  Bruno Haible  <bruno@clisp.org>
36490
36491         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
36492         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
36493         it rewrites every file name only once.
36494         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
36495
36496 2009-05-08  Bruno Haible  <bruno@clisp.org>
36497
36498         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
36499         instead of 'max'.
36500
36501 2009-05-08  Simon Josefsson  <simon@josefsson.org>
36502
36503         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
36504         sockaddr_storage test.
36505
36506 2009-05-07  Simon Josefsson  <simon@josefsson.org>
36507
36508         * modules/sys_socket (Makefile.am): Substitute
36509         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
36510         * m4/sys_socket_h.m4: Check for sockaddr_storage.
36511         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
36512         * tests/test-sys_socket.c: Check sockaddr_storage.
36513
36514 2009-05-08  Bruno Haible  <bruno@clisp.org>
36515
36516         New module 'alignof'.
36517         * lib/alignof.h: New file.
36518         * modules/alignof: New file.
36519
36520 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
36521             Bruno Haible  <bruno@clisp.org>
36522
36523         Fix test-file-has-acl on FreeBSD.
36524         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
36525         mask is implicitly added.
36526         * tests/test-file-has-acl.c: Include <signal.h>.
36527         (main): Terminate the test after 5 seconds.
36528         * modules/acl-tests (configure.ac): Check for alarm function.
36529
36530 2009-05-04  Bruno Haible  <bruno@clisp.org>
36531
36532         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
36533         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
36534         * modules/errno (configure.ac): Drop AC_REQUIRE.
36535         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
36536         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
36537
36538 2009-05-04  Simon Josefsson  <simon@josefsson.org>
36539
36540         * modules/glob-tests: New module.
36541         * tests/test-glob.c: Add.
36542
36543 2009-05-04  Simon Josefsson  <simon@josefsson.org>
36544
36545         * modules/fnmatch-tests: New module.
36546         * tests/test-fnmatch.c: Add.
36547
36548 2009-05-04  Eric Blake  <ebb9@byu.net>
36549
36550         maint: make the new no-submodule-changes rule VPATH-safe
36551         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
36552
36553 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
36554             Bruno Haible  <bruno@clisp.org>
36555
36556         acl: Fix infinite loop on FreeBSD.
36557         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
36558         of return value from acl_get_entry.
36559         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
36560         Likewise.
36561
36562 2009-05-03  Bruno Haible  <bruno@clisp.org>
36563
36564         * lib/acl-internal.h (acl_entries): Clarify return value.
36565         * lib/acl_entries.c (acl_entries): Likewise.
36566
36567 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
36568
36569         Bug fix in acl module.
36570         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
36571
36572 2009-05-03  Bruno Haible  <bruno@clisp.org>
36573
36574         Create gperf-generated file in the source dir, not in the build dir.
36575         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
36576         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
36577         * modules/unicase/locale-language (unicase/locale-languages.h):
36578         Likewise.
36579         * modules/unicase/special-casing (unicase/special-casing-table.h):
36580         Likewise.
36581         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
36582         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
36583         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
36584         Reported by Ralf Wildenhues.
36585
36586 2009-05-03  Bruno Haible  <bruno@clisp.org>
36587
36588         * modules/fnmatch (Description, configure.ac): Taken from
36589         fnmatch-posix.
36590         * modules/fnmatch-posix: Turn into a symbolic reference to the
36591         'fnmatch' module, and deprecate.
36592         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
36593
36594 2009-05-03  Bruno Haible  <bruno@clisp.org>
36595
36596         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
36597         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
36598         Reported by Ralf Wildenhues.
36599
36600 2009-05-04  Simon Josefsson  <simon@josefsson.org>
36601
36602         * m4/fnmatch.m4: Fix fnmatch re-define.
36603
36604 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
36605
36606         priv-set: new module and tests; adapt write-any-file
36607         * lib/priv-set.c: New file.
36608         * lib/priv-set.h: New file.
36609         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
36610         * lib/write-any-file.c: Simplify by using priv-set module.
36611         * m4/priv-set.m4: New file.
36612         * modules/priv-set: New file.
36613         * modules/unlinkdir: Add dependency on priv-set module.
36614         * modules/write-any-file: Likewise.
36615
36616         Tests for module 'priv-set'.
36617         * modules/priv-set-tests: New file.
36618         * tests/test-priv-set.c: New file.
36619
36620 2009-05-03  Jim Meyering  <meyering@redhat.com>
36621             Bruno Haible  <bruno@clisp.org>
36622
36623         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
36624         use the converted UTF-8 variant of the name instead.
36625
36626 2009-05-03  Jim Meyering  <meyering@redhat.com>
36627
36628         tests: tighten some getdate tests
36629         * tests/test-getdate.c (main): Tighten tests: require equality,
36630         not just greater than.  Set TZ envvar to UTC0.
36631
36632 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
36633
36634         getdate: correctly interpret "next monday" when run on a Monday
36635         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
36636         that e.g., "next tues" (when run on a tuesday) results in a date
36637         that is one week in the future, and not today's date.
36638         I.e., add a week when the wday is the same as the current one.
36639         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
36640         and earlier by Martin Bernreuther and Jan Minář.
36641         * tests/test-getdate.c (main): Check that "next DAY" is always in
36642         the future and that "last DAY" is always in the past.
36643
36644 2009-05-02  Jim Meyering  <meyering@redhat.com>
36645
36646         build: ensure that a release build fails when a submodule is unclean
36647         * top/maint.mk (no-submodule-changes): New rule.
36648         (alpha beta major): Depend on it.
36649
36650 2009-05-02  Bruno Haible  <bruno@clisp.org>
36651
36652         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
36653         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
36654         shell variable gl_fnmatch_required to detect which variant is
36655         requested.
36656         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
36657         gl_FUNC_FNMATCH_POSIX.
36658         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
36659         exclude fnmatch-posix.
36660
36661 2009-05-02  Bruno Haible  <bruno@clisp.org>
36662
36663         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
36664         * modules/mbsrtowcs (License): Change to LGPLv2+.
36665         * modules/strnlen1 (License): Likewise.
36666         Reported by Simon Josefsson.
36667
36668 2009-05-02  Bruno Haible  <bruno@clisp.org>
36669
36670         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
36671         "cross".
36672         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
36673         gnulib-tool was called with option --source-base=lib.
36674
36675 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36676
36677         Use automake *-local hooks without commands, for extensibility.
36678         * modules/localcharset (Makefile.am): Rename install-exec-local
36679         rule to install-exec-localcharset, and make it a prerequisite of
36680         install-exec-local.  Likewise, rename the uninstall-local rule to
36681         uninstall-localcharset, and make it a prerequisite of the former.
36682
36683 2009-05-01  Bruno Haible  <bruno@clisp.org>
36684
36685         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
36686         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
36687         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
36688         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
36689         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
36690         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
36691         m4/locale-zh.m4, m4/codeset.m4.
36692
36693         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
36694         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
36695         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
36696         m4/locale-zh.m4.
36697
36698         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
36699         REPLACE_WCRTOMB if mbstate_t must be replaced.
36700         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
36701         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
36702
36703 2009-05-01  Bruno Haible  <bruno@clisp.org>
36704
36705         Avoid compiler warnings when redefining macros defined by <libintl.h>.
36706         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
36707         dngettext, dcngettext, textdomain, bindtextdomain,
36708         bind_textdomain_codeset): Undefine before redefining.
36709
36710 2009-04-30  Bruno Haible  <bruno@clisp.org>
36711
36712         Fix bug introduced on 2009-04-25.
36713         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
36714         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
36715         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
36716         is defined.
36717         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
36718         is defined.
36719         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
36720         is defined.
36721         Reported by Elbert_Pol <elbert.pol@gmail.com>.
36722
36723 2009-04-28  Bruno Haible  <bruno@clisp.org>
36724
36725         Comment tweaks.
36726         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
36727         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
36728         * lib/unicase.h (u*_casexfrm): Likewise.
36729         Reported by Paolo Bonzini.
36730
36731 2009-04-28  Bruno Haible  <bruno@clisp.org>
36732
36733         Fix a compilation error.
36734         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
36735         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
36736         Reported by Jim Meyering.
36737
36738 2009-04-27  Bruno Haible  <bruno@clisp.org>
36739
36740         New module 'libunistring'.
36741         * modules/libunistring: New file.
36742         * m4/libunistring.m4: New file.
36743         * MODULES.html.sh (Unicode string functions): Add it.
36744
36745 2009-04-27  Eric Blake  <ebb9@byu.net>
36746
36747         maint.mk: allow package-specific header to provide <config.h>
36748         * top/maint.mk (sc_require_config_h): New variable.
36749         (sc_require_config_h, sc_require_config_h_first): Use it.
36750
36751 2009-04-27  Simon Josefsson  <simon@josefsson.org>
36752
36753         * top/maint.mk (sc_avoid_if_before_free): Except
36754         useless-if-before-free script.
36755
36756 2009-04-27  Eric Blake  <ebb9@byu.net>
36757
36758         maintainer-makefile: depend on all required helper scripts
36759         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
36760         useless-if-before-free.
36761         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
36762         version, rather than assuming gnulib checkout is available.
36763         Reported by Simen Josefsson.
36764
36765 2009-04-26  Bruno Haible  <bruno@clisp.org>
36766
36767         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
36768         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
36769         "../" or "..".
36770
36771 2009-04-26  Bruno Haible  <bruno@clisp.org>
36772
36773         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
36774         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
36775         AC_LIB_HAVE_LINKFLAGS.
36776
36777 2009-04-26  Bruno Haible  <bruno@clisp.org>
36778
36779         Simplify calling convention of u*_conv_from_encoding.
36780         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
36781         u32_conv_from_encoding): Expect a resultbuf argument and return the
36782         result directly as a pointer.
36783         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
36784         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
36785         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
36786         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
36787         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
36788         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
36789         Update.
36790         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
36791         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
36792         * lib/vasnprintf.c (VASNPRINTF): Update.
36793         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
36794         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
36795         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
36796         * NEWS: Mention the change.
36797
36798 2009-04-26  Bruno Haible  <bruno@clisp.org>
36799
36800         Simplify calling convention of u*_conv_to_encoding.
36801         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
36802         u32_conv_to_encoding): Expect a resultbuf argument and return the
36803         result directly as a pointer.
36804         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
36805         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
36806         freeing scaled_offsets if mem_iconveha failed.
36807         * lib/unicase/u-casexfrm.h (FUNC): Update.
36808         * lib/uninorm/u-normxfrm.h (FUNC): Update.
36809         * lib/vasnprintf.c (VASNPRINTF): Update.
36810         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
36811         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
36812         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
36813         * NEWS: Mention the change.
36814
36815 2009-04-26  Bruno Haible  <bruno@clisp.org>
36816
36817         Avoid test failures on AIX and OSF/1.
36818         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
36819         malloc(0).
36820         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
36821         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
36822         Likewise.
36823         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
36824         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
36825         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
36826         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
36827         * doc/posix-functions/malloc.texi: Document the portability problem
36828         related to malloc(0).
36829
36830 2009-04-26  Bruno Haible  <bruno@clisp.org>
36831
36832         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
36833         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
36834         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
36835
36836 2009-04-25  Bruno Haible  <bruno@clisp.org>
36837
36838         Avoid link error when creating a namespace clean library.
36839         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
36840         as macro with arguments if already defined as an alias.
36841         * lib/signbitf.c (gl_signbitf): Don't undefine.
36842         * lib/signbitd.c (gl_signbitd): Don't undefine.
36843         * lib/signbitl.c (gl_signbitl): Don't undefine.
36844
36845 2009-04-25  Jim Meyering  <meyering@redhat.com>
36846
36847         vc-list-files: fix another quoting bug
36848         * build-aux/vc-list-files: Avoid sed backslash expansion
36849         of pathological directory names.
36850
36851 2009-04-25  Eric Blake  <ebb9@byu.net>
36852
36853         vc-list-files: fix shell quoting error
36854         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
36855         timestamp.
36856
36857 2009-04-25  Jim Meyering  <meyering@redhat.com>
36858
36859         vc-list-files: restore lost functionality with subdir argument
36860         * build-aux/vc-list-files: When given a non-"." sub-directory
36861         argument, substitute the $dir/ prefix back onto each resulting name.
36862         Otherwise, coreutils' root_tests check would fail.
36863
36864 2009-04-24  Eric Blake  <ebb9@byu.net>
36865
36866         vc-list-files: ignore git symlinks
36867         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
36868         than ls-files, to ignore git symlinks.
36869
36870         maint.mk: import improvements from m4
36871         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
36872         (move_if_change): Delete unused macro.
36873         (news-date-check, vc-diff-check): Support VPATH builds.
36874         (announcement): Likewise.  Split --bootstrap-tools list...
36875         (boostrap-tools): ...into separate list, which can be overridden
36876         in cfg.mk.
36877         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
36878         requiring dependency on useless-if-before-free module.
36879         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
36880         Support VPATH builds.
36881
36882 2009-04-24  Jim Meyering  <meyering@redhat.com>
36883
36884         maint.mk: remove coreutils-specific rules and variables
36885         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
36886         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
36887         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
36888
36889         maint.mk: remove obsolete rule
36890         * top/maint.mk (rel-check): Remove rule.
36891         (WGET, WGETFLAGS): Remove now-unused variables.
36892
36893 2009-04-24  Simon Josefsson  <simon@josefsson.org>
36894
36895         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
36896         consistency.
36897
36898         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
36899         '$(PATH_SEPARATOR)' instead of ':'.
36900
36901 2009-04-24  Simon Josefsson  <simon@josefsson.org>
36902
36903         * lib/getopt1.c (main): Use 'const' for static array.
36904
36905 2009-04-24  Simon Josefsson  <simon@josefsson.org>
36906
36907         * top/maint.mk: Sync with coreutils.
36908         * NEWS: Explain incompatibilities.
36909
36910 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36911             Bruno Haible  <bruno@clisp.org>
36912
36913         Fix cross-compilation results.
36914         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
36915         statement, as third argument of AC_TRY_RUN.
36916         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
36917         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
36918         Likewise.
36919         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
36920         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
36921         Likewise.
36922         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
36923         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
36924         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
36925
36926 2009-04-20  Bruno Haible  <bruno@clisp.org>
36927
36928         Avoid test failure on mingw.
36929         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
36930
36931 2009-04-20  Bruno Haible  <bruno@clisp.org>
36932
36933         Avoid compilation error on mingw.
36934         * modules/localename-tests (Depends-on): Add locale.
36935
36936 2009-04-19  Bruno Haible  <bruno@clisp.org>
36937
36938         Support for building a shared library on Windows platforms.
36939         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
36940         (main): Test the presence of UNINORM_NFC here.
36941         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
36942         (main): Test the presence of UNINORM_NFD here.
36943         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
36944         (main): Test the presence of UNINORM_NFKC here.
36945         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
36946         (main): Test the presence of UNINORM_NFKD here.
36947
36948 2009-04-19  Bruno Haible  <bruno@clisp.org>
36949
36950         Avoid a compiler warning.
36951         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
36952         Change type of variable 'sequence'.
36953
36954 2009-04-19  Bruno Haible  <bruno@clisp.org>
36955
36956         * modules/configmake (Makefile.am): When the contents of configmake.h
36957         does not change, arrange to preserve its modification time.
36958
36959 2009-04-17  Simon Josefsson  <simon@josefsson.org>
36960
36961         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
36962         gettext domain.
36963
36964 2009-04-16  Jim Meyering  <meyering@redhat.com>
36965
36966         useless-if-before-free: improve conversion code
36967         * build-aux/useless-if-before-free: Adjust code-in-comment to match
36968         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
36969
36970 2009-04-14  Bruno Haible  <bruno@clisp.org>
36971
36972         * modules/fcntl (Depends-on): Add extensions.
36973         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
36974
36975 2009-04-12  Ben Pfaff  <blp@gnu.org>
36976
36977         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
36978         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
36979
36980 2009-03-20  Ben Pfaff  <blp@gnu.org>
36981
36982         Make rename replace existing destinations on Windows.
36983         * m4/rename.m4: Add test for Mingw.
36984         * lib/rename.c: Add rename replacement that uses MoveFileEx with
36985         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
36986         * doc/posix-functions/rename.texi: Document.
36987
36988 2009-04-10  Bruno Haible  <bruno@clisp.org>
36989
36990         New include file "iconveh.h".
36991         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
36992         * lib/striconveh.h: Include it.
36993         (enum iconv_ilseq_handler): Remove definition.
36994         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
36995         striconveh.h.
36996         * lib/striconveha.c: Include striconveh.h.
36997         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
36998         * modules/striconveh (Files): Add lib/iconveh.h.
36999         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
37000         lib/striconveh.h.
37001
37002 2009-04-10  Bruno Haible  <bruno@clisp.org>
37003
37004         * lib/uniconv.h: Update comment.
37005
37006 2009-04-10  Bruno Haible  <bruno@clisp.org>
37007
37008         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
37009         always.
37010         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
37011         * lib/unistr/u16-mbtouc-aux.c: Likewise.
37012         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
37013         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
37014         "unistring-notinline.h", so that the function gets defined always.
37015         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
37016         * lib/unistr/u8-uctomb.c: Likewise.
37017         * lib/unistr/u16-mbtouc.c: Likewise.
37018         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
37019         * lib/unistr/u16-uctomb.c: Likewise.
37020         * lib/unistr/u32-mbtouc.c: Likewise.
37021         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
37022         * lib/unistr/u32-uctomb.c: Likewise.
37023
37024 2009-04-10  Bruno Haible  <bruno@clisp.org>
37025
37026         Mark 'utime' obsolete.
37027         * modules/utime (Status, Notice): New sections.
37028         Suggested by Jim Meyering.
37029
37030         Fix cross-compile guess for utime test.
37031         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
37032         autoconf.
37033         * doc/posix-functions/utime.texi: Give more precisions.
37034         Reported by Jan <ipif@ymail.com>.
37035
37036 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
37037
37038         filevercmp: correct today's change
37039         * lib/filevercmp.c: Also handle coreutils' test inputs.
37040         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
37041
37042         Fix regression in 'filevercmp' module. Thanks Sven Joachim
37043         for reporting it.
37044         * lib/filevercmp.c: Special handle for "", "." and "..".
37045         * tests/test-filevercmp.c: Enlarge the set suite.
37046
37047 2009-04-07  Jim Meyering  <meyering@redhat.com>
37048
37049         useless-if-before-free: show how to remove braced useless free, too
37050         * build-aux/useless-if-before-free: still only in a comment, though.
37051
37052 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
37053
37054         maint.mk: import changes to syntax-check macros from coreutils
37055         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
37056         Use them in the relevant macros.
37057
37058 2009-04-06  Bruno Haible  <bruno@clisp.org>
37059
37060         Fix unportable use of bit-fields.
37061         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
37062         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
37063         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
37064
37065 2009-04-06  Bruno Haible  <bruno@clisp.org>
37066
37067         Avoid test failures on AIX and OSF/1.
37068         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
37069         that malloc(0) = NULL.
37070         * tests/unicase/test-u8-tolower.c (check): Likewise.
37071         * tests/unicase/test-u8-totitle.c (check): Likewise.
37072         * tests/unicase/test-u8-toupper.c (check): Likewise.
37073         * tests/unicase/test-u16-casefold.c (check): Likewise.
37074         * tests/unicase/test-u16-tolower.c (check): Likewise.
37075         * tests/unicase/test-u16-totitle.c (check): Likewise.
37076         * tests/unicase/test-u16-toupper.c (check): Likewise.
37077         * tests/unicase/test-u32-casefold.c (check): Likewise.
37078         * tests/unicase/test-u32-tolower.c (check): Likewise.
37079         * tests/unicase/test-u32-totitle.c (check): Likewise.
37080         * tests/unicase/test-u32-toupper.c (check): Likewise.
37081         * tests/uninorm/test-u8-nfc.c (check): Likewise.
37082         * tests/uninorm/test-u8-nfd.c (check): Likewise.
37083         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
37084         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
37085         * tests/uninorm/test-u16-nfc.c (check): Likewise.
37086         * tests/uninorm/test-u16-nfd.c (check): Likewise.
37087         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
37088         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
37089         * tests/uninorm/test-u32-nfc.c (check): Likewise.
37090         * tests/uninorm/test-u32-nfd.c (check): Likewise.
37091         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
37092         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
37093
37094 2009-04-05  Bruno Haible  <bruno@clisp.org>
37095
37096         Work around an autoconf limitation.
37097         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
37098         comment line if it would be longer than 3 KB.
37099
37100 2009-04-05  Bruno Haible  <bruno@clisp.org>
37101
37102         Avoid test failure with libiconv-1.13.
37103         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
37104         of the expected test results.
37105
37106 2009-04-05  Bruno Haible  <bruno@clisp.org>
37107
37108         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
37109         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
37110         that it should be installed.
37111
37112 2009-04-05  Bruno Haible  <bruno@clisp.org>
37113
37114         * gnulib-tool: New option --copy-file.
37115         (func_usage): Document it.
37116         (func_dest_tmpfilename): Moved out of func_import.
37117         (func_add_file, func_update_file): New functions, extracted from
37118         func_import.
37119         (func_import): Update.
37120
37121 2009-04-05  Karl Berry  <karl@gnu.org>
37122
37123         * README: prominently mention gnulib-tool.
37124         Rearrange sections so getting the code is near the top.
37125
37126 2009-04-05  Bruno Haible  <bruno@clisp.org>
37127
37128         * lib/unicase.h: Mention u*_cmp2.
37129         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
37130         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
37131         * lib/unicase/ulc-casecmp.c: Likewise.
37132         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
37133         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
37134         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
37135         unistr/u8-cmp.
37136         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
37137         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
37138         unistr/u16-cmp.
37139         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
37140         unistr/u32-cmp.
37141
37142         * lib/uninorm.h: Mention u*_cmp2.
37143         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
37144         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
37145         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
37146         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
37147         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
37148         unistr/u8-cmp.
37149         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
37150         unistr/u16-cmp.
37151         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
37152         unistr/u32-cmp.
37153
37154         New module 'unistr/u32-cmp2'.
37155         * lib/unistr/u32-cmp2.c: New file.
37156         * modules/unistr/u32-cmp2: New file.
37157
37158         New module 'unistr/u16-cmp2'.
37159         * lib/unistr/u16-cmp2.c: New file.
37160         * modules/unistr/u16-cmp2: New file.
37161
37162         New module 'unistr/u8-cmp2'.
37163         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
37164         * lib/unistr/u8-cmp2.c: New file.
37165         * lib/unistr/u-cmp2.h: New file.
37166         * modules/unistr/u8-cmp2: New file.
37167
37168 2009-04-05  Bruno Haible  <bruno@clisp.org>
37169
37170         * lib/unictype.h (uc_property_is_valid): New macro.
37171         * tests/unictype/test-pr_byname.c (main): Use it.
37172
37173         * lib/unistr.h: Doc fixes.
37174         * lib/uniconv.h: Doc fixes.
37175         * lib/unictype.h: Doc fixes.
37176
37177 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
37178
37179         Port coreutils 7.2 to Solaris 8.
37180
37181         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
37182         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
37183         for Solaris 8.  This is a bit of a hack, as it means it's the
37184         caller's responsibility to add -lnsl if needed, but most likely it
37185         won't be needed since only getaddrinfo uses this and getaddrinfo
37186         isn't needed on Solaris 8.
37187
37188         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
37189         problem to Solaris 8 encountered with coreutils 7.2, which
37190         resulted in a message "fnmatch.c:292: warning: passing argument 4
37191         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
37192         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
37193
37194 2009-04-03  Simon Josefsson  <simon@josefsson.org>
37195
37196         * m4/ld-version-script.m4: Add FIXME comment.
37197
37198 2009-04-02  Simon Josefsson  <simon@josefsson.org>
37199
37200         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
37201         SOVERSION variable.
37202
37203 2009-04-02  Bruno Haible  <bruno@clisp.org>
37204
37205         * Makefile (info, html, dvi, pdf): Combine the rules.
37206         Suggested by Jim Meyering.
37207
37208 2009-04-01  Bruno Haible  <bruno@clisp.org>
37209
37210         * Makefile (info, html, dvi, pdf): New targets.
37211         Reported by Reuben Thomas <rrt@sc3d.org>.
37212
37213 2009-04-01  Bruno Haible  <bruno@clisp.org>
37214
37215         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
37216         can be put into PATH.
37217         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
37218
37219 2009-04-01  Bruno Haible  <bruno@clisp.org>
37220
37221         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
37222
37223 2009-04-01  Bruno Haible  <bruno@clisp.org>
37224
37225         Rename module 'visibility'.
37226         * modules/lib-symbol-visibility: Renamed from modules/visibility.
37227         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
37228         * doc/gnulib.texi: Update.
37229         * MODULES.html.sh (Misc): Update.
37230         * NEWS: Mention the change.
37231
37232 2009-04-01  Simon Josefsson  <simon@josefsson.org>
37233
37234         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
37235         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
37236         Eric Blake <ebb9@byu.net> for review.
37237         * MODULES.html.sh: Add lib-msvc-compat.
37238         * doc/gnulib.texi: Link to new section.
37239         * m4/ld-output-def.m4: New file.
37240         * doc/ld-output-def.texi: New file.
37241
37242 2009-04-01  Simon Josefsson  <simon@josefsson.org>
37243
37244         Rename ld-version-script to lib-symbol-versions.  Suggested by
37245         Bruno Haible <bruno@clisp.org>.
37246         * modules/ld-version-script: Renamed to lib-symbol-versions.
37247         * doc/ld-version-script.texi: Fix module name.
37248         * MODULES.html.sh: Add lib-symbol-versions.
37249
37250 2009-03-31  Simon Josefsson  <simon@josefsson.org>
37251
37252         * modules/u64-tests: New file.
37253         * tests/test-u64.c: New file.
37254
37255 2009-03-04  Simon Josefsson  <simon@josefsson.org>
37256
37257         * MODULES.html.sh: Mention u64.
37258         * modules/u64: New module.
37259         * modules/crypto/sha512: Depend on u64 module instead of providing
37260         u64.h.
37261
37262 2009-03-27  Eric Blake  <ebb9@byu.net>
37263
37264         test-strerror: make debugging EAI_SYSTEM easier
37265         * modules/getaddrinfo-tests (Depends-on): Add strerror.
37266         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
37267         failure was EAI_SYSTEM.
37268
37269 2009-03-25  Bruno Haible  <bruno@clisp.org>
37270
37271         Fix a problem with --enable-relocatable on Solaris 7.
37272         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
37273         since 2008-02-24.
37274
37275 2009-03-25  Eric Blake  <ebb9@byu.net>
37276
37277         test-sockets: avoid gcc warning
37278         * tests/test-sockets.c (main): Silence compiler warning.
37279
37280 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
37281
37282         New modules nproc, pthread, contributed by Glen Lenker.
37283
37284         * MODULES.html.sh: Add pthread, nproc.
37285         * lib/nproc.c: New file.
37286         * lib/nproc.h: New file.
37287         * lib/pthread.in.h: New file.
37288         * m4/pthread.m4: New file.
37289         * modules/nproc: New file.
37290         * modules/pthread: New file.
37291
37292 2009-03-24  Simon Josefsson  <simon@josefsson.org>
37293
37294         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
37295         New variable.
37296
37297 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
37298
37299         filevercmp: handle simple~ and numbered.~3~ backup suffixes
37300         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
37301         * tests/test-filevercmp.c: Add tests for backup suffixes.
37302
37303 2009-03-24  Simon Josefsson  <simon@josefsson.org>
37304
37305         * modules/stdlib (Depends-on): Add stdint, needed when defining
37306         struct random_data on, for example, HP-UX 10.20.  Reported by
37307         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37308
37309 2009-03-24  Simon Josefsson  <simon@josefsson.org>
37310
37311         * lib/readline.c (readline): Call fflush on stdout after printing
37312         prompt.
37313
37314 2009-03-20  Bruno Haible  <bruno@clisp.org>
37315
37316         Remove dependency from 'close' module to -lws2_32 on native Windows.
37317         * lib/close-hook.h: New file.
37318         * lib/close-hook.c: New file.
37319         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
37320         w32sock.h.
37321         (_gl_close_fd_maybe_socket): Remove function.
37322         (rpl_close): Invoke execute_all_close_hooks instead of
37323         _gl_close_fd_maybe_socket.
37324         * lib/sockets.c: Include close-hook.h, w32sock.h.
37325         (close_fd_maybe_socket): New function, essentially from lib/close.c.
37326         (close_sockets_hook): New variable.
37327         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
37328         (gl_sockets_cleanup): Unregister it.
37329         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
37330         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
37331         * modules/close-hook: New file.
37332         * modules/close (Files): Remove lib/w32sock.h.
37333         (Depends-on): Add close-hook.
37334         (Link): Remove section.
37335         * modules/sockets (Files): Add lib/w32sock.h.
37336         (Depends-on): Add close-hook.
37337         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
37338         invocation.
37339         * NEWS: Mention that LIB_CLOSE is gone.
37340
37341 2009-03-23  Eric Blake  <ebb9@byu.net>
37342
37343         signal-tests: test previous patch
37344         * tests/test-signal.c: New file.
37345         * modules/signal-tests: Likewise.
37346
37347         signal.h: always support 'volatile sig_atomic_t'
37348         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
37349         (gl_SIGNAL_H_DEFAULTS): Add a default.
37350         * modules/signal (Makefile.am): Substitute if needed.
37351         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
37352         users can blindly add volatile.
37353         * doc/posix-headers/signal.texi (signal.h): Document it.
37354         Reported by Matthew Woehlke.
37355
37356 2009-03-23  Jim Meyering  <meyering@redhat.com>
37357
37358         pathmax: PATH_MAX: use pathconf only when available
37359         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
37360         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
37361         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
37362         This avoids a link failure in a PSP cross-compilation environment
37363         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
37364
37365         * lib/vasnprintf.c (divide): Fix typo in comment.
37366
37367 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37368
37369         * gnulib-tool (func_filter_filelist): Fix comment.
37370
37371 2009-03-20  Bruno Haible  <bruno@clisp.org>
37372
37373         Make sockets.h self-contained.
37374         * lib/sockets.c: Include sockets.h first.
37375         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
37376
37377 2009-03-19  Eric Blake  <ebb9@byu.net>
37378
37379         doc: mention more functions added in cygwin 1.7.0
37380         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
37381         addition.
37382         * doc/posix-functions/log2f.texi: Likewise.
37383
37384 2009-03-19  Jim Meyering  <meyering@redhat.com>
37385
37386         fsusage: avoid syntax error due to statement-before-declaration
37387         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
37388         after all declarations.  Reported by Matthew Woehlke in
37389         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
37390
37391 2009-03-18  Eric Blake  <ebb9@byu.net>
37392
37393         build-aux/compile: sync from automake
37394         * build-aux/compile: New file, from automake.
37395         * config/srclist.txt: Mention build-aux/compile.
37396
37397 2009-03-17  Bruno Haible  <bruno@clisp.org>
37398
37399         * lib/git-merge-changelog.c: Fix typo in comment.
37400         Reported by Reuben Thomas <rrt@sc3d.org>.
37401
37402 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
37403
37404         * m4/regex.m4: update and improve help for
37405         --without-included-regex.
37406
37407 2009-03-17  Simon Josefsson  <simon@josefsson.org>
37408
37409         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
37410         failure on missing include files.
37411
37412 2009-03-17  Eric Blake  <ebb9@byu.net>
37413
37414         doc: mention more functions added in cygwin 1.7.0
37415         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
37416         addition.
37417         * doc/posix-functions/fwscanf.texi: Likewise.
37418         * doc/posix-functions/swprintf.texi: Likewise.
37419         * doc/posix-functions/swscanf.texi: Likewise.
37420         * doc/posix-functions/vfwprintf.texi: Likewise.
37421         * doc/posix-functions/vfwscanf.texi: Likewise.
37422         * doc/posix-functions/vswprintf.texi: Likewise.
37423         * doc/posix-functions/vswscanf.texi: Likewise.
37424         * doc/posix-functions/vwprintf.texi: Likewise.
37425         * doc/posix-functions/vwscanf.texi: Likewise.
37426         * doc/posix-functions/wcscasecmp.texi: Likewise.
37427         * doc/posix-functions/wcsdup.texi: Likewise.
37428         * doc/posix-functions/wcsftime.texi: Likewise.
37429         * doc/posix-functions/wcsncasecmp.texi: Likewise.
37430         * doc/posix-functions/wprintf.texi: Likewise.
37431         * doc/posix-functions/wscanf.texi: Likewise.
37432         * doc/glibc-functions/gethostbyname2.texi: Likewise.
37433
37434 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37435
37436         maint.mk: really add $(AM_MAKEFLAGS)
37437         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
37438         was inadvertently omitted in the last commit.
37439         Spotted by Bruno Haible.
37440
37441         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
37442         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
37443         $(AM_MAKEFLAGS)' rather than plain `make'.
37444
37445         gnulib-tool: execute $MAKE not make
37446         * gnulib-tool: Default $MAKE to 'make'.
37447         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
37448         than make.  Initialize $MAKE in the do-autobuild script.
37449
37450         gnulib-tool: use $MAKE not make in generated files
37451         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
37452         make, in generated files.  Initialize $MAKE in the do-autobuild
37453         script.
37454
37455         * top/GNUmakefile (_have-git-version-gen): Fix typo.
37456
37457         GNUmakefile: disable parallelism only for multiple, recursive targets
37458         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
37459         additions in the Makefile.
37460         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
37461         by Automake.
37462         (.NOTPARALLEL): Only disable parallel builds if multiple targets
37463         are listed on the command line and at least one of them is
37464         listed in $(ALL_RECURSIVE_TARGETS).
37465
37466 2009-03-14  Bruno Haible  <bruno@clisp.org>
37467
37468         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
37469         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
37470         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
37471         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
37472         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
37473         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
37474         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
37475         unistr/u8-uctomb.
37476         * modules/unistr/u8-strchr (Depends-on): Likewise.
37477         * modules/unistr/u8-strrchr (Depends-on): Likewise.
37478         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
37479         unistr/u16-uctomb.
37480         * modules/unistr/u16-strchr (Depends-on): Likewise.
37481         * modules/unistr/u16-strrchr (Depends-on): Likewise.
37482
37483 2009-03-12  Bruno Haible  <bruno@clisp.org>
37484
37485         Work around select() bug on Interix 3.5.
37486         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
37487         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
37488         * m4/select.m4: New file.
37489         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
37490         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
37491         * modules/select (Files): Add m4/select.m4.
37492         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
37493         * modules/nanosleep (Depends-on): Add select.
37494         * modules/poll (Depends-on): Likewise.
37495         * doc/posix-functions/select.texi: Mention the Interix bug.
37496         Reported by Markus Duft <mduft@gentoo.org>.
37497
37498         * lib/select.c: Renamed from lib/winsock-select.c.
37499         * modules/select (Files): Add lib/select.c, remove
37500         lib/winsock-select.c.
37501         (configure.ac): Update.
37502
37503 2009-03-12  Jim Meyering  <meyering@redhat.com>
37504
37505         avoid gcc warnings about unused macro definitions
37506         * lib/readtokens.c (STREQ): Remove unused definition.
37507         * lib/xmalloc.c (SIZE_MAX): Likewise.
37508         * lib/openat-die.c (N_): Likewise.
37509         * lib/mountlist.c (SIZE_MAX): Remove definition.
37510         Instead, include <stdint.h>.
37511         * lib/readutmp.c: Likewise.
37512         * modules/readutmp (Depends-on): Add stdint.
37513         * modules/mountlist (Depends-on): Add stdint.
37514         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
37515
37516 2009-03-10  Bruno Haible  <bruno@clisp.org>
37517
37518         Tests for module 'mbmemcasecoll'.
37519         * modules/mbmemcasecoll-tests: New file.
37520         * tests/test-mbmemcasecoll1.sh: New file.
37521         * tests/test-mbmemcasecoll2.sh: New file.
37522         * tests/test-mbmemcasecoll3.sh: New file.
37523         * tests/test-mbmemcasecoll.c: New file.
37524
37525         New module 'mbmemcasecoll'.
37526         * lib/mbmemcasecoll.h: New file.
37527         * lib/mbmemcasecoll.c: New file.
37528         * modules/mbmemcasecoll: New file.
37529
37530         * tests/test-mbmemcasecmp.h: New file, extracted from
37531         tests/test-mbmemcasecmp.c.
37532         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
37533         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
37534         (main): Update.
37535         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
37536
37537 2009-03-09  Bruno Haible  <bruno@clisp.org>
37538
37539         Tests for module 'mbmemcasecmp'.
37540         * modules/mbmemcasecmp-tests: New file.
37541         * tests/test-mbmemcasecmp1.sh: New file.
37542         * tests/test-mbmemcasecmp2.sh: New file.
37543         * tests/test-mbmemcasecmp3.sh: New file.
37544         * tests/test-mbmemcasecmp.c: New file.
37545
37546         New module 'mbmemcasecmp'.
37547         * lib/mbmemcasecmp.h: New file.
37548         * lib/mbmemcasecmp.c: New file.
37549         * modules/mbmemcasecmp: New file.
37550
37551 2009-03-09  Bruno Haible  <bruno@clisp.org>
37552
37553         Tests for module 'unicase/ulc-casecoll'.
37554         * modules/unicase/ulc-casecoll-tests: New file.
37555         * tests/unicase/test-ulc-casecoll1.sh: New file.
37556         * tests/unicase/test-ulc-casecoll2.sh: New file.
37557         * tests/unicase/test-ulc-casecoll.c: New file.
37558
37559         New module 'unicase/ulc-casecoll'.
37560         * lib/unicase.h (ulc_casecoll): New declaration.
37561         * lib/unicase/ulc-casecoll.c: New file.
37562         * modules/unicase/ulc-casecoll: New file.
37563
37564         New module 'unicase/ulc-casexfrm'.
37565         * lib/unicase.h (ulc_casexfrm): New declaration.
37566         * lib/unicase/ulc-casexfrm.c: New file.
37567         * modules/unicase/ulc-casexfrm: New file.
37568
37569 2009-03-09  Bruno Haible  <bruno@clisp.org>
37570
37571         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
37572         invocations.
37573
37574         * m4/mbscasecmp.m4: Remove file.
37575         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
37576         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
37577
37578         * m4/mbscasestr.m4: Remove file.
37579         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
37580         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
37581
37582         * m4/mbschr.m4: Remove file.
37583         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
37584         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
37585
37586         * m4/mbscspn.m4: Remove file.
37587         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
37588         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
37589
37590         * m4/mbslen.m4: Remove file.
37591         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
37592         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
37593
37594         * m4/mbsncasecmp.m4: Remove file.
37595         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
37596         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
37597
37598         * m4/mbsnlen.m4: Remove file.
37599         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
37600         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
37601
37602         * m4/mbspbrk.m4: Remove file.
37603         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
37604         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
37605
37606         * m4/mbspcasecmp.m4: Remove file.
37607         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
37608         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
37609
37610         * m4/mbsrchr.m4: Remove file.
37611         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
37612         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
37613
37614         * m4/mbssep.m4: Remove file.
37615         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
37616         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
37617
37618         * m4/mbsspn.m4: Remove file.
37619         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
37620         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
37621
37622         * m4/mbsstr.m4: Remove file.
37623         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
37624         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
37625
37626         * m4/mbstok_r.m4: Remove file.
37627         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
37628         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
37629
37630         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
37631
37632         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
37633         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
37634
37635         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
37636
37637 2009-03-08  Bruno Haible  <bruno@clisp.org>
37638
37639         Tests for module 'unicase/ulc-casecmp'.
37640         * modules/unicase/ulc-casecmp-tests: New file.
37641         * tests/unicase/test-ulc-casecmp1.sh: New file.
37642         * tests/unicase/test-ulc-casecmp2.sh: New file.
37643         * tests/unicase/test-ulc-casecmp.c: New file.
37644
37645         New module 'unicase/ulc-casecmp'.
37646         * lib/unicase.h (ulc_casecmp): New declaration.
37647         * lib/unicase/ulc-casecmp.c: New file.
37648         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
37649         'const SRC_UNIT *'.
37650         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
37651         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
37652         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
37653         * modules/unicase/ulc-casecmp: New file.
37654
37655         Tests for module 'unicase/u32-is-cased'.
37656         * modules/unicase/u32-is-cased-tests: New file.
37657         * tests/unicase/test-u32-is-cased.c: New file.
37658
37659         Tests for module 'unicase/u16-is-cased'.
37660         * modules/unicase/u16-is-cased-tests: New file.
37661         * tests/unicase/test-u16-is-cased.c: New file.
37662
37663         Tests for module 'unicase/u8-is-cased'.
37664         * modules/unicase/u8-is-cased-tests: New file.
37665         * tests/unicase/test-u8-is-cased.c: New file.
37666         * tests/unicase/test-is-cased.h: New file.
37667
37668         New module 'unicase/u32-is-cased'.
37669         * lib/unicase/u32-is-cased.c: New file.
37670         * modules/unicase/u32-is-cased: New file.
37671
37672         New module 'unicase/u16-is-cased'.
37673         * lib/unicase/u16-is-cased.c: New file.
37674         * modules/unicase/u16-is-cased: New file.
37675
37676         New module 'unicase/u8-is-cased'.
37677         * lib/unicase/u8-is-cased.c: New file.
37678         * lib/unicase/u-is-cased.h: New file.
37679         * modules/unicase/u8-is-cased: New file.
37680
37681         Tests for module 'unicase/u32-is-casefolded'.
37682         * modules/unicase/u32-is-casefolded-tests: New file.
37683         * tests/unicase/test-u32-is-casefolded.c: New file.
37684
37685         Tests for module 'unicase/u16-is-casefolded'.
37686         * modules/unicase/u16-is-casefolded-tests: New file.
37687         * tests/unicase/test-u16-is-casefolded.c: New file.
37688
37689         Tests for module 'unicase/u8-is-casefolded'.
37690         * modules/unicase/u8-is-casefolded-tests: New file.
37691         * tests/unicase/test-u8-is-casefolded.c: New file.
37692         * tests/unicase/test-is-casefolded.h: New file.
37693
37694         New module 'unicase/u32-is-casefolded'.
37695         * lib/unicase/u32-is-casefolded.c: New file.
37696         * modules/unicase/u32-is-casefolded: New file.
37697
37698         New module 'unicase/u16-is-casefolded'.
37699         * lib/unicase/u16-is-casefolded.c: New file.
37700         * modules/unicase/u16-is-casefolded: New file.
37701
37702         New module 'unicase/u8-is-casefolded'.
37703         * lib/unicase/u8-is-casefolded.c: New file.
37704         * modules/unicase/u8-is-casefolded: New file.
37705
37706         Tests for module 'unicase/u32-is-titlecase'.
37707         * modules/unicase/u32-is-titlecase-tests: New file.
37708         * tests/unicase/test-u32-is-titlecase.c: New file.
37709
37710         Tests for module 'unicase/u16-is-titlecase'.
37711         * modules/unicase/u16-is-titlecase-tests: New file.
37712         * tests/unicase/test-u16-is-titlecase.c: New file.
37713
37714         Tests for module 'unicase/u8-is-titlecase'.
37715         * modules/unicase/u8-is-titlecase-tests: New file.
37716         * tests/unicase/test-u8-is-titlecase.c: New file.
37717         * tests/unicase/test-is-titlecase.h: New file.
37718
37719         New module 'unicase/u32-is-titlecase'.
37720         * lib/unicase/u32-is-titlecase.c: New file.
37721         * modules/unicase/u32-is-titlecase: New file.
37722
37723         New module 'unicase/u16-is-titlecase'.
37724         * lib/unicase/u16-is-titlecase.c: New file.
37725         * modules/unicase/u16-is-titlecase: New file.
37726
37727         New module 'unicase/u8-is-titlecase'.
37728         * lib/unicase/u8-is-titlecase.c: New file.
37729         * modules/unicase/u8-is-titlecase: New file.
37730
37731         Tests for module 'unicase/u32-is-lowercase'.
37732         * modules/unicase/u32-is-lowercase-tests: New file.
37733         * tests/unicase/test-u32-is-lowercase.c: New file.
37734
37735         Tests for module 'unicase/u16-is-lowercase'.
37736         * modules/unicase/u16-is-lowercase-tests: New file.
37737         * tests/unicase/test-u16-is-lowercase.c: New file.
37738
37739         Tests for module 'unicase/u8-is-lowercase'.
37740         * modules/unicase/u8-is-lowercase-tests: New file.
37741         * tests/unicase/test-u8-is-lowercase.c: New file.
37742         * tests/unicase/test-is-lowercase.h: New file.
37743
37744         New module 'unicase/u32-is-lowercase'.
37745         * lib/unicase/u32-is-lowercase.c: New file.
37746         * modules/unicase/u32-is-lowercase: New file.
37747
37748         New module 'unicase/u16-is-lowercase'.
37749         * lib/unicase/u16-is-lowercase.c: New file.
37750         * modules/unicase/u16-is-lowercase: New file.
37751
37752         New module 'unicase/u8-is-lowercase'.
37753         * lib/unicase/u8-is-lowercase.c: New file.
37754         * modules/unicase/u8-is-lowercase: New file.
37755
37756         Tests for module 'unicase/u32-is-uppercase'.
37757         * modules/unicase/u32-is-uppercase-tests: New file.
37758         * tests/unicase/test-u32-is-uppercase.c: New file.
37759
37760         Tests for module 'unicase/u16-is-uppercase'.
37761         * modules/unicase/u16-is-uppercase-tests: New file.
37762         * tests/unicase/test-u16-is-uppercase.c: New file.
37763
37764         Tests for module 'unicase/u8-is-uppercase'.
37765         * modules/unicase/u8-is-uppercase-tests: New file.
37766         * tests/unicase/test-u8-is-uppercase.c: New file.
37767         * tests/unicase/test-is-uppercase.h: New file.
37768
37769         New module 'unicase/u32-is-uppercase'.
37770         * lib/unicase/u32-is-uppercase.c: New file.
37771         * modules/unicase/u32-is-uppercase: New file.
37772
37773         New module 'unicase/u16-is-uppercase'.
37774         * lib/unicase/u16-is-uppercase.c: New file.
37775         * modules/unicase/u16-is-uppercase: New file.
37776
37777         New module 'unicase/u8-is-uppercase'.
37778         * lib/unicase/u8-is-uppercase.c: New file.
37779         * modules/unicase/u8-is-uppercase: New file.
37780
37781         New module 'unicase/u32-is-invariant'.
37782         * lib/unicase/u32-is-invariant.c: New file.
37783         * modules/unicase/u32-is-invariant: New file.
37784
37785         New module 'unicase/u16-is-invariant'.
37786         * lib/unicase/u16-is-invariant.c: New file.
37787         * modules/unicase/u16-is-invariant: New file.
37788
37789         New module 'unicase/u8-is-invariant'.
37790         * lib/unicase/u8-is-invariant.c: New file.
37791         * lib/unicase/invariant.h: New file.
37792         * lib/unicase/u-is-invariant.h: New file.
37793         * modules/unicase/u8-is-invariant: New file.
37794
37795         Tests for module 'unicase/u32-casecoll'.
37796         * modules/unicase/u32-casecoll-tests: New file.
37797         * tests/unicase/test-u32-casecoll.c: New file.
37798
37799         Tests for module 'unicase/u16-casecoll'.
37800         * modules/unicase/u16-casecoll-tests: New file.
37801         * tests/unicase/test-u16-casecoll.c: New file.
37802
37803         Tests for module 'unicase/u8-casecoll'.
37804         * modules/unicase/u8-casecoll-tests: New file.
37805         * tests/unicase/test-u8-casecoll.c: New file.
37806
37807         New module 'unicase/u32-casecoll'.
37808         * lib/unicase/u32-casecoll.c: New file.
37809         * modules/unicase/u32-casecoll: New file.
37810
37811         New module 'unicase/u16-casecoll'.
37812         * lib/unicase/u16-casecoll.c: New file.
37813         * modules/unicase/u16-casecoll: New file.
37814
37815         New module 'unicase/u8-casecoll'.
37816         * lib/unicase/u8-casecoll.c: New file.
37817         * lib/unicase/u-casecoll.h: New file.
37818         * modules/unicase/u8-casecoll: New file.
37819
37820         New module 'unicase/u32-casexfrm'.
37821         * lib/unicase/u32-casexfrm.c: New file.
37822         * modules/unicase/u32-casexfrm: New file.
37823
37824         New module 'unicase/u16-casexfrm'.
37825         * lib/unicase/u16-casexfrm.c: New file.
37826         * modules/unicase/u16-casexfrm: New file.
37827
37828         New module 'unicase/u8-casexfrm'.
37829         * lib/unicase/u8-casexfrm.c: New file.
37830         * lib/unicase/u-casexfrm.h: New file.
37831         * modules/unicase/u8-casexfrm: New file.
37832
37833         Tests for module 'unicase/u32-casecmp'.
37834         * modules/unicase/u32-casecmp-tests: New file.
37835         * tests/unicase/test-u32-casecmp.c: New file.
37836
37837         Tests for module 'unicase/u16-casecmp'.
37838         * modules/unicase/u16-casecmp-tests: New file.
37839         * tests/unicase/test-u16-casecmp.c: New file.
37840
37841         Tests for module 'unicase/u8-casecmp'.
37842         * modules/unicase/u8-casecmp-tests: New file.
37843         * tests/unicase/test-u8-casecmp.c: New file.
37844         * tests/unicase/test-casecmp.h: New file.
37845
37846         New module 'unicase/u32-casecmp'.
37847         * lib/unicase/u32-casecmp.c: New file.
37848         * modules/unicase/u32-casecmp: New file.
37849
37850         New module 'unicase/u16-casecmp'.
37851         * lib/unicase/u16-casecmp.c: New file.
37852         * modules/unicase/u16-casecmp: New file.
37853
37854         New module 'unicase/u8-casecmp'.
37855         * lib/unicase/u8-casecmp.c: New file.
37856         * lib/unicase/u-casecmp.h: New file.
37857         * modules/unicase/u8-casecmp: New file.
37858
37859         Tests for module 'unicase/u32-casefold'.
37860         * modules/unicase/u32-casefold-tests: New file.
37861         * tests/unicase/test-u32-casefold.c: New file.
37862
37863         Tests for module 'unicase/u16-casefold'.
37864         * modules/unicase/u16-casefold-tests: New file.
37865         * tests/unicase/test-u16-casefold.c: New file.
37866
37867         Tests for module 'unicase/u8-casefold'.
37868         * modules/unicase/u8-casefold-tests: New file.
37869         * tests/unicase/test-u8-casefold.c: New file.
37870
37871         New module 'unicase/u32-casefold'.
37872         * lib/unicase/u32-casefold.c: New file.
37873         * modules/unicase/u32-casefold: New file.
37874
37875         New module 'unicase/u16-casefold'.
37876         * lib/unicase/u16-casefold.c: New file.
37877         * modules/unicase/u16-casefold: New file.
37878
37879         New module 'unicase/u8-casefold'.
37880         * lib/unicase/u8-casefold.c: New file.
37881         * lib/unicase/u-casefold.h: New file.
37882         * modules/unicase/u8-casefold: New file.
37883
37884         New module 'unicase/tocasefold'.
37885         * lib/unicase/casefold.h: New file.
37886         * lib/unicase/tocasefold.c: New file.
37887         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
37888         * modules/unicase/tocasefold: New file.
37889
37890         Tests for module 'unicase/u32-totitle'.
37891         * modules/unicase/u32-totitle-tests: New file.
37892         * tests/unicase/test-u32-totitle.c: New file.
37893
37894         Tests for module 'unicase/u16-totitle'.
37895         * modules/unicase/u16-totitle-tests: New file.
37896         * tests/unicase/test-u16-totitle.c: New file.
37897
37898         Tests for module 'unicase/u8-totitle'.
37899         * modules/unicase/u8-totitle-tests: New file.
37900         * tests/unicase/test-u8-totitle.c: New file.
37901
37902         New module 'unicase/u32-totitle'.
37903         * lib/unicase/u32-totitle.c: New file.
37904         * modules/unicase/u32-totitle: New file.
37905
37906         New module 'unicase/u16-totitle'.
37907         * lib/unicase/u16-totitle.c: New file.
37908         * modules/unicase/u16-totitle: New file.
37909
37910         New module 'unicase/u8-totitle'.
37911         * lib/unicase/u8-totitle.c: New file.
37912         * lib/unicase/u-totitle.h: New file.
37913         * modules/unicase/u8-totitle: New file.
37914
37915         Tests for module 'unicase/u32-tolower'.
37916         * modules/unicase/u32-tolower-tests: New file.
37917         * tests/unicase/test-u32-tolower.c: New file.
37918
37919         Tests for module 'unicase/u16-tolower'.
37920         * modules/unicase/u16-tolower-tests: New file.
37921         * tests/unicase/test-u16-tolower.c: New file.
37922
37923         Tests for module 'unicase/u8-tolower'.
37924         * modules/unicase/u8-tolower-tests: New file.
37925         * tests/unicase/test-u8-tolower.c: New file.
37926
37927         New module 'unicase/u32-tolower'.
37928         * lib/unicase/u32-tolower.c: New file.
37929         * modules/unicase/u32-tolower: New file.
37930
37931         New module 'unicase/u16-tolower'.
37932         * lib/unicase/u16-tolower.c: New file.
37933         * modules/unicase/u16-tolower: New file.
37934
37935         New module 'unicase/u8-tolower'.
37936         * lib/unicase/u8-tolower.c: New file.
37937         * modules/unicase/u8-tolower: New file.
37938
37939         Tests for module 'unicase/u32-toupper'.
37940         * modules/unicase/u32-toupper-tests: New file.
37941         * tests/unicase/test-u32-toupper.c: New file.
37942
37943         Tests for module 'unicase/u16-toupper'.
37944         * modules/unicase/u16-toupper-tests: New file.
37945         * tests/unicase/test-u16-toupper.c: New file.
37946
37947         Tests for module 'unicase/u8-toupper'.
37948         * modules/unicase/u8-toupper-tests: New file.
37949         * tests/unicase/test-u8-toupper.c: New file.
37950
37951         New module 'unicase/u32-toupper'.
37952         * lib/unicase/u32-toupper.c: New file.
37953         * modules/unicase/u32-toupper: New file.
37954
37955         New module 'unicase/u16-toupper'.
37956         * lib/unicase/u16-toupper.c: New file.
37957         * modules/unicase/u16-toupper: New file.
37958
37959         New module 'unicase/u8-toupper'.
37960         * lib/unicase/u8-toupper.c: New file.
37961         * modules/unicase/u8-toupper: New file.
37962
37963         New module 'unicase/u32-casemap'.
37964         * lib/unicase/u32-casemap.c: New file.
37965         * modules/unicase/u32-casemap: New file.
37966
37967         New module 'unicase/u16-casemap'.
37968         * lib/unicase/u16-casemap.c: New file.
37969         * modules/unicase/u16-casemap: New file.
37970
37971         New module 'unicase/u8-casemap'.
37972         * lib/unicase/unicasemap.h: New file.
37973         * lib/unicase/u8-casemap.c: New file.
37974         * lib/unicase/u-casemap.h: New file.
37975         * modules/unicase/u8-casemap: New file.
37976
37977         New module 'unicase/special-casing'.
37978         * lib/unicase/special-casing.h: New file.
37979         * lib/unicase/special-casing.c: New file.
37980         * lib/unicase/special-casing-table.gperf: New file, generated by
37981         gen-uni-tables.c.
37982         * modules/unicase/special-casing: New file.
37983
37984         Tests for module 'unicase/locale-language'.
37985         * modules/unicase/locale-language-tests: New file.
37986         * tests/unicase/test-locale-language.sh: New file.
37987         * tests/unicase/test-locale-language.c: New file.
37988
37989         New module 'unicase/locale-language'.
37990         * lib/unicase/locale-language.c: New file.
37991         * lib/unicase/locale-languages.gperf: New file.
37992         * modules/unicase/locale-language: New file.
37993
37994         Generate more tables for case conversion and case folding.
37995         * lib/gen-uni-tables.c (SCC_*): New enum items.
37996         (struct special_casing_rule): New type.
37997         (casing_rules, num_casing_rules, allocated_casing_rules): New
37998         variables.
37999         (add_casing_rule, fill_casing_rules): New functions.
38000         (struct casefold_rule): New type.
38001         (casefolding_rules, num_casefolding_rules,
38002         allocated_casefolding_rules): New variables.
38003         (fill_casefolding_rules): New function.
38004         (unicode_casefold): New variable.
38005         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
38006         sort_casing_rules, output_casing_rules): New functions.
38007         (main): Accept to more arguments: SpecialCasing.txt and
38008         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
38009         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
38010         Output mapping for casefolding.
38011
38012         * lib/unicase.h: Include stdbool.h, uninorm.h.
38013         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
38014         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
38015         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
38016         arguments.
38017         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
38018         resultp arguments.
38019         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
38020         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
38021         resultp arguments.
38022         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
38023         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
38024         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
38025         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
38026         declarations.
38027         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
38028
38029 2009-03-08  Bruno Haible  <bruno@clisp.org>
38030
38031         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
38032         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
38033         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
38034         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
38035
38036 2009-03-07  Bruno Haible  <bruno@clisp.org>
38037
38038         Adjust u*_normcmp, u*_normcoll API.
38039         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
38040         u16_normcoll, u32_normcoll): Change failure conventions.
38041         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
38042         errno and return -1.
38043         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
38044
38045 2009-03-07  Bruno Haible  <bruno@clisp.org>
38046
38047         Tests for module 'uninorm/u32-normcoll'.
38048         * modules/uninorm/u32-normcoll-tests: New file.
38049         * tests/uninorm/test-u32-normcoll.c: New file.
38050
38051         Tests for module 'uninorm/u16-normcoll'.
38052         * modules/uninorm/u16-normcoll-tests: New file.
38053         * tests/uninorm/test-u16-normcoll.c: New file.
38054
38055         Tests for module 'uninorm/u8-normcoll'.
38056         * modules/uninorm/u8-normcoll-tests: New file.
38057         * tests/uninorm/test-u8-normcoll.c: New file.
38058
38059 2009-03-07  Bruno Haible  <bruno@clisp.org>
38060
38061         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
38062         tests/uninorm/test-u32-normcmp.c.
38063         * tests/uninorm/test-u32-normcmp.c: Include it.
38064         (test_nonascii): New function, extracted from main. Add some more
38065         tests.
38066         (main): Invoke test_ascii and test_nonascii.
38067         * modules/uninorm/u32-normcmp-tests (Files): Add
38068         tests/uninorm/test-u32-normcmp.h.
38069         (Depends-on): Remove uninorm/u32-normcmp.
38070
38071         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
38072         tests/uninorm/test-u16-normcmp.c.
38073         * tests/uninorm/test-u16-normcmp.c: Include it.
38074         (test_nonascii): New function, extracted from main. Add some more
38075         tests.
38076         (main): Invoke test_ascii and test_nonascii.
38077         * modules/uninorm/u16-normcmp-tests (Files): Add
38078         tests/uninorm/test-u16-normcmp.h.
38079         (Depends-on): Remove uninorm/u16-normcmp.
38080
38081         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
38082         tests/uninorm/test-u8-normcmp.c.
38083         * tests/uninorm/test-u8-normcmp.c: Include it.
38084         (test_nonascii): New function, extracted from main. Add some more
38085         tests.
38086         (main): Invoke test_ascii and test_nonascii.
38087         * modules/uninorm/u8-normcmp-tests (Files): Add
38088         tests/uninorm/test-u8-normcmp.h.
38089         (Depends-on): Remove uninorm/u8-normcmp.
38090
38091 2009-03-07  Bruno Haible  <bruno@clisp.org>
38092
38093         New module 'uninorm/u32-normcoll'.
38094         * lib/uninorm/u32-normcoll.c: New file.
38095         * modules/uninorm/u32-normcoll: New file.
38096
38097         New module 'uninorm/u16-normcoll'.
38098         * lib/uninorm/u16-normcoll.c: New file.
38099         * modules/uninorm/u16-normcoll: New file.
38100
38101         New module 'uninorm/u8-normcoll'.
38102         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
38103         declarations.
38104         * lib/uninorm/u8-normcoll.c: New file.
38105         * lib/uninorm/u-normcoll.h: New file.
38106         * modules/uninorm/u8-normcoll: New file.
38107
38108         New module 'uninorm/u32-normxfrm'.
38109         * lib/uninorm/u32-normxfrm.c: New file.
38110         * modules/uninorm/u32-normxfrm: New file.
38111
38112         New module 'uninorm/u16-normxfrm'.
38113         * lib/uninorm/u16-normxfrm.c: New file.
38114         * modules/uninorm/u16-normxfrm: New file.
38115
38116         New module 'uninorm/u8-normxfrm'.
38117         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
38118         declarations.
38119         * lib/uninorm/u8-normxfrm.c: New file.
38120         * lib/uninorm/u-normxfrm.h: New file.
38121         * modules/uninorm/u8-normxfrm: New file.
38122
38123 2009-03-07  Bruno Haible  <bruno@clisp.org>
38124
38125         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
38126         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
38127         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
38128
38129 2009-03-07  Bruno Haible  <bruno@clisp.org>
38130
38131         New module 'memxfrm'.
38132         * lib/memxfrm.h: New file.
38133         * lib/memxfrm.c: New file.
38134         * modules/memxfrm: New file.
38135
38136 2009-03-07  Bruno Haible  <bruno@clisp.org>
38137
38138         New module 'memcmp2'.
38139         * lib/memcmp2.h: New file.
38140         * lib/memcmp2.c: New file.
38141         * modules/memcmp2: New file.
38142
38143 2009-03-07  Bruno Haible  <bruno@clisp.org>
38144
38145         Tests for module 'uninorm/decomposing-form'.
38146         * modules/uninorm/decomposing-form-tests: New file.
38147         * tests/uninorm/test-decomposing-form.c: New file.
38148
38149         New module 'uninorm/decomposing-form'.
38150         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
38151         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
38152         Add 'decomposing_variant' field.
38153         * lib/uninorm/decomposing-form.c: New file.
38154         * lib/uninorm/nfc.c (uninorm_nfc): Update.
38155         * lib/uninorm/nfd.c (uninorm_nfd): Update.
38156         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
38157         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
38158         * modules/uninorm/decomposing-form: New file.
38159         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
38160         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
38161
38162 2009-03-07  Bruno Haible  <bruno@clisp.org>
38163
38164         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
38165         strings.
38166
38167 2009-03-06  Bruno Haible  <bruno@clisp.org>
38168
38169         Tests for module 'uninorm/u32-normcmp'.
38170         * tests/uninorm/test-u32-normcmp.c: New file.
38171         * modules/uninorm/u32-normcmp-tests: New file.
38172
38173         Tests for module 'uninorm/u16-normcmp'.
38174         * tests/uninorm/test-u16-normcmp.c: New file.
38175         * modules/uninorm/u16-normcmp-tests: New file.
38176
38177         Tests for module 'uninorm/u8-normcmp'.
38178         * tests/uninorm/test-u8-normcmp.c: New file.
38179         * modules/uninorm/u8-normcmp-tests: New file.
38180
38181         New module 'uninorm/u32-normcmp'.
38182         * lib/uninorm/u32-normcmp.c: New file.
38183         * modules/uninorm/u32-normcmp: New file.
38184
38185         New module 'uninorm/u16-normcmp'.
38186         * lib/uninorm/u16-normcmp.c: New file.
38187         * modules/uninorm/u16-normcmp: New file.
38188
38189         New module 'uninorm/u8-normcmp'.
38190         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
38191         declarations.
38192         * lib/uninorm/u8-normcmp.c: New file.
38193         * lib/uninorm/u-normcmp.h: New file.
38194         * modules/uninorm/u8-normcmp: New file.
38195
38196 2009-03-06  Bruno Haible  <bruno@clisp.org>
38197
38198         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
38199         Reported by Eric Blake.
38200
38201 2009-03-06  Eric Blake  <ebb9@byu.net>
38202             Bruno Haible  <bruno@clisp.org>
38203
38204         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
38205         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
38206         condition.
38207         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
38208         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
38209         condition.
38210         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
38211
38212 2009-03-06  Eric Blake  <ebb9@byu.net>
38213
38214         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
38215         to avoid compiler warnings.
38216         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
38217
38218 2009-03-05  Bruno Haible  <bruno@clisp.org>
38219
38220         * tests/test-ftell.c (main): Disable test beyond end of file on
38221         FreeMiNT.
38222         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
38223
38224 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
38225
38226         * lib/filevercmp.c: Move hidden files up in ordering.
38227         * tests/test-filevercmp.c: Add tests for hidden files.
38228
38229 2009-03-04  Bruno Haible  <bruno@clisp.org>
38230
38231         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
38232         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
38233         AM_CFLAGS.
38234         Reported by Simon Josefsson.
38235
38236 2009-03-03  Bruno Haible  <bruno@clisp.org>
38237
38238         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
38239         Reported by Simon Josefsson.
38240
38241         * doc/ld-version-script.texi: Update node reference.
38242
38243 2009-03-03  Bruno Haible  <bruno@clisp.org>
38244
38245         * modules/visibility (License): Change to 'unlimited'.
38246         Suggested by Simon Josefsson.
38247
38248 2009-03-03  Jim Meyering  <meyering@redhat.com>
38249
38250         unlinkdir: cannot_unlink_dir may modify process state
38251         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
38252         it's neither thread-safe nor appropriate for use in a library.
38253
38254 2009-03-03  Eric Blake  <ebb9@byu.net>
38255
38256         test-closein: silence test under Darwin
38257         * tests/test-closein.sh: Ignore stderr from cat, since we don't
38258         care if it dies from EPIPE or EBADF.
38259
38260 2009-03-03  Bruno Haible  <bruno@clisp.org>
38261
38262         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
38263         earlier.
38264         * doc/visibility.texi: Fix @node and @section.
38265
38266 2009-03-03  Simon Josefsson  <simon@josefsson.org>
38267
38268         * doc/gnulib.texi: Link to sections for ld version script and
38269         visibility.
38270         * doc/visibility.texi: Add @node and @section.
38271         * modules/ld-version-script: New module.
38272         * m4/ld-version-script.m4: New file.
38273         * doc/ld-version-script.texi: New file.
38274
38275 2009-03-02  David Lutterkort  <lutter@redhat.com>
38276
38277         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
38278         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38279
38280 2009-03-02  Bruno Haible  <bruno@clisp.org>
38281
38282         * doc/visibility.texi: Mention libtool's -export-symbols option.
38283
38284 2009-03-02  Jim Meyering  <meyering@redhat.com>
38285
38286         announce-gen: new option: --no-print-checksums
38287         * build-aux/announce-gen (usage): Describe it.
38288         (print_checksums): Print a newline here, not in the [*] footnote.
38289         (main): Honor it.
38290
38291 2009-03-01  Bruno Haible  <bruno@clisp.org>
38292
38293         Use socklen_t in the native Windows replacements prototypes.
38294         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
38295         instead of 'int'.
38296         * lib/getsockopt.c (rpl_getsockopt): Likewise.
38297         * lib/setsockopt.c (rpl_setsockopt): Likewise.
38298         * modules/getsockopt (Depends-on): Add socklen.
38299         * modules/setsockopt (Depends-on): Add socklen.
38300
38301 2009-03-01  Bruno Haible  <bruno@clisp.org>
38302
38303         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
38304         least 4.2.
38305
38306 2009-03-01  Eric Blake  <ebb9@byu.net>
38307             Bruno Haible  <bruno@clisp.org>
38308
38309         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
38310         error messages.
38311         * lib/wait-process.c (wait_subprocess): Omit error message about
38312         deadly signal sent to the child of termsigp != NULL.
38313
38314 2009-03-01  Eric Blake  <ebb9@byu.net>
38315
38316         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
38317
38318 2009-03-01  Bruno Haible  <bruno@clisp.org>
38319
38320         Avoid a gcc warning.
38321         * tests/test-sched.c (b): Make global.
38322         Reported by Eric Blake.
38323
38324 2009-01-19  Martin Lambers  <marlam@marlam.de>
38325
38326         Provide POSIX semantics for socket timeout options on W32.
38327         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
38328         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
38329         * modules/setsockopt: Depend on sys_time module for struct timeval.
38330         * modules/getsockopt: Depend on sys_time module for struct timeval.
38331
38332 2009-03-01  Simon Josefsson  <simon@josefsson.org>
38333
38334         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
38335         __USE_GNU, for consistency with netdb.in.h.
38336         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
38337
38338 2009-03-01  Bruno Haible  <bruno@clisp.org>
38339
38340         More support for FreeMiNT.
38341         * lib/fseeko.c (rpl_fseeko): Complete last commit.
38342         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
38343
38344 2009-03-01  Bruno Haible  <bruno@clisp.org>
38345
38346         More support for FreeMiNT.
38347         * lib/fpurge.c (fpurge): Correct last commit.
38348         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
38349
38350 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38351
38352         Fix unportable awk script in vc-list-files.
38353         * build-aux/vc-list-files: In the replacement awk script, use
38354         substr with a second argument of 1, not zero.
38355         Report by Simon Josefsson.
38356
38357 2009-02-28  Bruno Haible  <bruno@clisp.org>
38358
38359         More support for FreeMiNT.
38360         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
38361         to FreeMiNT today.
38362         * lib/fwriting.c (fwriting): Likewise.
38363         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
38364
38365 2009-02-28  Bruno Haible  <bruno@clisp.org>
38366
38367         * tests/test-freadseek.c (main): Disable test beyond end of file on
38368         FreeMiNT.
38369         * tests/test-ftello.c (main): Likewise.
38370         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
38371
38372 2009-02-28  Bruno Haible  <bruno@clisp.org>
38373
38374         Add tentative support for FreeMiNT.
38375         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
38376         * lib/fpurge.c (fpurge): Likewise.
38377         * lib/freadable.c (freadable): Likewise.
38378         * lib/freading.c (freading): Likewise.
38379         * lib/freadptr.c (freadptr): Likewise.
38380         * lib/freadseek.c (freadptrinc): Likewise.
38381         * lib/fseeko.c (rpl_fseeko): Likewise.
38382         * lib/fseterr.c (fseterr): Likewise.
38383         * lib/fwritable.c (fwritable): Likewise.
38384         * lib/fwriting.c (fwriting): Likewise.
38385         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
38386         Hourihane.
38387         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
38388
38389 2009-02-28  Bruno Haible  <bruno@clisp.org>
38390
38391         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
38392         SIGCHLD.
38393         Reported by Jim Meyering.
38394
38395 2009-02-28  Bruno Haible  <bruno@clisp.org>
38396
38397         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
38398         Mention the results of these tests on various platforms.
38399         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
38400         order.
38401         * doc/posix-functions/printf.texi: Likewise.
38402         * doc/posix-functions/snprintf.texi: Likewise.
38403         * doc/posix-functions/sprintf.texi: Likewise.
38404         * doc/posix-functions/vfprintf.texi: Likewise.
38405         * doc/posix-functions/vprintf.texi: Likewise.
38406         * doc/posix-functions/vsnprintf.texi: Likewise.
38407         * doc/posix-functions/vsprintf.texi: Likewise.
38408         * doc/glibc-functions/obstack_printf.texi: Likewise.
38409         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
38410
38411 2009-02-28  Bruno Haible  <bruno@clisp.org>
38412
38413         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
38414         Reported by Loïc Minier <lool@dooz.org>.
38415
38416 2009-02-27  Bruno Haible  <bruno@clisp.org>
38417
38418         * gnulib-tool (func_import): Make the sed expression used to create the
38419         sed script for updating the .gitignore file POSIX compliant.
38420         Reported by Eric Blake.
38421
38422 2009-02-27  Bruno Haible  <bruno@clisp.org>
38423
38424         * gnulib-tool (sed): Don't alias as "sed --posix".
38425         Reported by Eric Blake.
38426
38427 2009-02-27  Bruno Haible  <bruno@clisp.org>
38428
38429         Avoid test link errors.
38430         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
38431         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
38432         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
38433         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
38434         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38435
38436 2009-02-27  Bruno Haible  <bruno@clisp.org>
38437
38438         Avoid spurious "(cached)" in configure output.
38439         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
38440         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
38441         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
38442         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
38443         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
38444         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
38445         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
38446         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
38447         Reported by Eric Blake.
38448
38449 2009-02-27  Eric Blake  <ebb9@byu.net>
38450
38451         printf: fix regression in previous patch
38452         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
38453
38454 2009-02-27  Bruno Haible  <bruno@clisp.org>
38455
38456         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
38457         value.
38458         * lib/stdint.in.h: Likewise.
38459         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
38460
38461 2009-02-27  Eric Blake  <ebb9@byu.net>
38462
38463         doc: mention more functions added in cygwin 1.7.0
38464         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
38465         addition.
38466         * doc/posix-functions/open_wmemstream.texi: Likewise.
38467         * doc/posix-functions/wcsnlen.texi: Likewise.
38468         * doc/posix-functions/wcsnrtombs.texi: Likewise.
38469         * doc/posix-functions/wcstod.texi: Likewise.
38470         * doc/posix-functions/wcstof.texi: Likewise.
38471         * doc/posix-functions/wcstoimax.texi: Likewise.
38472         * doc/posix-functions/wcstok.texi: Likewise.
38473         * doc/posix-functions/wcstoumax.texi: Likewise.
38474
38475         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
38476         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
38477         * doc/posix-functions/fprintf.texi: Update.
38478         * doc/posix-functions/printf.texi: Update.
38479         * doc/posix-functions/snprintf.texi: Update.
38480         * doc/posix-functions/sprintf.texi: Update.
38481         * doc/posix-functions/vfprintf.texi: Update.
38482         * doc/posix-functions/vprintf.texi: Update.
38483         * doc/posix-functions/vsnprintf.texi: Update.
38484         * doc/posix-functions/vsprintf.texi: Update.
38485         * doc/glibc-functions/obstack_printf.texi: Update.
38486         * doc/glibc-functions/obstack_vprintf.texi: Update.
38487
38488 2009-02-26  Eric Blake  <ebb9@byu.net>
38489
38490         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
38491         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
38492         compilation bug by using runtime conversion.
38493         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
38494         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
38495         * modules/ceill-tests (Files): Use nan.h.
38496         * modules/floorl-tests (Files): Likewise.
38497         * modules/frexpl-tests (Files): Likewise.
38498         * modules/isnanl-tests (Files): Likewise.
38499         * modules/ldexpl-tests (Files): Likewise.
38500         * modules/roundl-tests (Files): Likewise.
38501         * modules/truncl-tests (Files): Likewise.
38502         * tests/test-ceill.c (main): Use a working NaN.
38503         * tests/test-floorl.c (main): Likewise.
38504         * tests/test-frexpl.c (main): Likewise.
38505         * tests/test-isnan.c (test_long_double): Likewise.
38506         * tests/test-isnanl.h (main): Likewise.
38507         * tests/test-ldexpl.h (main): Likewise.
38508         * tests/test-roundl.h (main): Likewise.
38509         * tests/test-truncl.h (main): Likewise.
38510         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
38511
38512 2009-02-26  Eric Blake  <ebb9@byu.net>
38513             Bruno Haible  <bruno@clisp.org>
38514
38515         Work around a *printf bug with %ls on Solaris.
38516         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
38517         precision is specified, sprintf stops converting the wide string
38518         argument when the number of bytes that have been produced by this
38519         conversion equals or exceeds the precision.
38520         * doc/posix-functions/fprintf.texi: Update.
38521         * doc/posix-functions/printf.texi: Update.
38522         * doc/posix-functions/snprintf.texi: Update.
38523         * doc/posix-functions/sprintf.texi: Update.
38524         * doc/posix-functions/vfprintf.texi: Update.
38525         * doc/posix-functions/vprintf.texi: Update.
38526         * doc/posix-functions/vsnprintf.texi: Update.
38527         * doc/posix-functions/vsprintf.texi: Update.
38528         * doc/glibc-functions/obstack_printf.texi: Update.
38529         * doc/glibc-functions/obstack_vprintf.texi: Update.
38530
38531 2009-02-26  Eric Blake  <ebb9@byu.net>
38532
38533         stdlib: favor compiler check of random.h
38534         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
38535         to avoid an ObjC random.h installed by Swarm.
38536
38537 2009-02-26  Bruno Haible  <bruno@clisp.org>
38538
38539         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
38540         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
38541         Reported by Gary V. Vaughan <gary@gnu.org>.
38542
38543 2009-02-26  Bruno Haible  <bruno@clisp.org>
38544
38545         Fix *printf behaviour regarding the %ls directive.
38546         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
38547         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
38548         NEED_PRINTF_DIRECTIVE_LS.
38549         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
38550         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
38551         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38552         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
38553         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
38554         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
38555         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
38556         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
38557         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38558         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38559         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38560         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
38561         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38562         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38563         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38564         * doc/posix-functions/fprintf.texi: Update.
38565         * doc/posix-functions/printf.texi: Update.
38566         * doc/posix-functions/snprintf.texi: Update.
38567         * doc/posix-functions/sprintf.texi: Update.
38568         * doc/posix-functions/vfprintf.texi: Update.
38569         * doc/posix-functions/vprintf.texi: Update.
38570         * doc/posix-functions/vsnprintf.texi: Update.
38571         * doc/posix-functions/vsprintf.texi: Update.
38572         * doc/glibc-functions/obstack_printf.texi: Update.
38573         * doc/glibc-functions/obstack_vprintf.texi: Update.
38574         Reported by Eric Blake.
38575
38576 2009-02-25  Bruno Haible  <bruno@clisp.org>
38577
38578         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
38579         with known value.
38580         Reported by Gary V. Vaughan <gary@gnu.org>.
38581
38582 2009-02-25  Bruno Haible  <bruno@clisp.org>
38583
38584         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
38585         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
38586         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
38587         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
38588         Reported by Gary V. Vaughan <gary@gnu.org>.
38589
38590 2009-02-25  Bruno Haible  <bruno@clisp.org>
38591
38592         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
38593         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
38594         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
38595         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
38596         Reported by Gary V. Vaughan <gary@gnu.org>.
38597
38598 2009-02-25  Eric Blake  <ebb9@byu.net>
38599
38600         tests: skip fseek/ftell tests if ungetc is broken
38601         * m4/ungetc.m4: New file.
38602         * modules/fseek-tests: Split test, so ungetc dependency is
38603         separate from rest of test.
38604         * modules/fseeko-tests: Likewise.
38605         * modules/ftell-tests: Likewise.
38606         * modules/ftello-tests: Likewise.
38607         * tests/test-fseek.c (main): Isolate ungetc dependency.
38608         * tests/test-fseeko.c (main): Likewise.
38609         * tests/test-ftell.c (main): Likewise.
38610         * tests/test-ftello.c (main): Likewise.
38611         * tests/test-fseek2.sh: New file.
38612         * tests/test-fseeko2.sh: Likewise.
38613         * tests/test-ftell2.sh: Likewise.
38614         * tests/test-ftello2.sh: Likewise.
38615
38616 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
38617
38618         test-getaddrinfo: fix usage of skip return code 77
38619         * tests/test-gettaddrinfo.c: Return skip code 77 only
38620         for first occurance of skip (4x77 is not 77)
38621
38622 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
38623
38624         strtod: avoid C99 decl-after-statement
38625         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
38626
38627 2009-02-24  Eric Blake  <ebb9@byu.net>
38628
38629         strtod: detect HP-UX 11.31 bug
38630         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
38631         Reported by Gary V. Vaughan.
38632
38633 2009-02-23  Bruno Haible  <bruno@clisp.org>
38634
38635         Fix invalid read past end of memory block.
38636         * lib/vasnprintf.c (DCHAR_SET): Define.
38637         (local_wcslen): Define only when needed.
38638         (local_strnlen, local_wcsnlen): New functions.
38639         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
38640         directives that involve a conversion ourselves.
38641         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
38642         wcsnlen, mbrtowc, wcrtomb.
38643         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
38644         * tests/test-vasprintf-posix.c (test_function): Likewise.
38645         * tests/test-snprintf-posix.h (test_function): Likewise.
38646         * tests/test-sprintf-posix.h (test_function): Likewise.
38647         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38648
38649 2009-02-22  Bruno Haible  <bruno@clisp.org>
38650
38651         Implement new clarified decomposition of Hangul syllables.
38652         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
38653         of type LTV, return only a pairwise decomposition.
38654         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
38655         Likewise.
38656         * tests/uninorm/test-decomposition.c (main): Updated expected result.
38657         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
38658         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
38659
38660 2009-02-22  Bruno Haible  <bruno@clisp.org>
38661
38662         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
38663         zero-length results and shrink excess allocated memory.
38664         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
38665         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
38666         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
38667         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
38668         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
38669         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
38670         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
38671         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
38672         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
38673         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
38674         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
38675         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
38676
38677 2009-02-21  Bruno Haible  <bruno@clisp.org>
38678
38679         * doc/gnulib.texi: Include safe-alloc.texi earlier.
38680         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
38681         spaces after a period. Put a space between a macro name and its
38682         argument list. Trivial rewordings.
38683         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
38684         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
38685         (main): Return 0 explicitly.
38686
38687 2009-02-21  Bruno Haible  <bruno@clisp.org>
38688
38689         Tests for module 'uninorm/filter'.
38690         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
38691         * modules/uninorm/filter-tests: New file.
38692
38693         New module 'uninorm/filter'.
38694         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
38695         uninorm_filter_flush, uninorm_filter_free): New declarations.
38696         * lib/uninorm/uninorm-filter.c: New file.
38697         * modules/uninorm/filter: New file.
38698
38699 2009-02-21  Bruno Haible  <bruno@clisp.org>
38700
38701         Tests for module 'uninorm/nfkc'.
38702         * tests/uninorm/test-nfkc.c: New file.
38703         * tests/uninorm/test-u8-nfkc.c: New file.
38704         * tests/uninorm/test-u16-nfkc.c: New file.
38705         * tests/uninorm/test-u32-nfkc.c: New file.
38706         * tests/uninorm/test-u32-nfkc-big.sh: New file.
38707         * tests/uninorm/test-u32-nfkc-big.c: New file.
38708         * modules/uninorm/nfkc-tests: New file.
38709
38710         New module 'uninorm/nfkc'.
38711         * lib/uninorm/nfkc.c: New file.
38712         * modules/uninorm/nfkc: New file.
38713
38714         Tests for module 'uninorm/nfkd'.
38715         * tests/uninorm/test-nfkd.c: New file.
38716         * tests/uninorm/test-u8-nfkd.c: New file.
38717         * tests/uninorm/test-u16-nfkd.c: New file.
38718         * tests/uninorm/test-u32-nfkd.c: New file.
38719         * tests/uninorm/test-u32-nfkd-big.sh: New file.
38720         * tests/uninorm/test-u32-nfkd-big.c: New file.
38721         * modules/uninorm/nfkd-tests: New file.
38722
38723         New module 'uninorm/nfkd'.
38724         * lib/uninorm/nfkd.c: New file.
38725         * modules/uninorm/nfkd: New file.
38726
38727         Tests for module 'uninorm/nfc'.
38728         * tests/uninorm/test-nfc.c: New file.
38729         * tests/uninorm/test-u8-nfc.c: New file.
38730         * tests/uninorm/test-u16-nfc.c: New file.
38731         * tests/uninorm/test-u32-nfc.c: New file.
38732         * tests/uninorm/test-u32-nfc-big.sh: New file.
38733         * tests/uninorm/test-u32-nfc-big.c: New file.
38734         * modules/uninorm/nfc-tests: New file.
38735
38736         New module 'uninorm/nfc'.
38737         * lib/uninorm/nfc.c: New file.
38738         * modules/uninorm/nfc: New file.
38739
38740         Tests for module 'uninorm/nfd'.
38741         * tests/uninorm/test-nfd.c: New file.
38742         * tests/uninorm/test-u8-nfd.c: New file.
38743         * tests/uninorm/test-u16-nfd.c: New file.
38744         * tests/uninorm/test-u32-nfd.c: New file.
38745         * tests/uninorm/test-u32-nfd-big.sh: New file.
38746         * tests/uninorm/test-u32-nfd-big.c: New file.
38747         * tests/uninorm/test-u32-normalize-big.h: New file.
38748         * tests/uninorm/test-u32-normalize-big.c: New file.
38749         * tests/uninorm/NormalizationTest.txt: New file, created from
38750         Unicode 5.1.0 NormalizationTest.txt.
38751         * modules/uninorm/nfd-tests: New file.
38752
38753         New module 'uninorm/nfd'.
38754         * lib/uninorm/nfd.c: New file.
38755         * modules/uninorm/nfd: New file.
38756
38757         New module 'uninorm/u32-normalize'.
38758         * lib/uninorm/u32-normalize.c: New file.
38759         * modules/uninorm/u32-normalize: New file.
38760
38761         New module 'uninorm/u16-normalize'.
38762         * lib/uninorm/u16-normalize.c: New file.
38763         * modules/uninorm/u16-normalize: New file.
38764
38765         New module 'uninorm/u8-normalize'.
38766         * lib/uninorm/u8-normalize.c: New file.
38767         * lib/uninorm/normalize-internal.h: New file.
38768         * lib/uninorm/u-normalize-internal.h: New file.
38769         * modules/uninorm/u8-normalize: New file.
38770
38771         New module 'uninorm/decompose-internal'.
38772         * lib/uninorm/decompose-internal.c: New file.
38773         * modules/uninorm/decompose-internal: New file.
38774
38775         Tests for module 'uninorm/composition'.
38776         * tests/uninorm/test-composition.c: New file.
38777         * modules/uninorm/composition-tests: New file.
38778
38779         New module 'uninorm/composition'.
38780         * lib/uninorm/composition.c: New file.
38781         * lib/uninorm/composition-table.gperf: New file, generated by
38782         gen-uni-tables.
38783         * modules/uninorm/composition: New file.
38784
38785         Tests for module 'uninorm/compat-decomposition'.
38786         * tests/uninorm/test-compat-decomposition.c: New file.
38787         * modules/uninorm/compat-decomposition-tests: New file.
38788
38789         New module 'uninorm/compat-decomposition'.
38790         * lib/uninorm/decompose-internal.h: New file.
38791         * lib/uninorm/compat-decomposition.c: New file.
38792         * modules/uninorm/compat-decomposition: New file.
38793
38794         Tests for module 'uninorm/canonical-decomposition'.
38795         * tests/uninorm/test-canonical-decomposition.c: New file.
38796         * modules/uninorm/canonical-decomposition-tests: New file.
38797
38798         New module 'uninorm/canonical-decomposition'.
38799         * lib/uninorm/canonical-decomposition.c: New file.
38800         * modules/uninorm/canonical-decomposition: New file.
38801
38802         Tests for module 'uninorm/decomposition'.
38803         * tests/uninorm/test-decomposition.c: New file.
38804         * modules/uninorm/decomposition-tests: New file.
38805
38806         New module 'uninorm/decomposition'.
38807         * lib/uninorm/decomposition.c: New file.
38808         * modules/uninorm/decomposition: New file.
38809
38810         New module 'uninorm/decomposition-table'.
38811         * lib/uninorm/decomposition-table.h: New file.
38812         * lib/uninorm/decomposition-table.c: New file.
38813         * lib/uninorm/decomposition-table1.h: New file, generated by
38814         gen-uni-tables.
38815         * lib/uninorm/decomposition-table2.h: New file, generated by
38816         gen-uni-tables.
38817         * modules/uninorm/decomposition-table: New file.
38818
38819         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
38820         (UC_DECOMP_*): New enumeration items.
38821         (get_decomposition): New function.
38822         (struct decomp_table): New type.
38823         (output_decomposition, output_decomposition_tables): New functions.
38824         (unicode_composition_exclusions): New variable.
38825         (fill_composition_exclusions, debug_output_composition_tables): New
38826         functions.
38827         (main): Accept one more argument. Invoke fill_composition_exclusions.
38828         Output decomposition and composition tables.
38829
38830         New module 'uninorm/base'.
38831         * lib/uninorm.h: New file.
38832         * lib/unictype.h: Update comment.
38833         * modules/uninorm/base: New file.
38834
38835 2009-02-21  David Lutterkort  <lutter@redhat.com>
38836
38837         Tests for module 'safe-alloc'.
38838         * tests/test-safe-alloc.c: New file.
38839         * modules/safe-alloc-tests: New file.
38840
38841         New module 'safe-alloc'.
38842         * lib/safe-alloc.h: New file.
38843         * lib/safe-alloc.c: New file.
38844         * m4/safe-alloc.m4: New file.
38845         * modules/safe-alloc: New file.
38846         * doc/safe-alloc.texi: New file.
38847         * doc/gnulib.texi: Include it.
38848         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
38849         safe-alloc.
38850
38851 2009-02-18  Bruno Haible  <bruno@clisp.org>
38852
38853         Fix link error on non-glibc systems.
38854         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
38855         variable.
38856         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38857
38858 2009-02-18  Jim Meyering  <meyering@redhat.com>
38859
38860         fts: avoid used-uninitialized error due to recent change
38861         * lib/fts.c (fts_read): Guard uses of the new member,
38862         parent->fts_n_dirs_remaining, since it's not relevant for
38863         the parent of a directory specified on the command-line.
38864
38865 2009-02-17  James Youngman  <jay@gnu.org>
38866             Bruno Haible  <bruno@clisp.org>
38867
38868         * m4/include_next.m4: Reformulate comment.
38869
38870 2009-02-16  Jim Meyering  <meyering@redhat.com>
38871
38872         fts: add #if guards so that the fts_lgpl module still builds
38873         * lib/fts.c: Guard just-added hash-table-using parts with
38874         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
38875         Reported by Simon Josefsson.
38876
38877 2009-02-15  Bruno Haible  <bruno@clisp.org>
38878
38879         * modules/array-mergesort-tests: New file.
38880         * tests/test-array-mergesort.c: New file.
38881
38882         New module 'array-mergesort'.
38883         * modules/array-mergesort: New file.
38884         * lib/array-mergesort.h: New file.
38885
38886 2009-02-15  Bruno Haible  <bruno@clisp.org>
38887
38888         Fix 2009-02-07 commit.
38889         * lib/gen-uni-tables.c (output_predicate, output_category,
38890         output_combclass, output_bidi_category, output_decimal_digit,
38891         output_digit, output_numeric, output_mirror, output_scripts,
38892         output_ident_category, output_simple_mapping): Fix format directives.
38893         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
38894
38895 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
38896
38897         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
38898         fixes are available from IBM.
38899
38900 2009-02-13  Jim Meyering  <meyering@redhat.com>
38901
38902         fts: arrange not to stat non-directories in more cases
38903         This makes GNU find (when it doesn't need to stat each file)
38904         *much* more efficient at traversing reiserfs file systems.
38905         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
38906         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
38907         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
38908         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
38909         (leaf_optimization_applies): New function.
38910         (LCO_hash, LCO_compare): New helper functions.
38911         (link_count_optimize_ok): New function.
38912         (fts_stat): Initialize new member (if dir).
38913         (fts_read): Decrement parent's fts_n_dirs_remaining count if
38914         we've just stat'ed a directory.  Skip the stat call when possible.
38915         ---
38916         Note this AFS-related exchange:
38917         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
38918         and note find's pioctl call in find/fstype.c.
38919         But that is necessary only if you want to enable the
38920         optimization for AFS, and for now, I don't.
38921
38922         fts: move a function definition "up" (no semantic change)
38923         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
38924         "up" to precede upcoming use of a related function.
38925
38926 2009-02-11  Jim Meyering  <meyering@redhat.com>
38927
38928         fts: correct internal computation of nlinks (optimization-related)
38929         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
38930         whether the current entry is a directory, so don't test it.
38931
38932 2009-02-10  Bruno Haible  <bruno@clisp.org>
38933
38934         Tests for module 'uniwbrk/ulc-wordbreaks'.
38935         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
38936         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
38937         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
38938
38939         Tests for module 'uniwbrk/u32-wordbreaks'.
38940         * modules/uniwbrk/u32-wordbreaks-tests: New file.
38941         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
38942
38943         Tests for module 'uniwbrk/u16-wordbreaks'.
38944         * modules/uniwbrk/u16-wordbreaks-tests: New file.
38945         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
38946
38947         Tests for module 'uniwbrk/u8-wordbreaks'.
38948         * modules/uniwbrk/u8-wordbreaks-tests: New file.
38949         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
38950
38951 2009-02-10  Bruno Haible  <bruno@clisp.org>
38952
38953         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
38954         property.
38955         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
38956         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
38957         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
38958
38959 2009-02-10  Simon Josefsson  <simon@josefsson.org>
38960
38961         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
38962         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
38963
38964 2009-02-10  Bruno Haible  <bruno@clisp.org>
38965
38966         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
38967         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
38968         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
38969         * lib/unilbrk/u8-possible-linebreaks.c: Update.
38970         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
38971         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
38972
38973 2009-02-09  Simon Josefsson  <simon@josefsson.org>
38974
38975         * lib/sockets.h (gl_fd_to_handle): New function.
38976
38977         * tests/test-sockets.c: Call gl_fd_to_handle.
38978
38979 2009-02-09  Bruno Haible  <bruno@clisp.org>
38980
38981         * doc/havelib.texi: Document the conventions on bi-arch systems.
38982
38983 2009-02-08  Bruno Haible  <bruno@clisp.org>
38984
38985         Document the AC_LIB_LINKFLAGS macro.
38986         * doc/havelib.texi: New file, mostly written on 2005-05-24.
38987         * doc/gnulib.texi: Include it.
38988
38989 2009-02-08  Bruno Haible  <bruno@clisp.org>
38990
38991         Fix wrong order of sections, compared to TOC.
38992         * doc/gnulib.texi: Include relocatable-maint.texi after the
38993         "Regular expressions" node, not before.
38994
38995 2009-02-08  Bruno Haible  <bruno@clisp.org>
38996
38997         Tests for module 'unicase/totitle'.
38998         * modules/unicase/totitle-tests: New file.
38999
39000         Tests for module 'unicase/tolower'.
39001         * modules/unicase/tolower-tests: New file.
39002
39003         Tests for module 'unicase/toupper'.
39004         * modules/unicase/toupper-tests: New file.
39005         * tests/unicase/test-mapping-part1.h: New file.
39006         * tests/unicase/test-mapping-part2.h: New file.
39007
39008         New module 'unicase/totitle'.
39009         * modules/unicase/totitle: New file.
39010         * lib/unicase/totitle.c: New file.
39011
39012         New module 'unicase/tolower'.
39013         * modules/unicase/tolower: New file.
39014         * lib/unicase/tolower.c: New file.
39015
39016         New module 'unicase/toupper'.
39017         * modules/unicase/toupper: New file.
39018         * lib/unicase/toupper.c: New file.
39019         * lib/unicase/simple-mapping.h: New file.
39020
39021         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
39022         (mapping_table): New structure.
39023         (output_simple_mapping): New function.
39024         (main): Invoke output_simple_mapping_test and output_simple_mapping.
39025         * modules/gen-uni-tables (Description): Update.
39026         * lib/unicase/toupper.h: New file, automatically generated by
39027         gen-uni-tables.
39028         * lib/unicase/tolower.h: New file, automatically generated by
39029         gen-uni-tables.
39030         * lib/unicase/totitle.h: New file, automatically generated by
39031         gen-uni-tables.
39032         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
39033         gen-uni-tables.
39034         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
39035         gen-uni-tables.
39036         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
39037         gen-uni-tables.
39038
39039         New module 'unicase/base'.
39040         * modules/unicase/base: New file.
39041         * lib/unicase.h: New file.
39042
39043 2009-02-08  Bruno Haible  <bruno@clisp.org>
39044
39045         New module 'uniwbrk/ulc-wordbreaks'.
39046         * modules/uniwbrk/ulc-wordbreaks: New file.
39047         * lib/uniwbrk/ulc-wordbreaks.c: New file.
39048
39049         New module 'uniwbrk/u32-wordbreaks'.
39050         * modules/uniwbrk/u32-wordbreaks: New file.
39051         * lib/uniwbrk/u32-wordbreaks.c: New file.
39052
39053         New module 'uniwbrk/u16-wordbreaks'.
39054         * modules/uniwbrk/u16-wordbreaks: New file.
39055         * lib/uniwbrk/u16-wordbreaks.c: New file.
39056
39057         New module 'uniwbrk/u8-wordbreaks'.
39058         * modules/uniwbrk/u8-wordbreaks: New file.
39059         * lib/uniwbrk/u8-wordbreaks.c: New file.
39060         * lib/uniwbrk/u-wordbreaks.h: New file.
39061
39062         New module 'uniwbrk/table'.
39063         * modules/uniwbrk/table: New file.
39064         * lib/uniwbrk/wbrktable.h: New file.
39065         * lib/uniwbrk/wbrktable.c: New file.
39066
39067         New module 'uniwbrk/wordbreak-property'.
39068         * modules/uniwbrk/wordbreak-property: New file.
39069         * lib/uniwbrk/wordbreak-property.c: New file.
39070
39071         * lib/gen-uni-tables.c (WBP_*): New enum items.
39072         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
39073         (unicode_org_wbp): New variable.
39074         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
39075         New functions.
39076         (wbp_table): New structure.
39077         (output_wbp, output_wbrk_tables): New functions.
39078         (main): Accept additional argument. Invoke fill_org_wbp,
39079         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
39080         output_wbrk_tables.
39081         * modules/gen-uni-tables (Description): Update.
39082         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
39083         gen-uni-tables.
39084
39085         New module 'uniwbrk/base'.
39086         * modules/uniwbrk/base: New file.
39087         * lib/uniwbrk.h: New file.
39088
39089 2009-02-08  Bruno Haible  <bruno@clisp.org>
39090
39091         Update to Unicode 5.1.0.
39092         * lib/gen-uni-tables.c (is_property_alphabetic): Include
39093         U+2185..U+2188.
39094         (is_property_default_ignorable_code_point): Don't include characters
39095         of category Cc or Cs and not-a-characters.
39096         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
39097         U+0D79, U+109E, U+109F, U+A60C.
39098         * lib/unictype/bidi_of.h: Regenerated.
39099         * lib/unictype/blocks.h: Regenerated.
39100         * lib/unictype/categ_C.h: Regenerated.
39101         * lib/unictype/categ_Cf.h: Regenerated.
39102         * lib/unictype/categ_Cn.h: Regenerated.
39103         * lib/unictype/categ_L.h: Regenerated.
39104         * lib/unictype/categ_Ll.h: Regenerated.
39105         * lib/unictype/categ_Lm.h: Regenerated.
39106         * lib/unictype/categ_Lo.h: Regenerated.
39107         * lib/unictype/categ_Lu.h: Regenerated.
39108         * lib/unictype/categ_M.h: Regenerated.
39109         * lib/unictype/categ_Mc.h: Regenerated.
39110         * lib/unictype/categ_Me.h: Regenerated.
39111         * lib/unictype/categ_Mn.h: Regenerated.
39112         * lib/unictype/categ_N.h: Regenerated.
39113         * lib/unictype/categ_Nd.h: Regenerated.
39114         * lib/unictype/categ_Nl.h: Regenerated.
39115         * lib/unictype/categ_No.h: Regenerated.
39116         * lib/unictype/categ_P.h: Regenerated.
39117         * lib/unictype/categ_Pd.h: Regenerated.
39118         * lib/unictype/categ_Pe.h: Regenerated.
39119         * lib/unictype/categ_Pf.h: Regenerated.
39120         * lib/unictype/categ_Pi.h: Regenerated.
39121         * lib/unictype/categ_Po.h: Regenerated.
39122         * lib/unictype/categ_Ps.h: Regenerated.
39123         * lib/unictype/categ_S.h: Regenerated.
39124         * lib/unictype/categ_Sk.h: Regenerated.
39125         * lib/unictype/categ_Sm.h: Regenerated.
39126         * lib/unictype/categ_So.h: Regenerated.
39127         * lib/unictype/categ_of.h: Regenerated.
39128         * lib/unictype/combining.h: Regenerated.
39129         * lib/unictype/ctype_alnum.h: Regenerated.
39130         * lib/unictype/ctype_alpha.h: Regenerated.
39131         * lib/unictype/ctype_graph.h: Regenerated.
39132         * lib/unictype/ctype_lower.h: Regenerated.
39133         * lib/unictype/ctype_print.h: Regenerated.
39134         * lib/unictype/ctype_punct.h: Regenerated.
39135         * lib/unictype/ctype_upper.h: Regenerated.
39136         * lib/unictype/decdigit.h: Regenerated.
39137         * lib/unictype/digit.h: Regenerated.
39138         * lib/unictype/mirror.h: Regenerated.
39139         * lib/unictype/numeric.h: Regenerated.
39140         * lib/unictype/pr_alphabetic.h: Regenerated.
39141         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
39142         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
39143         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
39144         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
39145         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
39146         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
39147         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
39148         * lib/unictype/pr_combining.h: Regenerated.
39149         * lib/unictype/pr_dash.h: Regenerated.
39150         * lib/unictype/pr_decimal_digit.h: Regenerated.
39151         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
39152         * lib/unictype/pr_deprecated.h: Regenerated.
39153         * lib/unictype/pr_diacritic.h: Regenerated.
39154         * lib/unictype/pr_extender.h: Regenerated.
39155         * lib/unictype/pr_format_control.h: Regenerated.
39156         * lib/unictype/pr_grapheme_base.h: Regenerated.
39157         * lib/unictype/pr_grapheme_extend.h: Regenerated.
39158         * lib/unictype/pr_grapheme_link.h: Regenerated.
39159         * lib/unictype/pr_id_continue.h: Regenerated.
39160         * lib/unictype/pr_id_start.h: Regenerated.
39161         * lib/unictype/pr_ideographic.h: Regenerated.
39162         * lib/unictype/pr_ignorable_control.h: Regenerated.
39163         * lib/unictype/pr_lowercase.h: Regenerated.
39164         * lib/unictype/pr_math.h: Regenerated.
39165         * lib/unictype/pr_numeric.h: Regenerated.
39166         * lib/unictype/pr_other_alphabetic.h: Regenerated.
39167         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
39168         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
39169         * lib/unictype/pr_other_id_continue.h: Regenerated.
39170         * lib/unictype/pr_other_lowercase.h: Regenerated.
39171         * lib/unictype/pr_other_math.h: Regenerated.
39172         * lib/unictype/pr_punctuation.h: Regenerated.
39173         * lib/unictype/pr_sentence_terminal.h: Regenerated.
39174         * lib/unictype/pr_soft_dotted.h: Regenerated.
39175         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
39176         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
39177         * lib/unictype/pr_unified_ideograph.h: Regenerated.
39178         * lib/unictype/pr_uppercase.h: Regenerated.
39179         * lib/unictype/pr_xid_continue.h: Regenerated.
39180         * lib/unictype/pr_xid_start.h: Regenerated.
39181         * lib/unictype/pr_zero_width.h: Regenerated.
39182         * lib/unictype/scripts.h: Regenerated.
39183         * lib/unictype/scripts_byname.gperf: Regenerated.
39184         * lib/unictype/sy_java_ident.h: Regenerated.
39185         * lib/unilbrk/lbrkprop1.h: Regenerated.
39186         * lib/unilbrk/lbrkprop2.h: Regenerated.
39187         * tests/unictype/test-categ_C.c: Regenerated.
39188         * tests/unictype/test-categ_Cf.c: Regenerated.
39189         * tests/unictype/test-categ_Cn.c: Regenerated.
39190         * tests/unictype/test-categ_L.c: Regenerated.
39191         * tests/unictype/test-categ_Ll.c: Regenerated.
39192         * tests/unictype/test-categ_Lm.c: Regenerated.
39193         * tests/unictype/test-categ_Lo.c: Regenerated.
39194         * tests/unictype/test-categ_Lu.c: Regenerated.
39195         * tests/unictype/test-categ_M.c: Regenerated.
39196         * tests/unictype/test-categ_Mc.c: Regenerated.
39197         * tests/unictype/test-categ_Me.c: Regenerated.
39198         * tests/unictype/test-categ_Mn.c: Regenerated.
39199         * tests/unictype/test-categ_N.c: Regenerated.
39200         * tests/unictype/test-categ_Nd.c: Regenerated.
39201         * tests/unictype/test-categ_Nl.c: Regenerated.
39202         * tests/unictype/test-categ_No.c: Regenerated.
39203         * tests/unictype/test-categ_P.c: Regenerated.
39204         * tests/unictype/test-categ_Pd.c: Regenerated.
39205         * tests/unictype/test-categ_Pe.c: Regenerated.
39206         * tests/unictype/test-categ_Pf.c: Regenerated.
39207         * tests/unictype/test-categ_Pi.c: Regenerated.
39208         * tests/unictype/test-categ_Po.c: Regenerated.
39209         * tests/unictype/test-categ_Ps.c: Regenerated.
39210         * tests/unictype/test-categ_S.c: Regenerated.
39211         * tests/unictype/test-categ_Sk.c: Regenerated.
39212         * tests/unictype/test-categ_Sm.c: Regenerated.
39213         * tests/unictype/test-categ_So.c: Regenerated.
39214         * tests/unictype/test-ctype_alnum.c: Regenerated.
39215         * tests/unictype/test-ctype_alpha.c: Regenerated.
39216         * tests/unictype/test-ctype_graph.c: Regenerated.
39217         * tests/unictype/test-ctype_lower.c: Regenerated.
39218         * tests/unictype/test-ctype_print.c: Regenerated.
39219         * tests/unictype/test-ctype_punct.c: Regenerated.
39220         * tests/unictype/test-ctype_upper.c: Regenerated.
39221         * tests/unictype/test-decdigit.h: Regenerated.
39222         * tests/unictype/test-digit.h: Regenerated.
39223         * tests/unictype/test-numeric.h: Regenerated.
39224         * tests/unictype/test-pr_alphabetic.c: Regenerated.
39225         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
39226         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
39227         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
39228         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
39229         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
39230         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
39231         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
39232         * tests/unictype/test-pr_combining.c: Regenerated.
39233         * tests/unictype/test-pr_dash.c: Regenerated.
39234         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
39235         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
39236         * tests/unictype/test-pr_deprecated.c: Regenerated.
39237         * tests/unictype/test-pr_diacritic.c: Regenerated.
39238         * tests/unictype/test-pr_extender.c: Regenerated.
39239         * tests/unictype/test-pr_format_control.c: Regenerated.
39240         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
39241         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
39242         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
39243         * tests/unictype/test-pr_id_continue.c: Regenerated.
39244         * tests/unictype/test-pr_id_start.c: Regenerated.
39245         * tests/unictype/test-pr_ideographic.c: Regenerated.
39246         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
39247         * tests/unictype/test-pr_lowercase.c: Regenerated.
39248         * tests/unictype/test-pr_math.c: Regenerated.
39249         * tests/unictype/test-pr_numeric.c: Regenerated.
39250         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
39251         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
39252         Regenerated.
39253         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
39254         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
39255         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
39256         * tests/unictype/test-pr_other_math.c: Regenerated.
39257         * tests/unictype/test-pr_punctuation.c: Regenerated.
39258         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
39259         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
39260         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
39261         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
39262         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
39263         * tests/unictype/test-pr_uppercase.c: Regenerated.
39264         * tests/unictype/test-pr_xid_continue.c: Regenerated.
39265         * tests/unictype/test-pr_xid_start.c: Regenerated.
39266         * tests/unictype/test-pr_zero_width.c: Regenerated.
39267
39268         Update to Unicode 5.1.0.
39269         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
39270         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
39271         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
39272         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
39273         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
39274         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
39275         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
39276         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
39277         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
39278         (nonspacing_table_ind): Update.
39279         * tests/uniwidth/test-uc_width2.sh: Update expected result.
39280
39281         Update to Unicode 5.1.0.
39282         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
39283         code transform.
39284         * lib/uniname/uniname.c (unicode_character_name,
39285         unicode_name_character): Add the range 0x1Fxxx to the code transform.
39286         * lib/uniname/uninames.h: Regenerated.
39287         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
39288
39289 2009-02-07  Bruno Haible  <bruno@clisp.org>
39290
39291         Merge gen-ctype and gen-lbrk into a single program.
39292         * lib/gen-uni-tables.c: New file, incorporating
39293         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
39294         Add directory prefixes to the names of the generated files.
39295         * lib/unictype/gen-ctype.c: Remove file.
39296         * lib/unilbrk/gen-lbrk.c: Remove file.
39297         * modules/gen-uni-tables: New file.
39298         * modules/unictype/gen-ctype: Remove file.
39299         * modules/unilbrk/gen-lbrk: Remove file.
39300
39301 2009-02-07  Bruno Haible  <bruno@clisp.org>
39302
39303         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
39304
39305         New module 'unistr/u32-strcoll'.
39306         * modules/unistr/u32-strcoll: New file.
39307         * lib/unistr/u32-strcoll.c: New file.
39308
39309         New module 'unistr/u16-strcoll'.
39310         * modules/unistr/u16-strcoll: New file.
39311         * lib/unistr/u16-strcoll.c: New file.
39312
39313         New module 'unistr/u8-strcoll'.
39314         * modules/unistr/u8-strcoll: New file.
39315         * lib/unistr/u8-strcoll.c: New file.
39316         * lib/unistr/u-strcoll.h: New file.
39317
39318 2009-02-07  Bruno Haible  <bruno@clisp.org>
39319
39320         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
39321         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
39322         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
39323         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
39324         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
39325         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
39326
39327 2009-02-07  Bruno Haible  <bruno@clisp.org>
39328
39329         Make 64-bit clean.
39330         * lib/unictype/gen-ctype.c (output_predicate, output_category,
39331         output_combclass, output_bidi_category, output_decimal_digit,
39332         output_digit, output_numeric, output_mirror, output_scripts,
39333         output_ident_category): Use proper width specifier in format strings.
39334
39335 2009-02-07  Bruno Haible  <bruno@clisp.org>
39336
39337         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
39338         failure behaviour.
39339
39340 2009-02-07  Jim Meyering  <meyering@redhat.com>
39341
39342         regex: avoid compilation failure with upcoming gcc-4.4
39343         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
39344         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
39345         "... error: integer overflow in preprocessor expression".
39346
39347 2009-02-05  Ben Pfaff  <blp@gnu.org>
39348
39349         Fix link errors on Windows when close module is used.
39350         * modules/close: Add $(LIB_CLOSE) to Link section.
39351         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
39352         $(LIB_CLOSE) on Windows.
39353
39354 2009-02-05  Jim Meyering  <meyering@redhat.com>
39355
39356         still avoid unused-parameter warnings, but do it cleanly
39357         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
39358         (get_fs_usage): Cast to void instead.
39359         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
39360         (dev_from_mount_options, read_file_system_list): Cast to void.
39361         Prompted by Bruno Haible.
39362
39363 2009-02-04  Jim Meyering  <meyering@redhat.com>
39364
39365         fsusage.c: correct copyright year
39366         * lib/fsusage.c: Reflect year in which the change is pushed into
39367
39368         avoid misc. warnings
39369         * lib/fsusage.c (UNUSED_PARAM): Define.
39370         (get_fs_usage): Mark parameter "disk" as unused.
39371         * lib/getugroups.c (getgrent): Use "void" in prototype.
39372         * lib/mountlist.c: Mark unused parameters.
39373         (read_file_system_list): Declare a local with "const".
39374         * lib/nanosleep.c (getnow): Declare static.
39375         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
39376
39377         dirfd: set errno upon failure
39378         * lib/dirfd.c: Include <errno.h>.
39379         Set errno to ENOTSUP when returning -1.
39380         * modules/dirfd (Depends-on): Add errno.
39381         Suggested by John Kodis <kodis@comcast.net>.
39382
39383 2009-02-01  Bruno Haible  <bruno@clisp.org>
39384
39385         Don't assume sizeof (long) >= sizeof (void *).
39386         * lib/memcmp.c: Include stdint.h.
39387         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
39388         srcp2 to 'const byte *'.
39389         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
39390         types to uintptr_t.
39391         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
39392         * modules/memcmp (Depends-on): Add stdint.
39393         Reported by Ozkan Sezer <sezeroz@gmail.com>.
39394
39395 2009-01-30  Eric Blake  <ebb9@byu.net>
39396
39397         fix more require-before-expand issues
39398         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
39399         expand, AC_PROG_AWK.
39400         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
39401
39402 2009-01-28  Eric Blake  <ebb9@byu.net>
39403
39404         version-etc: use consistent URL formatting
39405         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
39406         Improve formatting.  Use fputs for string without %.
39407
39408 2009-01-28  Jim Meyering  <meyering@redhat.com>
39409
39410         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
39411         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
39412         "underquoted definition of NAME" from autoconf-2.59.
39413
39414 2009-01-28  Bruno Haible  <bruno@clisp.org>
39415
39416         * doc/gnulib.texi: Add "Obsolete modules" to index.
39417
39418 2009-01-28  Jim Meyering  <meyering@redhat.com>
39419
39420         useless-if-before-free: recognize more variants
39421         * build-aux/useless-if-before-free: Also recognize e.g.,
39422         if (NULL != p) free (p);
39423
39424 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
39425
39426         test-getaddrinfo: skip (don't fail) this test when there's no network
39427         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
39428         on the presumption that it means you lack network access.
39429
39430 2009-01-26  Jim Meyering  <meyering@redhat.com>
39431
39432         fflush: avoid warnings on modern systems
39433         * lib/fflush.c (rpl_fflush): Move declarations of locals,
39434         pos and result, into scopes where they're used.
39435
39436 2009-01-26  Eric Blake  <ebb9@byu.net>
39437
39438         Silence warning reintroduced by recent extensions patch.
39439         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
39440         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
39441         autoconf.
39442
39443         Backport improved autoconf semantics of AC_DEFUN_ONCE.
39444         * m4/00gnulib.m4: New file.
39445         * gnulib-tool (func_get_filelist): Always use it.
39446         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
39447         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
39448
39449 2009-01-25  Bruno Haible  <bruno@clisp.org>
39450
39451         Make test-quotearg work on MacOS X and AIX.
39452         * tests/test-quotearg.sh: New file.
39453         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
39454         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
39455         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
39456         include <libintl.h>.
39457         (fake_locale): Remove variable.
39458         (gettext, dgettext, dcgettext): Remove functions.
39459         (main): Instead of setting a fake locale, set a real locale. Call
39460         textdomain and bindtextdomain.
39461         * modules/quotearg-tests (Files): Add the new files.
39462         (Depends-on): Add gettext, setenv, unsetenv.
39463         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
39464         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
39465         Augment TESTS_ENVIRONMENT.
39466
39467 2009-01-25  Bruno Haible  <bruno@clisp.org>
39468
39469         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
39470         fr_FR.ISO8859-1 locale on MacOS X.
39471         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
39472         ja_JP.eucJP locale on MacOS X.
39473         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
39474         zh_CN.GB18030 locale on MacOS X.
39475
39476 2009-01-25  Bruno Haible  <bruno@clisp.org>
39477
39478         Avoid link errors on MacOS X 10.3.
39479         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
39480         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
39481
39482 2009-01-25  Bruno Haible  <bruno@clisp.org>
39483
39484         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
39485         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
39486         * modules/pipe (Files): Remove m4/posix_spawn.m4.
39487         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
39488         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
39489         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
39490         posix_spawnattr_init, posix_spawnattr_setsigmask,
39491         posix_spawnattr_setflags, posix_spawnattr_destroy.
39492
39493         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
39494         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
39495         * modules/execute (Files): Remove m4/posix_spawn.m4.
39496         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
39497         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
39498         posix_spawnattr_init, posix_spawnattr_setsigmask,
39499         posix_spawnattr_setflags, posix_spawnattr_destroy.
39500
39501 2009-01-25  Bruno Haible  <bruno@clisp.org>
39502
39503         * lib/glthread/threadlib.c: Include <stdlib.h>.
39504
39505 2009-01-25  Bruno Haible  <bruno@clisp.org>
39506
39507         * lib/glthread/threadlib.c (dummy): New declaration.
39508
39509 2009-01-25  Bruno Haible  <bruno@clisp.org>
39510
39511         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
39512         multibyte characters also for the GB18030 encoding. Don't crash when
39513         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
39514
39515 2009-01-25  Bruno Haible  <bruno@clisp.org>
39516
39517         Avoid redefining 'struct random_data' on OSF/1 5.1.
39518         * lib/stdlib.in.h: Include <random.h> if it exists.
39519         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
39520         HAVE_RANDOM_H. Include <random.h> when testing whether
39521         'struct random_data' exists.
39522         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
39523
39524 2009-01-25  Bruno Haible  <bruno@clisp.org>
39525
39526         Don't install charset.alias on MacOS X >= 10.3.
39527         * lib/localcharset.c (DARWIN7): New macro.
39528         (get_charset_aliases): Hardcode the result for Darwin7.
39529         * modules/localcharset (install-exec-local): Don't install
39530         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
39531
39532 2009-01-25  Bruno Haible  <bruno@clisp.org>
39533
39534         Don't install charset.alias on mingw and Cygwin.
39535         * modules/localcharset (install-exec-local): Don't install
39536         charset.alias on mingw and Cygwin, if the file does not yet exist.
39537         The result for these platforms is hardcoded in localcharset.c.
39538
39539 2009-01-25  Bruno Haible  <bruno@clisp.org>
39540
39541         Make it possible again to use AC_GNU_SOURCE together with gnulib.
39542         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
39543         before requiring AC_USE_SYSTEM_EXTENSIONS.
39544
39545 2009-01-25  Jim Meyering  <meyering@redhat.com>
39546
39547         c-strtod: avoid warnings
39548         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
39549         "assignment discards qualifiers from pointer target type" warnings.
39550
39551 2009-01-24  Bruno Haible  <bruno@clisp.org>
39552
39553         Add support for non-UTF-8 locales on MacOS X.
39554         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
39555         canonical encodings. For Darwin 7 and newer, don't map traditional
39556         encodings to UTF-8.
39557         Reported by Vincent Lefevre <vincent@vinc17.org>
39558         at <http://savannah.gnu.org/bugs/?25235>.
39559
39560 2009-01-24  Bruno Haible  <bruno@clisp.org>
39561
39562         * doc/gnulib.texi (Obsolete modules): New section.
39563         Reported by Mike Frysinger <vapier@gentoo.org>.
39564
39565 2009-01-24  Bruno Haible  <bruno@clisp.org>
39566
39567         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
39568         (%.dvi): New rule.
39569
39570 2009-01-24  Bruno Haible  <bruno@clisp.org>
39571
39572         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
39573         Reported by Eric Blake.
39574
39575 2009-01-24  Bruno Haible  <bruno@clisp.org>
39576
39577         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
39578         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
39579         Reported by Gary V. Vaughan <gary@gnu.org>.
39580
39581 2009-01-24  Bruno Haible  <bruno@clisp.org>
39582
39583         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
39584
39585 2009-01-23  Bruno Haible  <bruno@clisp.org>
39586
39587         Make c-strtod, c-strtold usable in libraries.
39588         * lib/c-strtod.c: Include string.h instead of xalloc.h.
39589         (C_STRTOD): Call strdup instead of xstrdup.
39590         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
39591         * modules/c-strtold (Depends-on): Likewise.
39592         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
39593         * NEWS: Mention the change.
39594         Reported by Michael Gold <mgold@ncf.ca>.
39595
39596 2009-01-23  Jim Meyering  <meyering@redhat.com>
39597
39598         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
39599         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
39600         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
39601
39602 2009-01-23  Simon Josefsson  <simon@josefsson.org>
39603
39604         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
39605         GNU CoreUtils.
39606         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
39607         * modules/version-etc (Description): Update.
39608
39609 2009-01-22  Bruno Haible  <bruno@clisp.org>
39610
39611         Cache the C locale object.
39612         * lib/c-strtod.c (c_locale_cache): New variable.
39613         (c_locale): New function.
39614         (C_STRTOD): Use it, and don't call freelocale.
39615         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
39616         Suggested by Paolo Bonzini.
39617
39618 2009-01-21  Bruno Haible  <bruno@clisp.org>
39619
39620         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
39621         conditions other than overflow.
39622
39623 2009-01-21  Bruno Haible  <bruno@clisp.org>
39624
39625         * lib/c-strtod.c: Include errno.h.
39626         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
39627         value from STRTOD_L and STRTOD.
39628
39629 2009-01-21  Bruno Haible  <bruno@clisp.org>
39630         and Jim Meyering  <meyering@redhat.com>
39631
39632         nanosleep: skip configure test (fail it) for apple universal builds
39633         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
39634         universal builds, assume that nanosleep does not work.
39635         * modules/nanosleep (Depends-on): Add multiarch.
39636
39637         mktime: skip configure test (fail it) for apple universal builds
39638         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
39639         universal builds, assume that mktime does not work.
39640         * modules/mktime (Depends-on): Add multiarch.
39641
39642 2009-01-21  Eric Blake  <ebb9@byu.net>
39643
39644         multiarch: avoid expand-before-require warning
39645         * modules/multiarch (configure.ac): Require, rather than expand,
39646         gl_MULTIARCH.
39647         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
39648         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
39649         enforce that all clients require it.  Partial reversion of
39650         2008-12-29 patch.
39651
39652         error: avoid expand-before-require warning
39653         * modules/errno (configure.ac): Require, rather than expand,
39654         gl_HEADER_ERRNO_H.
39655         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
39656         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
39657         enforce that all clients require it.
39658
39659         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
39660         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
39661         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
39662         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
39663
39664 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
39665
39666         Revert:
39667         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
39668
39669         regex: do not depend on obsolete modules.
39670         * modules/regex: Remove memcmp and memmove.
39671
39672 2009-01-20  Bruno Haible  <bruno@clisp.org>
39673
39674         Make the 'link' module link on Windows NT 4.
39675         * lib/link.c (_WIN32_WINNT): Don't define.
39676         (CreateHardLinkFuncType): New type.
39677         (CreateHardLinkFunc, initialized): New variables.
39678         (initialize): New function.
39679         (link): Invoke CreateHardLink indirectly through the function pointer.
39680
39681 2009-01-20  Bruno Haible  <bruno@clisp.org>
39682
39683         Fix compilation failure on mingw.
39684         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
39685
39686 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
39687
39688         * doc/c-strtod.texi: Mention a couple of restrictions.
39689
39690 2009-01-20  Jim Meyering  <meyering@redhat.com>
39691
39692         gettimeofday: move more declarations out of functions
39693         * lib/gettimeofday.c: Move extern declarations of tzset and
39694         gmtime out of containing functions.  Prompted by Bruno Haible.
39695
39696 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
39697
39698         regex: do not depend on obsolete modules.
39699         * modules/regex: Remove memcmp and memmove.
39700
39701 2009-01-19  Bruno Haible  <bruno@clisp.org>
39702
39703         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
39704         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
39705         gl_BIGENDIAN, not AC_C_BIGENDIAN.
39706         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
39707         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
39708
39709 2009-01-19  Bruno Haible  <bruno@clisp.org>
39710
39711         * tests/test-link.c: Include <errno.h>.
39712         (main): Exit with code 77 when a hard link cannot be created due to
39713         the file system.
39714         * tests/test-link.sh: Skip test when a hard link cannot be created due
39715         to the file system.
39716         Suggested by Eric Blake.
39717
39718 2009-01-19  Martin Lambers  <marlam@marlam.de>
39719
39720         * modules/link-tests: New file.
39721         * tests/test-link.sh: New file.
39722         * tests/test-link.c: New file.
39723
39724 2009-01-19  Eric Blake  <ebb9@byu.net>
39725
39726         doc: mention another function added in cygwin 1.7.0
39727         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
39728         Another new function in cygwin 1.7.
39729
39730 2009-01-19  Bruno Haible  <bruno@clisp.org>
39731
39732         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
39733         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
39734         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
39735         gl_BIGENDIAN, not AC_C_BIGENDIAN.
39736         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
39737         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
39738         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
39739         * m4/md4.m4 (gl_MD4): Likewise.
39740         * m4/md5.m4 (gl_MD5): Likewise.
39741         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
39742         * m4/sha1.m4 (gl_SHA1): Likewise.
39743         * m4/sha256.m4 (gl_SHA256): Likewise.
39744         * m4/sha512.m4 (gl_SHA512): Likewise.
39745
39746 2009-01-19  Bruno Haible  <bruno@clisp.org>
39747
39748         * modules/uniname/uniname-tests (Depends-on): Add progname.
39749         * tests/uniname/test-uninames.c: Include progname.h.
39750         (main): Call set_program_name.
39751
39752         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
39753         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
39754         (main): Call set_program_name.
39755
39756         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
39757         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
39758         (main): Call set_program_name.
39759
39760         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
39761         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
39762         (main): Call set_program_name.
39763
39764         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
39765         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
39766         (main): Call set_program_name.
39767
39768         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
39769         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
39770         (main): Call set_program_name.
39771
39772         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
39773         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
39774         (main): Call set_program_name.
39775
39776         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
39777         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
39778         (main): Call set_program_name.
39779
39780         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
39781         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
39782         (main): Call set_program_name.
39783
39784 2009-01-19  Eric Blake  <ebb9@byu.net>
39785
39786         test-unistd: test previous patch
39787         * tests/test-unistd.c: Test *_FILENO macros.
39788
39789         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
39790         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
39791         Guarantee a definition.
39792         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
39793         * modules/unistd-safer (Depends-on): Add dependency on unistd.
39794         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
39795         * lib/dup-safer.c (STDERR_FILENO): Likewise.
39796         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
39797         Likewise.
39798         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
39799         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
39800         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
39801         Likewise.
39802         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
39803         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
39804         (STDERR_FILENO): Likewise.
39805         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
39806         (STDERR_FILENO): Likewise.
39807         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
39808         (STDERR_FILENO): Likewise.
39809         Reported by Elbert Pol.
39810
39811 2009-01-19  Eric Blake  <ebb9@byu.net>
39812
39813         doc: mention more functions added in cygwin 1.7.0
39814         * doc/posix-functions/abort.texi (abort): Update wording related
39815         to cygwin.
39816         * doc/posix-functions/daylight.texi (daylight): Likewise.
39817         * doc/posix-functions/optarg.texi (optarg): Likewise.
39818         * doc/posix-functions/optarg.texi (opterr): Likewise.
39819         * doc/posix-functions/optarg.texi (optind): Likewise.
39820         * doc/posix-functions/optarg.texi (optopt): Likewise.
39821         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
39822         worked in 1.5.x, and was withdrawn in 1.7.
39823         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
39824         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
39825         cygwin versions.
39826         * doc/posix-functions/perror.texi (perror): Likewise.
39827         * doc/posix-functions/printf.texi (printf): Likewise.
39828         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
39829         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
39830         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
39831         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
39832         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
39833         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
39834         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
39835         Likewise.
39836         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
39837         Likewise.
39838         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
39839         this function.
39840         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
39841         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
39842         Likewise.
39843         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
39844         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
39845         * doc/posix-functions/confstr.texi (confstr): Likewise.
39846         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
39847         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
39848         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
39849         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
39850         * doc/posix-functions/fputws.texi (fputws): Likewise.
39851         * doc/posix-functions/fwide.texi (fwide): Likewise.
39852         * doc/posix-functions/getwc.texi (getwc): Likewise.
39853         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
39854         * doc/posix-functions/putwc.texi (putwc): Likewise.
39855         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
39856         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
39857         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
39858         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
39859         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
39860         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
39861         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
39862         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
39863         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
39864         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
39865         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
39866
39867 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
39868
39869         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
39870         * lib/ioctl.c: Include <sys/ioctl.h>.
39871
39872 2009-01-19  Simon Josefsson  <simon@josefsson.org>
39873
39874         * modules/getdate-tests (Depends-on): Add progname.
39875         * tests/test-getdate.c: Use progname module, to avoid link errors
39876         on non-glibc systems.
39877
39878 2009-01-18  Simon Josefsson  <simon@josefsson.org>
39879
39880         * modules/filenamecat-tests (Depends-on): Add progname.
39881         * modules/fstrcmp-tests (Depends-on): Likewise.
39882
39883         * tests/test-filenamecat.c: Use progname module, to avoid link
39884         errors on non-glibc systems.
39885         * tests/test-fstrcmp.c: Likewise.
39886
39887 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
39888
39889         gettimeofday: avoid warning: nested extern declaration of 'localtime'
39890         * lib/gettimeofday.c: Move extern declaration out of function.
39891
39892 2009-01-18  Bruno Haible  <bruno@clisp.org>
39893
39894         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
39895         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
39896         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
39897
39898 2009-01-18  Bruno Haible  <bruno@clisp.org>
39899
39900         * lib/strftime.c (MEMPCPY): Remove unused macro.
39901         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
39902
39903 2009-01-18  Martin Lambers  <marlam@marlam.de>
39904
39905         New module 'link'.
39906         * lib/unistd.in.h (link): New declaration.
39907         * lib/link.c: New file.
39908         * m4/link.m4: New file.
39909         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
39910         HAVE_LINK.
39911         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
39912         * modules/link: New file.
39913         * doc/posix-functions/link.texi: Mention the new module.
39914
39915 2009-01-18  Bruno Haible  <bruno@clisp.org>
39916
39917         * tests/test-avltree_list.c (main): Call set_program_name.
39918         * tests/test-avltree_oset.c (main): Likewise.
39919         * tests/test-obstack-printf.c: Include progname.h.
39920         (main): Call set_program_name.
39921         * tests/test-quotearg.c: Include progname.h.
39922         (main): Call set_program_name.
39923         * tests/test-xmemdup0.c: Include progname.h.
39924         (main): Call set_program_name.
39925
39926 2009-01-18  Bruno Haible  <bruno@clisp.org>
39927
39928         New module 'alphasort'.
39929         * lib/dirent.in.h (alphasort): New declaration.
39930         * lib/alphasort.c: New file, from glibc with modifications.
39931         * m4/alphasort.m4: New file.
39932         * modules/alphasort: New file.
39933         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
39934         HAVE_ALPHASORT.
39935         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
39936         HAVE_ALPHASORT.
39937         * doc/posix-functions/alphasort.texi: Mention the new module and the
39938         portability problems.
39939
39940 2009-01-18  Bruno Haible  <bruno@clisp.org>
39941
39942         New module 'scandir'.
39943         * lib/dirent.in.h (scandir): New declaration.
39944         * lib/scandir.c: New file, from glibc with modifications.
39945         * m4/scandir.m4: New file.
39946         * modules/scandir: New file.
39947         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
39948         HAVE_SCANDIR.
39949         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
39950         HAVE_SCANDIR.
39951         * doc/posix-functions/scandir.texi: Mention the new module and the
39952         portability problems.
39953
39954 2009-01-17  Bruno Haible  <bruno@clisp.org>
39955
39956         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
39957         Update documentation.
39958         (func_remove_suffix): Escape all dots in the suffix. Update
39959         documentation.
39960         (func_filter_filelist): Update documentation.
39961         Reported by Ralf Wildenhues.
39962
39963 2009-01-17  Bruno Haible  <bruno@clisp.org>
39964
39965         * modules/dprintf-posix-tests: New file.
39966         * tests/test-dprintf-posix.sh: New file.
39967         * tests/test-dprintf-posix.c: New file.
39968
39969         New modules 'dprintf', 'dprintf-posix'.
39970         * lib/stdio.in.h (dprintf): New declaration.
39971         * lib/dprintf.c: New file.
39972         * m4/dprintf.m4: New file.
39973         * m4/dprintf-posix.m4: New file.
39974         * modules/dprintf: New file.
39975         * modules/dprintf-posix: New file.
39976         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
39977         HAVE_DPRINTF, REPLACE_DPRINTF.
39978         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
39979         HAVE_DPRINTF, REPLACE_DPRINTF.
39980         * doc/posix-functions/dprintf.texi: Mention the new modules.
39981
39982 2009-01-17  Bruno Haible  <bruno@clisp.org>
39983
39984         * modules/vdprintf-posix-tests: New file.
39985         * tests/test-vdprintf-posix.sh: New file.
39986         * tests/test-vdprintf-posix.c: New file.
39987
39988         New modules 'vdprintf', 'vdprintf-posix'.
39989         * lib/stdio.in.h (vdprintf): New declaration.
39990         * lib/vdprintf.c: New file.
39991         * m4/vdprintf.m4: New file.
39992         * m4/vdprintf-posix.m4: New file.
39993         * modules/vdprintf: New file.
39994         * modules/vdprintf-posix: New file.
39995         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
39996         HAVE_VDPRINTF, REPLACE_VDPRINTF.
39997         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
39998         HAVE_VDPRINTF, REPLACE_VDPRINTF.
39999         * doc/posix-functions/vdprintf.texi: Mention the new modules.
40000
40001 2009-01-17  Bruno Haible  <bruno@clisp.org>
40002
40003         Fix replacement of fopen on mingw.
40004         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
40005         mingw.
40006
40007 2009-01-17  Bruno Haible  <bruno@clisp.org>
40008
40009         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
40010         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
40011
40012 2009-01-17  Bruno Haible  <bruno@clisp.org>
40013
40014         Avoid test-fflush2.sh failure on mingw.
40015         * tests/test-fflush2.c: Include binary-io.h.
40016         (main): Put standard input into binary mode.
40017         * modules/fflush-tests (Depends-on): Add binary-io.
40018
40019 2009-01-17  Bruno Haible  <bruno@clisp.org>
40020
40021         * lib/wchar.in.h: In another particular situation, include only the
40022         system's <wchar.h> file.
40023         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
40024         Reported by Albert Chin-A-Young <china@thewrittenword.com>
40025         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
40026
40027 2009-01-17  Bruno Haible  <bruno@clisp.org>
40028
40029         Support for stripping executables in --enable-relocatable.
40030         * build-aux/install-reloc: Expect one more argument, or an environment
40031         variable RELOC_STRIP_PROG. If set, strip the destination program and
40032         its wrapper.
40033         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
40034         RELOC_STRIP_PROG.
40035         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
40036         to set RELOCATABLE_STRIP.
40037         * NEWS: Mention the new Makefile requirement.
40038
40039 2009-01-17  Bruno Haible  <bruno@clisp.org>
40040
40041         * build-aux/install-reloc: Remove debugging information left over by
40042         C compiler on MacOS X.
40043
40044 2009-01-17  Bruno Haible  <bruno@clisp.org>
40045
40046         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
40047         * lib/progreloc.c (find_executable): Fix type of pointer passed to
40048         _NSGetExecutablePath.
40049
40050 2009-01-16  Jim Meyering  <meyering@redhat.com>
40051
40052         strerror: avoid warnings about discarding "const"
40053         * lib/strerror.c (rpl_strerror): Instead of returning a const
40054         string from each and every "case", use a variable, and add a single
40055         cast after the switch.
40056
40057 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
40058
40059         * lib/arpa_inet.in.h: Add extern "C" block for C++.
40060
40061 2009-01-16  Bruno Haible  <bruno@clisp.org>
40062
40063         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
40064         array initializer syntax that also works in C++ mode.
40065         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
40066
40067 2009-01-16  Jim Meyering  <meyering@redhat.com>
40068
40069         poll: suppress a warning
40070         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
40071         to ignore "...unsigned expression < 0 is always false" warnings.
40072
40073 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
40074
40075         poll: remove declarations of unused variables
40076         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
40077         sockbuf and optlen.
40078
40079 2009-01-15  Bruno Haible  <bruno@clisp.org>
40080
40081         Make fflush-after-ungetc POSIX compliant on BSD systems.
40082         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
40083         (clear_ungetc_buffer): Implement also for other systems.
40084         (rpl_fflush): On glibc systems, invoke
40085         clear_ungetc_buffer_preserving_position. Otherwise, invoke
40086         clear_ungetc_buffer after fetching the stream's position, not before.
40087
40088 2009-01-15  Bruno Haible  <bruno@clisp.org>
40089
40090         Make fflush-after-ungetc POSIX compliant on glibc systems.
40091         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
40092         after ungetc.
40093         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
40094         (rpl_fflush): On glibc systems, simply call the system's fflush
40095         function after clearing the ungetc buffer.
40096         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
40097         Instead, lseek only to the end of file, then use the system's fseeko
40098         for the rest. On glibc systems, reset the EOF indicator bit.
40099
40100 2009-01-15  Jim Meyering  <meyering@redhat.com>
40101
40102         openmp.m4: revert quote-adding change, for portability to older autoconf
40103         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
40104         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
40105         Simon Josefsson noticed the problem when using autoconf-2.61.
40106
40107 2009-01-15  Bruno Haible  <bruno@clisp.org>
40108
40109         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
40110         * tests/test-fflush2.c (ASSERT): Always fail.
40111         (main): Add two tests for fflush() after ungetc(), taking into account
40112         the Austin Group's clarification.
40113         Suggested by Eric Blake.
40114
40115 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
40116
40117         mktime.m4: remove K&R-style function prototypes
40118         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
40119         for the Sun C++ compiler.
40120
40121 2009-01-14  Bruno Haible  <bruno@clisp.org>
40122
40123         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
40124         while including <wchar.h>.
40125         * lib/wchar.in.h: In two particular situations on HP-UX, include only
40126         the system's <wchar.h> file.
40127         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
40128
40129 2009-01-14  Bruno Haible  <bruno@clisp.org>
40130
40131         * m4/csharp.m4: Don't mention gettext on the serial number line.
40132         * m4/csharpexec.m4: Likewise.
40133         * m4/eaccess.m4: Likewise.
40134         * m4/javaexec.m4: Likewise.
40135         * m4/sig_atomic_t.m4: Likewise.
40136         * m4/tmpdir.m4: Likewise.
40137         * m4/intldir.m4: Bump gettext version.
40138         * m4/lib-ld.m4: Likewise.
40139
40140 2009-01-14  Bruno Haible  <bruno@clisp.org>
40141
40142         * lib/progname.c (set_program_name): Add more comments.
40143         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
40144
40145 2009-01-14  Simon Josefsson  <simon@josefsson.org>
40146
40147         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
40148         were sys/stat.h does not define it.
40149
40150 2009-01-14  Jim Meyering  <meyering@redhat.com>
40151
40152         many *.m4 files: improve m4 quoting
40153         99% of this change was performed by running the following commands:
40154         git ls-files | grep '\.m4$' | xargs perl -pi \
40155           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
40156           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
40157           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
40158           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
40159         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
40160         The remainder were to add Copyright dates, increment serial numbers,
40161         undo some changes in comments, exclude m4/intl.m4, and add quotes
40162         around the "1" in ",1" where the unusual spacing prohibited the
40163         above regexps from doing the job.  For more details, see
40164         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
40165         * m4/acl.m4: Modified.
40166         * m4/afs.m4: Likewise.
40167         * m4/alloca.m4: Likewise.
40168         * m4/argp.m4: Likewise.
40169         * m4/argz.m4: Likewise.
40170         * m4/atexit.m4: Likewise.
40171         * m4/bison-i18n.m4: Likewise.
40172         * m4/bison.m4: Likewise.
40173         * m4/byteswap.m4: Likewise.
40174         * m4/c-stack.m4: Likewise.
40175         * m4/c-strtod.m4: Likewise.
40176         * m4/calloc.m4: Likewise.
40177         * m4/canonicalize-lgpl.m4: Likewise.
40178         * m4/chown.m4: Likewise.
40179         * m4/clock_time.m4: Likewise.
40180         * m4/codeset.m4: Likewise.
40181         * m4/copy-file.m4: Likewise.
40182         * m4/csharp.m4: Likewise.
40183         * m4/csharpcomp.m4: Likewise.
40184         * m4/csharpexec.m4: Likewise.
40185         * m4/d-ino.m4: Likewise.
40186         * m4/d-type.m4: Likewise.
40187         * m4/dirfd.m4: Likewise.
40188         * m4/double-slash-root.m4: Likewise.
40189         * m4/eaccess.m4: Likewise.
40190         * m4/eealloc.m4: Likewise.
40191         * m4/environ.m4: Likewise.
40192         * m4/errno_h.m4: Likewise.
40193         * m4/euidaccess.m4: Likewise.
40194         * m4/execute.m4: Likewise.
40195         * m4/fatal-signal.m4: Likewise.
40196         * m4/fchdir.m4: Likewise.
40197         * m4/fcntl_h.m4: Likewise.
40198         * m4/fileblocks.m4: Likewise.
40199         * m4/filenamecat.m4: Likewise.
40200         * m4/findprog.m4: Likewise.
40201         * m4/flexmember.m4: Likewise.
40202         * m4/fnmatch.m4: Likewise.
40203         * m4/fopen.m4: Likewise.
40204         * m4/fpending.m4: Likewise.
40205         * m4/fprintf-posix.m4: Likewise.
40206         * m4/free.m4: Likewise.
40207         * m4/frexp.m4: Likewise.
40208         * m4/frexpl.m4: Likewise.
40209         * m4/fsusage.m4: Likewise.
40210         * m4/ftruncate.m4: Likewise.
40211         * m4/gc-camellia.m4: Likewise.
40212         * m4/gc-random.m4: Likewise.
40213         * m4/gc.m4: Likewise.
40214         * m4/getaddrinfo.m4: Likewise.
40215         * m4/getcwd-abort-bug.m4: Likewise.
40216         * m4/getcwd-path-max.m4: Likewise.
40217         * m4/getdate.m4: Likewise.
40218         * m4/getdomainname.m4: Likewise.
40219         * m4/getgroups.m4: Likewise.
40220         * m4/gethostname.m4: Likewise.
40221         * m4/gethrxtime.m4: Likewise.
40222         * m4/getline.m4: Likewise.
40223         * m4/getloadavg.m4: Likewise.
40224         * m4/getndelim2.m4: Likewise.
40225         * m4/getpass.m4: Likewise.
40226         * m4/gettext.m4: Likewise.
40227         * m4/gettime.m4: Likewise.
40228         * m4/gettimeofday.m4: Likewise.
40229         * m4/gnulib-common.m4: Likewise.
40230         * m4/group-member.m4: Likewise.
40231         * m4/host-os.m4: Likewise.
40232         * m4/iconv.m4: Likewise.
40233         * m4/iconv_open.m4: Likewise.
40234         * m4/inet_ntop.m4: Likewise.
40235         * m4/inet_pton.m4: Likewise.
40236         * m4/inline.m4: Likewise.
40237         * m4/intldir.m4: Likewise.
40238         * m4/intlmacosx.m4: Likewise.
40239         * m4/intmax.m4: Likewise.
40240         * m4/intmax_t.m4: Likewise.
40241         * m4/inttypes.m4: Likewise.
40242         * m4/inttypes_h.m4: Likewise.
40243         * m4/inttypes-pri.m4: Likewise.
40244         * m4/isapipe.m4: Likewise.
40245         * m4/isnand.m4: Likewise.
40246         * m4/isnanf.m4: Likewise.
40247         * m4/isnanl.m4: Likewise.
40248         * m4/javacomp.m4: Likewise.
40249         * m4/javaexec.m4: Likewise.
40250         * m4/jm-winsz1.m4: Likewise.
40251         * m4/jm-winsz2.m4: Likewise.
40252         * m4/lchown.m4: Likewise.
40253         * m4/lcmessage.m4: Likewise.
40254         * m4/ldexpl.m4: Likewise.
40255         * m4/lib-ld.m4: Likewise.
40256         * m4/lib-link.m4: Likewise.
40257         * m4/libsigsegv.m4: Likewise.
40258         * m4/link-follow.m4: Likewise.
40259         * m4/localcharset.m4: Likewise.
40260         * m4/locale-fr.m4: Likewise.
40261         * m4/locale-ja.m4: Likewise.
40262         * m4/locale-tr.m4: Likewise.
40263         * m4/locale-zh.m4: Likewise.
40264         * m4/lock.m4: Likewise.
40265         * m4/longlong.m4: Likewise.
40266         * m4/ls-mntd-fs.m4: Likewise.
40267         * m4/lstat.m4: Likewise.
40268         * m4/malloc.m4: Likewise.
40269         * m4/mathl.m4: Likewise.
40270         * m4/mbrtowc.m4: Likewise.
40271         * m4/mbstate_t.m4: Likewise.
40272         * m4/mbswidth.m4: Likewise.
40273         * m4/memchr.m4: Likewise.
40274         * m4/memcmp.m4: Likewise.
40275         * m4/memcpy.m4: Likewise.
40276         * m4/memmem.m4: Likewise.
40277         * m4/memmove.m4: Likewise.
40278         * m4/mempcpy.m4: Likewise.
40279         * m4/memrchr.m4: Likewise.
40280         * m4/memset.m4: Likewise.
40281         * m4/minmax.m4: Likewise.
40282         * m4/mkdir-slash.m4: Likewise.
40283         * m4/mkdtemp.m4: Likewise.
40284         * m4/mktime.m4: Likewise.
40285         * m4/mmap-anon.m4: Likewise.
40286         * m4/mountlist.m4: Likewise.
40287         * m4/nanosleep.m4: Likewise.
40288         * m4/nls.m4: Likewise.
40289         * m4/nocrash.m4: Likewise.
40290         * m4/open.m4: Likewise.
40291         * m4/openat.m4: Likewise.
40292         * m4/openmp.m4: Likewise.
40293         * m4/pathmax.m4: Likewise.
40294         * m4/perl.m4: Likewise.
40295         * m4/physmem.m4: Likewise.
40296         * m4/pipe.m4: Likewise.
40297         * m4/po.m4: Likewise.
40298         * m4/poll.m4: Likewise.
40299         * m4/posixtm.m4: Likewise.
40300         * m4/posixver.m4: Likewise.
40301         * m4/printf-frexp.m4: Likewise.
40302         * m4/printf-frexpl.m4: Likewise.
40303         * m4/printf-posix.m4: Likewise.
40304         * m4/printf-posix-rpl.m4: Likewise.
40305         * m4/printf.m4: Likewise.
40306         * m4/progtest.m4: Likewise.
40307         * m4/putenv.m4: Likewise.
40308         * m4/readline.m4: Likewise.
40309         * m4/readlink.m4: Likewise.
40310         * m4/readutmp.m4: Likewise.
40311         * m4/realloc.m4: Likewise.
40312         * m4/regex.m4: Likewise.
40313         * m4/relocatable.m4: Likewise.
40314         * m4/relocatable-lib.m4: Likewise.
40315         * m4/rename-dest-slash.m4: Likewise.
40316         * m4/rename.m4: Likewise.
40317         * m4/rmdir-errno.m4: Likewise.
40318         * m4/rmdir.m4: Likewise.
40319         * m4/roundf.m4: Likewise.
40320         * m4/roundl.m4: Likewise.
40321         * m4/rpmatch.m4: Likewise.
40322         * m4/save-cwd.m4: Likewise.
40323         * m4/selinux-selinux-h.m4: Likewise.
40324         * m4/setenv.m4: Likewise.
40325         * m4/settime.m4: Likewise.
40326         * m4/sig2str.m4: Likewise.
40327         * m4/sig_atomic_t.m4: Likewise.
40328         * m4/signalblocking.m4: Likewise.
40329         * m4/signbit.m4: Likewise.
40330         * m4/sigpipe.m4: Likewise.
40331         * m4/sockets.m4: Likewise.
40332         * m4/sockpfaf.m4: Likewise.
40333         * m4/st_dm_mode.m4: Likewise.
40334         * m4/stat-time.m4: Likewise.
40335         * m4/stdbool.m4: Likewise.
40336         * m4/stdint.m4: Likewise.
40337         * m4/stdint_h.m4: Likewise.
40338         * m4/stpcpy.m4: Likewise.
40339         * m4/stpncpy.m4: Likewise.
40340         * m4/strcase.m4: Likewise.
40341         * m4/strchrnul.m4: Likewise.
40342         * m4/strcspn.m4: Likewise.
40343         * m4/strdup.m4: Likewise.
40344         * m4/strftime.m4: Likewise.
40345         * m4/strndup.m4: Likewise.
40346         * m4/strnlen.m4: Likewise.
40347         * m4/strpbrk.m4: Likewise.
40348         * m4/strptime.m4: Likewise.
40349         * m4/strsep.m4: Likewise.
40350         * m4/strtod.m4: Likewise.
40351         * m4/strtoimax.m4: Likewise.
40352         * m4/strtok_r.m4: Likewise.
40353         * m4/strtol.m4: Likewise.
40354         * m4/strtoll.m4: Likewise.
40355         * m4/strtoul.m4: Likewise.
40356         * m4/strtoull.m4: Likewise.
40357         * m4/strtoumax.m4: Likewise.
40358         * m4/strverscmp.m4: Likewise.
40359         * m4/threadlib.m4: Likewise.
40360         * m4/timegm.m4: Likewise.
40361         * m4/tm_gmtoff.m4: Likewise.
40362         * m4/tmpdir.m4: Likewise.
40363         * m4/tmpfile.m4: Likewise.
40364         * m4/tzset.m4: Likewise.
40365         * m4/uintmax_t.m4: Likewise.
40366         * m4/unlinkdir.m4: Likewise.
40367         * m4/unlocked-io.m4: Likewise.
40368         * m4/uptime.m4: Likewise.
40369         * m4/userspec.m4: Likewise.
40370         * m4/utimbuf.m4: Likewise.
40371         * m4/utime.m4: Likewise.
40372         * m4/utimes-null.m4: Likewise.
40373         * m4/utimes.m4: Likewise.
40374         * m4/vararrays.m4: Likewise.
40375         * m4/vasnprintf.m4: Likewise.
40376         * m4/vfprintf-posix.m4: Likewise.
40377         * m4/vprintf-posix.m4: Likewise.
40378         * m4/wait-process.m4: Likewise.
40379         * m4/wchar_t.m4: Likewise.
40380         * m4/wint_t.m4: Likewise.
40381         * m4/write-any-file.m4: Likewise.
40382         * m4/yield.m4: Likewise.
40383
40384 2009-01-13  Bruno Haible  <bruno@clisp.org>
40385
40386         Avoid test-copy-file.sh failures when ACL support insufficient.
40387         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
40388         TESTS_ENVIRONMENT.
40389         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
40390         Reported by Jim Meyering.
40391
40392 2009-01-13  Bruno Haible  <bruno@clisp.org>
40393
40394         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
40395         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
40396         * modules/unistdio/u8-printf-parse (Files): Likewise.
40397         * modules/unistdio/u32-printf-parse (Files): Likewise.
40398         * modules/unistdio/ulc-printf-parse (Files): Likewise.
40399
40400 2009-01-13  Simon Josefsson  <simon@josefsson.org>
40401
40402         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
40403         and m4/inttypes_h.m4 too.
40404
40405 2009-01-12  Eric Blake  <ebb9@byu.net>
40406
40407         tests: IRIX 6.2 cc can't compile -0.0 into .data
40408         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
40409         rather than at compile-time.
40410         * tests/test-floorl.c (minus_zero): Likewise.
40411         * tests/test-frexpl.c (minus_zero): Likewise.
40412         * tests/test-isnan.c (minus_zerol): Likewise.
40413         * tests/test-isnanl.h (minus_zero): Likewise.
40414         * tests/test-ldexpl.c (minus_zero): Likewise.
40415         * tests/test-roundl.c (minus_zero): Likewise.
40416         * tests/test-signbit.c (minus_zerol): Likewise.
40417         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
40418         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
40419         * tests/test-truncl.c (minus_zero): Likewise.
40420         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
40421         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
40422         Reported by Tom G. Christensen and Nelson H. F. Beebe.
40423
40424 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
40425
40426         regex: fix glibc bug 9697
40427         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
40428         handling.
40429
40430 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
40431
40432         regex: fix glibc bug 697
40433         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
40434         being NULL also if there are no backreferences.
40435
40436 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
40437
40438         regex: merge glibc changes
40439         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
40440         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
40441         re_string_skip_chars, re_string_reconstruct): Likewise.
40442         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
40443
40444 2009-01-07  Jim Meyering  <meyering@redhat.com>
40445
40446         poll: filter through cppi
40447         * lib/poll.c: Indent cpp directives to reflect nesting.
40448
40449 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
40450
40451         poll: don't return uninitialized
40452         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
40453
40454 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
40455
40456         avoid compile failure on AIX 6.1
40457         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
40458         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
40459
40460 2009-01-04  Jim Meyering  <meyering@redhat.com>
40461
40462         remove duplicate inclusion of <stdio.h>
40463         * tests/test-fprintf-posix.c: Likewise.
40464         * tests/test-printf-posix.c: Likewise.
40465         * tests/test-snprintf-posix.c: Likewise.
40466         * tests/test-sprintf-posix.c: Likewise.
40467         * tests/test-vasprintf-posix.c: Likewise.
40468         * tests/test-vfprintf-posix.c: Likewise.
40469         * tests/test-vprintf-posix.c: Likewise.
40470         * tests/test-vsnprintf-posix.c: Likewise.
40471         * tests/test-vsprintf-posix.c: Likewise.
40472
40473 2009-01-03  Jim Meyering  <meyering@redhat.com>
40474
40475         gnulib-tool: fix sed-based filtering
40476         * gnulib-tool (func_filter_filelist): Remove extra backslash
40477         in sed_fff_filter definition.
40478
40479 2009-01-02  Jim Meyering  <meyering@redhat.com>
40480
40481         strftime: avoid compilation failure on Solaris 2.6
40482         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
40483         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
40484         Don't #define mbrlen or mbsinit, since now they're guaranteed to
40485         be available.  Reported by Tom G. Christensen.  Details in
40486         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
40487
40488 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40489             Bruno Haible  <bruno@clisp.org>
40490
40491         Speed up gnulib-tool by doing more string processing through shell
40492         built-ins.
40493         * gnulib-tool (fast_func_append): New variable.
40494         (func_remove_prefix, func_remove_suffix): New functions.
40495         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
40496         (func_filter_filelist): New function.
40497         (func_get_dependencies): Use func_remove_suffix instead of sed.
40498         (func_get_automake_snippet): Use func_filter_filelist instead of a
40499         subshell and sed invocation.
40500
40501 2009-01-01  Bruno Haible  <bruno@clisp.org>
40502
40503         Fix a security bug.
40504         * gnulib-tool (func_import, import, update): Don't allow the characters
40505         '"', '$', '`', '\' in macro arguments that become part of commands that
40506         are evaluated.
40507
40508 2009-01-01  Bruno Haible  <bruno@clisp.org>
40509
40510         * gnulib-tool (func_reset_sigpipe): Add more comments.
40511
40512 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40513
40514         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
40515         func_emit_tests_Makefile_am, func_import): Abort loops early if we
40516         already know the answer.
40517
40518 2009-01-01  Jim Meyering  <meyering@redhat.com>
40519
40520         * lib/version-etc.c (version_etc_va): Update copyright year.
40521
40522 2008-12-30  Bruno Haible  <bruno@clisp.org>
40523
40524         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
40525         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
40526         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
40527
40528 2008-12-29  Eric Blake  <ebb9@byu.net>
40529
40530         multiarch: avoid autoconf AC_REQUIRE bug
40531         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
40532         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
40533         2.63 and older.
40534         Reported by Bruno Haible, and analyzed in
40535         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
40536
40537 2008-12-29  Bruno Haible  <bruno@clisp.org>
40538
40539         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
40540         files in subdirectories correctly.
40541         Reported by Ralf Wildenhues.
40542
40543 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40544
40545         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
40546         rather than 'join FILE -', for Solaris join.
40547
40548 2008-12-29  Bruno Haible  <bruno@clisp.org>
40549
40550         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
40551         quoting.
40552         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
40553         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
40554         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
40555         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
40556         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
40557         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
40558         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
40559         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
40560         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
40561         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
40562         * m4/nls.m4 (AM_NLS): Likewise.
40563         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
40564         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
40565         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
40566         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
40567         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
40568         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
40569         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
40570         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
40571         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
40572         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
40573         * m4/xsize.m4 (gl_XSIZE): Likewise.
40574         Suggested by Jim Meyering.
40575
40576 2008-11-17  Bruce Korb  <bkorb@gnu.org>
40577
40578         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
40579         * lib/parse-duration.c: use a switch instead of cascading if's.
40580
40581 2008-12-29  Eric Blake  <ebb9@byu.net>
40582
40583         wchar.h: supply WEOF on Irix 5.3
40584         * lib/wchar.in.h (wint_t): Also supply WEOF.
40585         * lib/wctype.in.h (wint_t): Likewise.
40586         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
40587         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
40588         Reported by Tom G. Christensen.
40589
40590 2008-12-26  Bruno Haible  <bruno@clisp.org>
40591
40592         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
40593         i486, i586, i686.
40594
40595 2008-12-26  Bruno Haible  <bruno@clisp.org>
40596
40597         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
40598
40599 2008-12-26  Bruno Haible  <bruno@clisp.org>
40600
40601         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
40602         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
40603         not __STDC_CONSTANT_MACROS.
40604         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
40605
40606 2008-12-25  Bruno Haible  <bruno@clisp.org>
40607
40608         Add support for universal builds to vasnprintf.
40609         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
40610         universal builds, guess no.
40611         * modules/vasnprintf-posix (Depends-on): Add multiarch.
40612         * modules/vasprintf-posix (Depends-on): Likewise.
40613         * modules/fprintf-posix (Depends-on): Likewise.
40614         * modules/vfprintf-posix (Depends-on): Likewise.
40615         * modules/snprintf-posix (Depends-on): Likewise.
40616         * modules/vsnprintf-posix (Depends-on): Likewise.
40617         * modules/sprintf-posix (Depends-on): Likewise.
40618         * modules/vsprintf-posix (Depends-on): Likewise.
40619         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
40620         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40621         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40622         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40623         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40624         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40625         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40626
40627         Add support for universal builds to <inttypes.h>.
40628         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
40629         _SCNu64_PREFIX): In Apple
40630         universal builds, define directly, using _LP64.
40631         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
40632         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
40633         * modules/inttypes (Depends-on): Add multiarch.
40634         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
40635
40636         Add support for universal builds to <stdint.h>.
40637         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
40638         universal builds, define directly, using _LP64.
40639         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
40640         Apple universal builds, don't test for the size and suffix of ptrdiff_t
40641         and size_t.
40642         * modules/stdint (Depends-on): Add multiarch.
40643         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
40644
40645         New module 'multiarch'.
40646         * modules/multiarch: New file.
40647         * m4/multiarch.m4: New file.
40648
40649 2008-12-25  Bruno Haible  <bruno@clisp.org>
40650
40651         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
40652
40653 2008-12-25  Bruno Haible  <bruno@clisp.org>
40654
40655         * modules/btowc (License): Relicense under LGPLv2+.
40656         * modules/mbsinit (License): Likewise.
40657         * modules/mbrtowc (License): Likewise.
40658         * modules/wcrtomb (License): Likewise.
40659         * modules/streq (License): Likewise.
40660         Reported by David Lutterkort <lutter@redhat.com>.
40661
40662 2008-12-23  Bruno Haible  <bruno@clisp.org>
40663
40664         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
40665
40666 2008-12-23  Bruno Haible  <bruno@clisp.org>
40667
40668         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
40669         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
40670         GETADDRINFO_LIB, not in LIBS.
40671         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
40672         * modules/canon-host (Link): Likewise.
40673         * NEWS: Mention the change.
40674         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
40675         GETADDRINFO_LIB.
40676
40677 2008-12-22  Bruno Haible  <bruno@clisp.org>
40678
40679         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
40680         * doc/posix-functions/iswalpha_l.texi: Likewise.
40681         * doc/posix-functions/iswblank_l.texi: Likewise.
40682         * doc/posix-functions/iswcntrl_l.texi: Likewise.
40683         * doc/posix-functions/iswctype_l.texi: Likewise.
40684         * doc/posix-functions/iswdigit_l.texi: Likewise.
40685         * doc/posix-functions/iswgraph_l.texi: Likewise.
40686         * doc/posix-functions/iswlower_l.texi: Likewise.
40687         * doc/posix-functions/iswprint_l.texi: Likewise.
40688         * doc/posix-functions/iswpunct_l.texi: Likewise.
40689         * doc/posix-functions/iswspace_l.texi: Likewise.
40690         * doc/posix-functions/iswupper_l.texi: Likewise.
40691         * doc/posix-functions/iswxdigit_l.texi: Likewise.
40692         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
40693         * doc/posix-functions/open_wmemstream.texi: Likewise.
40694         * doc/posix-functions/swscanf.texi: Likewise.
40695         * doc/posix-functions/towctrans_l.texi: Likewise.
40696         * doc/posix-functions/towlower.texi: Likewise.
40697         * doc/posix-functions/towlower_l.texi: Likewise.
40698         * doc/posix-functions/towupper.texi: Likewise.
40699         * doc/posix-functions/towupper_l.texi: Likewise.
40700         * doc/posix-functions/vfwprintf.texi: Likewise.
40701         * doc/posix-functions/vfwscanf.texi: Likewise.
40702         * doc/posix-functions/vswscanf.texi: Likewise.
40703         * doc/posix-functions/vwprintf.texi: Likewise.
40704         * doc/posix-functions/vwscanf.texi: Likewise.
40705         * doc/posix-functions/wcpcpy.texi: Likewise.
40706         * doc/posix-functions/wcpncpy.texi: Likewise.
40707         * doc/posix-functions/wcscasecmp.texi: Likewise.
40708         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
40709         * doc/posix-functions/wcscoll_l.texi: Likewise.
40710         * doc/posix-functions/wcsdup.texi: Likewise.
40711         * doc/posix-functions/wcsncasecmp.texi: Likewise.
40712         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
40713         * doc/posix-functions/wcsnlen.texi: Likewise.
40714         * doc/posix-functions/wcsnrtombs.texi: Likewise.
40715         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
40716         * doc/posix-functions/wctrans_l.texi: Likewise.
40717         * doc/posix-functions/wctype_l.texi: Likewise.
40718         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
40719         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
40720         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
40721         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
40722         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
40723         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
40724         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
40725         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
40726         * doc/glibc-functions/wcschrnul.texi: Likewise.
40727         * doc/glibc-functions/wcsftime_l.texi: Likewise.
40728         * doc/glibc-functions/wcstod_l.texi: Likewise.
40729         * doc/glibc-functions/wcstof_l.texi: Likewise.
40730         * doc/glibc-functions/wcstol_l.texi: Likewise.
40731         * doc/glibc-functions/wcstold_l.texi: Likewise.
40732         * doc/glibc-functions/wcstoll_l.texi: Likewise.
40733         * doc/glibc-functions/wcstoq.texi: Likewise.
40734         * doc/glibc-functions/wcstoul_l.texi: Likewise.
40735         * doc/glibc-functions/wcstoull_l.texi: Likewise.
40736         * doc/glibc-functions/wcstouq.texi: Likewise.
40737         * doc/glibc-functions/wmempcpy.texi: Likewise.
40738
40739 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
40740             Eric Blake  <ebb9@byu.net>
40741             Paolo Bonzini  <bonzini@gnu.org>
40742             Bruno Haible  <bruno@clisp.org>
40743
40744         Make c-stack work on Haiku.
40745         * lib/c-stack.c (SA_ONSTACK): Define fallback.
40746         (c_stack_action): Use SA_ONSTACK flag.
40747
40748 2008-12-22  Bruno Haible  <bruno@clisp.org>
40749
40750         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
40751
40752 2008-12-22  Bruno Haible  <bruno@clisp.org>
40753
40754         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
40755         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
40756         being overridden.
40757         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
40758         New macros.
40759         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
40760         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
40761         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
40762         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
40763
40764 2008-12-22  Bruno Haible  <bruno@clisp.org>
40765
40766         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
40767         from test code.
40768
40769 2008-12-22  Eric Blake  <ebb9@byu.net>
40770
40771         Avoid gcc warnings on cygwin.
40772         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
40773         Avoid unused variable.
40774         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
40775         Likewise.
40776
40777 2008-12-22  Bruno Haible  <bruno@clisp.org>
40778
40779         Remove HAVE_MBRTOWC conditionals.
40780         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
40781         (mbscasecmp): Assume mbrtowc function.
40782         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
40783         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
40784         * lib/mbschr.c: Include mbuiter.h unconditionally.
40785         (mbschr): Assume mbrtowc function.
40786         * lib/mbscspn.c: Include mbuiter.h unconditionally.
40787         (mbscspn): Assume mbrtowc function.
40788         * lib/mbslen.c: Include mbuiter.h unconditionally.
40789         (mbslen): Assume mbrtowc function.
40790         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
40791         (mbsncasecmp): Assume mbrtowc function.
40792         * lib/mbsnlen.c: Include mbiter.h unconditionally.
40793         (mbsnlen): Assume mbrtowc function.
40794         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
40795         (mbspbrk): Assume mbrtowc function.
40796         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
40797         (mbspcasecmp): Assume mbrtowc function.
40798         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
40799         (mbsrchr): Assume mbrtowc function.
40800         * lib/mbssep.c: Include mbuiter.h unconditionally.
40801         (mbssep): Assume mbrtowc function.
40802         * lib/mbsspn.c: Include mbuiter.h unconditionally.
40803         (mbsspn): Assume mbrtowc function.
40804         * lib/mbsstr.c: Include mbuiter.h unconditionally.
40805         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
40806         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
40807         (mbstok_r): Assume mbrtowc function.
40808         * lib/propername.c: Include mbuiter.h unconditionally.
40809         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
40810         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
40811         (trim2): Assume mbrtowc function.
40812         * lib/mbswidth.c (mbsinit): Remove fallback definition.
40813         (mbsnwidth): Assume mbrtowc function.
40814         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
40815         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
40816         fallback definitions.
40817         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
40818
40819 2008-12-22  Bruno Haible  <bruno@clisp.org>
40820
40821         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
40822
40823 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
40824
40825         * modules/regex: Request emulations for the mb*/wc* functions we need.
40826         * m4/regex.m4: Don't look for those functions here.
40827         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
40828
40829 2008-12-22  Bruno Haible  <bruno@clisp.org>
40830
40831         * modules/fnmatch (Depends-on): Remove duplicated dependency.
40832
40833 2008-12-21  Bruno Haible  <bruno@clisp.org>
40834
40835         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
40836         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
40837         (Include): Remove conditionalization.
40838         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
40839         (Include): Remove conditionalization.
40840         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
40841         (Include): Remove conditionalization.
40842         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
40843         * m4/mbfile.m4 (gl_MBFILE): Likewise.
40844         * NEWS: Mention the change.
40845         Reported by Alan Hourihane <alanh@fairlite.co.uk>
40846         via Sergey Poznyakoff <gray@gnu.org.ua>.
40847
40848 2008-12-21  Bruno Haible  <bruno@clisp.org>
40849
40850         * MODULES.html.sh (Extended multibyte and wide character utilities
40851         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
40852         wcrtomb, wcsrtombs.
40853         (Support for systems lacking POSIX:2008): Add accept, bind, close,
40854         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
40855         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
40856         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
40857
40858 2008-12-21  Bruno Haible  <bruno@clisp.org>
40859
40860         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
40861
40862 2008-12-21  Bruno Haible  <bruno@clisp.org>
40863
40864         * modules/wcsnrtombs-tests: New file.
40865         * tests/test-wcsnrtombs1.sh: New file.
40866         * tests/test-wcsnrtombs2.sh: New file.
40867         * tests/test-wcsnrtombs3.sh: New file.
40868         * tests/test-wcsnrtombs4.sh: New file.
40869         * tests/test-wcsnrtombs.c: New file.
40870
40871         New module 'wcsnrtombs'.
40872         * lib/wchar.in.h (wcsnrtombs): New declaration.
40873         * lib/wcsnrtombs.c: New file.
40874         * lib/wcsrtombs-state.c: New file.
40875         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
40876         (internal_state): Remove variable.
40877         * m4/wcsnrtombs.m4: New file.
40878         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
40879         compilation units.
40880         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
40881         HAVE_WCSNRTOMBS.
40882         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
40883         HAVE_WCSNRTOMBS.
40884         * modules/wcsnrtombs: New file.
40885         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
40886         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
40887
40888 2008-12-21  Bruno Haible  <bruno@clisp.org>
40889
40890         * modules/wcsrtombs-tests: New file.
40891         * tests/test-wcsrtombs1.sh: New file.
40892         * tests/test-wcsrtombs2.sh: New file.
40893         * tests/test-wcsrtombs3.sh: New file.
40894         * tests/test-wcsrtombs4.sh: New file.
40895         * tests/test-wcsrtombs.c: New file.
40896
40897         New module 'wcsrtombs'.
40898         * lib/wchar.in.h (wcsrtombs): New declaration.
40899         * lib/wcsrtombs.c: New file.
40900         * m4/wcsrtombs.m4: New file.
40901         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
40902         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
40903         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
40904         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
40905         * modules/wcsrtombs: New file.
40906         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
40907         bugs.
40908
40909 2008-12-21  Bruno Haible  <bruno@clisp.org>
40910
40911         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
40912         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
40913         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
40914         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
40915         if not correct.
40916         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
40917         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
40918         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
40919         m4/locale-zh.m4, m4/codeset.m4.
40920         * doc/posix-functions/wcrtomb.texi: Document the bug.
40921
40922 2008-12-21  Bruno Haible  <bruno@clisp.org>
40923
40924         Work around a btowc() bug on IRIX 6.5.
40925         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
40926         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
40927         REPLACE_WTOBC if not.
40928         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
40929         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
40930         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
40931
40932 2008-12-21  Bruno Haible  <bruno@clisp.org>
40933
40934         * modules/wcrtomb-tests: New file.
40935         * tests/test-wcrtomb.sh: New file.
40936         * tests/test-wcrtomb.c: New file.
40937
40938         New module 'wcrtomb'.
40939         * lib/wchar.in.h (wcrtomb): New declaration.
40940         * lib/wcrtomb.c: New file.
40941         * m4/wcrtomb.m4: New file.
40942         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
40943         HAVE_WCRTOMB.
40944         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
40945         HAVE_WCRTOMB.
40946         * modules/wcrtomb: New file.
40947         * doc/posix-functions/wcrtomb.texi: Mention the new module.
40948
40949 2008-12-21  Bruno Haible  <bruno@clisp.org>
40950
40951         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
40952         * modules/mbsrtowcs (Files): Likewise.
40953         * modules/wctob (Files): Likewise.
40954         * modules/c-strcase-tests (Files): Likewise.
40955         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
40956         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
40957         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
40958         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
40959         * modules/vasnprintf-posix-tests (Files): Likewise.
40960
40961 2008-12-21  William Pursell  <bill.pursell@gmail.com>
40962
40963         gitlog-to-changelog: pass all command-line arguments to git-log
40964         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
40965         it is sometimes convenient to filter the commits in various ways.
40966         gitlog-to-changelog only allows --since to specify a start date,
40967         but git-log itself supports many other filtering mechanisms.
40968         At the moment, I want to filter by branch name.  Rather than
40969         adding a --branch option to gitlog-to-changelog, it seems more
40970         flexible to simply pass all options directly to git-log and let
40971         git do the work.  Notice that this effectively makes --since a
40972         redundant option for gitlog-to-changelog, but removing it would
40973         require current usage to change since calls would then require
40974         an additional '--'.
40975
40976 2008-12-21  Bruno Haible  <bruno@clisp.org>
40977
40978         * modules/mbsnrtowcs-tests: New file.
40979         * tests/test-mbsnrtowcs1.sh: New file.
40980         * tests/test-mbsnrtowcs2.sh: New file.
40981         * tests/test-mbsnrtowcs3.sh: New file.
40982         * tests/test-mbsnrtowcs4.sh: New file.
40983         * tests/test-mbsnrtowcs.c: New file.
40984
40985         New module 'mbsnrtowcs'.
40986         * lib/wchar.in.h (mbsnrtowcs): New declaration.
40987         * lib/mbsnrtowcs.c: New file.
40988         * lib/mbsrtowcs-state.c: New file.
40989         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
40990         (internal_state): Remove variable.
40991         * m4/mbsnrtowcs.m4: New file.
40992         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
40993         compilation units.
40994         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
40995         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
40996         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
40997         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
40998         * modules/mbsnrtowcs: New file.
40999         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
41000         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
41001         portability problem.
41002
41003 2008-12-21  Bruno Haible  <bruno@clisp.org>
41004
41005         Work around mbsrtowcs bug.
41006         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
41007         (gl_FUNC_MBSRTOWCS): Invoke it.
41008         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
41009         m4/locale-zh.m4.
41010         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
41011
41012 2008-12-21  Bruno Haible  <bruno@clisp.org>
41013
41014         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
41015
41016 2008-12-21  Bruno Haible  <bruno@clisp.org>
41017
41018         Update doc for AIX.
41019         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
41020         16-bit wchar_t type.
41021         * doc/posix-functions/btowc.texi: Likewise.
41022         * doc/posix-functions/fgetwc.texi: Likewise.
41023         * doc/posix-functions/fgetws.texi: Likewise.
41024         * doc/posix-functions/fputwc.texi: Likewise.
41025         * doc/posix-functions/fputws.texi: Likewise.
41026         * doc/posix-functions/fwide.texi: Likewise.
41027         * doc/posix-functions/fwprintf.texi: Likewise.
41028         * doc/posix-functions/fwscanf.texi: Likewise.
41029         * doc/posix-functions/getwchar.texi: Likewise.
41030         * doc/posix-functions/getwc.texi: Likewise.
41031         * doc/posix-functions/iswalnum.texi: Likewise.
41032         * doc/posix-functions/iswalpha.texi: Likewise.
41033         * doc/posix-functions/iswblank.texi: Likewise.
41034         * doc/posix-functions/iswcntrl.texi: Likewise.
41035         * doc/posix-functions/iswctype.texi: Likewise.
41036         * doc/posix-functions/iswdigit.texi: Likewise.
41037         * doc/posix-functions/iswgraph.texi: Likewise.
41038         * doc/posix-functions/iswlower.texi: Likewise.
41039         * doc/posix-functions/iswprint.texi: Likewise.
41040         * doc/posix-functions/iswpunct.texi: Likewise.
41041         * doc/posix-functions/iswspace.texi: Likewise.
41042         * doc/posix-functions/iswupper.texi: Likewise.
41043         * doc/posix-functions/iswxdigit.texi: Likewise.
41044         * doc/posix-functions/mbrtowc.texi: Likewise.
41045         * doc/posix-functions/mbsrtowcs.texi: Likewise.
41046         * doc/posix-functions/mbstowcs.texi: Likewise.
41047         * doc/posix-functions/mbtowc.texi: Likewise.
41048         * doc/posix-functions/putwchar.texi: Likewise.
41049         * doc/posix-functions/putwc.texi: Likewise.
41050         * doc/posix-functions/swprintf.texi: Likewise.
41051         * doc/posix-functions/tolower.texi: Likewise.
41052         * doc/posix-functions/toupper.texi: Likewise.
41053         * doc/posix-functions/towctrans.texi: Likewise.
41054         * doc/posix-functions/ungetwc.texi: Likewise.
41055         * doc/posix-functions/vswprintf.texi: Likewise.
41056         * doc/posix-functions/wcrtomb.texi: Likewise.
41057         * doc/posix-functions/wcscat.texi: Likewise.
41058         * doc/posix-functions/wcschr.texi: Likewise.
41059         * doc/posix-functions/wcscmp.texi: Likewise.
41060         * doc/posix-functions/wcscoll.texi: Likewise.
41061         * doc/posix-functions/wcscpy.texi: Likewise.
41062         * doc/posix-functions/wcscspn.texi: Likewise.
41063         * doc/posix-functions/wcsftime.texi: Likewise.
41064         * doc/posix-functions/wcslen.texi: Likewise.
41065         * doc/posix-functions/wcsncat.texi: Likewise.
41066         * doc/posix-functions/wcsncmp.texi: Likewise.
41067         * doc/posix-functions/wcsncpy.texi: Likewise.
41068         * doc/posix-functions/wcspbrk.texi: Likewise.
41069         * doc/posix-functions/wcsrchr.texi: Likewise.
41070         * doc/posix-functions/wcsrtombs.texi: Likewise.
41071         * doc/posix-functions/wcsspn.texi: Likewise.
41072         * doc/posix-functions/wcsstr.texi: Likewise.
41073         * doc/posix-functions/wcstod.texi: Likewise.
41074         * doc/posix-functions/wcstof.texi: Likewise.
41075         * doc/posix-functions/wcstoimax.texi: Likewise.
41076         * doc/posix-functions/wcstok.texi: Likewise.
41077         * doc/posix-functions/wcstold.texi: Likewise.
41078         * doc/posix-functions/wcstoll.texi: Likewise.
41079         * doc/posix-functions/wcstol.texi: Likewise.
41080         * doc/posix-functions/wcstombs.texi: Likewise.
41081         * doc/posix-functions/wcstoull.texi: Likewise.
41082         * doc/posix-functions/wcstoul.texi: Likewise.
41083         * doc/posix-functions/wcstoumax.texi: Likewise.
41084         * doc/posix-functions/wcswidth.texi: Likewise.
41085         * doc/posix-functions/wcsxfrm.texi: Likewise.
41086         * doc/posix-functions/wctob.texi: Likewise.
41087         * doc/posix-functions/wctomb.texi: Likewise.
41088         * doc/posix-functions/wctrans.texi: Likewise.
41089         * doc/posix-functions/wctype.texi: Likewise.
41090         * doc/posix-functions/wcwidth.texi: Likewise.
41091         * doc/posix-functions/wmemchr.texi: Likewise.
41092         * doc/posix-functions/wmemcmp.texi: Likewise.
41093         * doc/posix-functions/wmemcpy.texi: Likewise.
41094         * doc/posix-functions/wmemmove.texi: Likewise.
41095         * doc/posix-functions/wmemset.texi: Likewise.
41096         * doc/posix-functions/wprintf.texi: Likewise.
41097         * doc/posix-functions/wscanf.texi: Likewise.
41098
41099 2008-12-21  Bruno Haible  <bruno@clisp.org>
41100
41101         Update doc for HP-UX 11.11.
41102         * doc/posix-functions/btowc.texi: Clarify that the function is missing
41103         in HP-UX version 11.00, not in all versions of HP-UX 11.
41104         * doc/posix-functions/fwide.texi: Likewise.
41105         * doc/posix-functions/fwprintf.texi: Likewise.
41106         * doc/posix-functions/fwscanf.texi: Likewise.
41107         * doc/posix-functions/inet_ntop.texi: Likewise.
41108         * doc/posix-functions/inet_pton.texi: Likewise.
41109         * doc/posix-functions/mbrlen.texi: Likewise.
41110         * doc/posix-functions/mbrtowc.texi: Likewise.
41111         * doc/posix-functions/mbsinit.texi: Likewise.
41112         * doc/posix-functions/mbsrtowcs.texi: Likewise.
41113         * doc/posix-functions/swprintf.texi: Likewise.
41114         * doc/posix-functions/swscanf.texi: Likewise.
41115         * doc/posix-functions/towctrans.texi: Likewise.
41116         * doc/posix-functions/vfwprintf.texi: Likewise.
41117         * doc/posix-functions/vswprintf.texi: Likewise.
41118         * doc/posix-functions/vwprintf.texi: Likewise.
41119         * doc/posix-functions/wcrtomb.texi: Likewise.
41120         * doc/posix-functions/wcsrtombs.texi: Likewise.
41121         * doc/posix-functions/wcsstr.texi: Likewise.
41122         * doc/posix-functions/wctob.texi: Likewise.
41123         * doc/posix-functions/wctrans.texi: Likewise.
41124         * doc/posix-functions/wmemchr.texi: Likewise.
41125         * doc/posix-functions/wmemcmp.texi: Likewise.
41126         * doc/posix-functions/wmemcpy.texi: Likewise.
41127         * doc/posix-functions/wmemmove.texi: Likewise.
41128         * doc/posix-functions/wmemset.texi: Likewise.
41129         * doc/posix-functions/wprintf.texi: Likewise.
41130         * doc/posix-functions/wscanf.texi: Likewise.
41131
41132 2008-12-21  Bruno Haible  <bruno@clisp.org>
41133
41134         Work around a portability problem.
41135         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
41136         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
41137
41138 2008-12-20  Bruno Haible  <bruno@clisp.org>
41139
41140         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
41141         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
41142         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
41143         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
41144         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
41145
41146         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
41147         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
41148         set.
41149         (GNULIB_defined_mbstate_t): New macro.
41150         (mbsinit): Redefine if REPLACE_MBSINIT is set.
41151         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
41152         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
41153         reuses the system's mbrtowc function but works around the bugs.
41154         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
41155         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
41156         macros.
41157         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
41158         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
41159         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
41160         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
41161         REPLACE_MBSINIT if mbsinit needs to be overridden.
41162         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
41163         REPLACE_MBSINIT, REPLACE_MBRTOWC.
41164         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
41165         REPLACE_MBSINIT, REPLACE_MBRTOWC.
41166         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
41167         m4/locale-zh.m4.
41168         (Depends): Add mbsinit.
41169         * modules/mbsinit (Depends): Add mbrtowc.
41170         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
41171
41172 2008-12-20  Bruno Haible  <bruno@clisp.org>
41173
41174         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
41175         so that there are no conversion errors on AIX.
41176         * tests/test-mbsrtowcs.c (main): LIkewise.
41177
41178 2008-12-20  Bruno Haible  <bruno@clisp.org>
41179
41180         Work around wctob bug on Solaris <= 9.
41181         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
41182         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
41183         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
41184         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
41185         * modules/wctob (Files): Add m4/locale-fr.m4.
41186         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
41187
41188 2008-12-20  Bruno Haible  <bruno@clisp.org>
41189
41190         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
41191         /dev/null.
41192         * tests/test-select-in.sh: Likewise.
41193         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41194
41195 2008-12-20  Bruno Haible  <bruno@clisp.org>
41196
41197         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
41198         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
41199         Cygwin 1.5.x.
41200
41201 2008-12-20  Bruno Haible  <bruno@clisp.org>
41202
41203         Ensure mbstate_t is defined on HP-UX 11.11.
41204         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
41205         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
41206         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
41207         AC_USE_SYSTEM_EXTENSIONS.
41208         * modules/fnmatch (Depends-on): Add extensions.
41209         * modules/mbrlen (Depends-on): Likewise.
41210         * modules/mbrtowc (Depends-on): Likewise.
41211         * modules/mbsinit (Depends-on): Likewise.
41212         * modules/mbsrtowcs (Depends-on): Likewise.
41213         * modules/mbswidth (Depends-on): Likewise.
41214         * modules/quotearg (Depends-on): Likewise.
41215         * modules/strftime (Depends-on): Likewise.
41216
41217 2008-12-20  Bruno Haible  <bruno@clisp.org>
41218
41219         Ensure wctob is declared on IRIX 6.5.
41220         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
41221         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
41222         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
41223         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
41224         of HAVE_WCTOB.
41225         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
41226         HAVE_WCTOB.
41227         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
41228
41229 2008-12-19  Bruno Haible  <bruno@clisp.org>
41230
41231         * modules/mbsrtowcs-tests: New file.
41232         * tests/test-mbsrtowcs1.sh: New file.
41233         * tests/test-mbsrtowcs2.sh: New file.
41234         * tests/test-mbsrtowcs3.sh: New file.
41235         * tests/test-mbsrtowcs4.sh: New file.
41236         * tests/test-mbsrtowcs.c: New file.
41237
41238         New module 'mbsrtowcs'.
41239         * lib/wchar.in.h (mbsrtowcs): New declaration.
41240         * lib/mbsrtowcs.c: New file.
41241         * m4/mbsrtowcs.m4: New file.
41242         * modules/mbsrtowcs: New file.
41243         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
41244         HAVE_MBSRTOWCS.
41245         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
41246         HAVE_MBSRTOWCS.
41247         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
41248
41249 2008-12-19  Bruno Haible  <bruno@clisp.org>
41250
41251         New module 'mbrlen'.
41252         * lib/wchar.in.h (mbrlen): New declaration.
41253         * lib/mbrlen.c: New file.
41254         * m4/mbrlen.m4: New file.
41255         * modules/mbrlen: New file.
41256         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
41257         HAVE_MBRLEN.
41258         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
41259         HAVE_MBRLEN.
41260         * doc/posix-functions/mbrlen.texi: Document the new module.
41261
41262 2008-12-19  Bruno Haible  <bruno@clisp.org>
41263
41264         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
41265         * modules/mbrtowc (Depends-on): Add verify.
41266         Suggested by Paul Eggert.
41267
41268 2008-12-18  Bruno Haible  <bruno@clisp.org>
41269
41270         * modules/mbsinit-tests: New file.
41271         * tests/test-mbsinit.sh: New file.
41272         * tests/test-mbsinit.c: New file.
41273
41274 2008-12-18  Bruno Haible  <bruno@clisp.org>
41275
41276         * modules/mbrtowc-tests: New file.
41277         * tests/test-mbrtowc1.sh: New file.
41278         * tests/test-mbrtowc2.sh: New file.
41279         * tests/test-mbrtowc3.sh: New file.
41280         * tests/test-mbrtowc4.sh: New file.
41281         * tests/test-mbrtowc.c: New file.
41282
41283         New module 'mbrtowc'.
41284         * lib/wchar.in.h (mbstate_t): Override when the system does not have
41285         mbsinit and mbrtowc.
41286         (mbrtowc): New declaration.
41287         * lib/mbrtowc.c: New file.
41288         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
41289         * modules/mbrtowc: New file.
41290         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
41291         HAVE_MBRTOWC.
41292         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
41293         HAVE_MBRTOWC.
41294         * doc/posix-functions/mbrtowc.texi: Document the new module.
41295
41296 2008-12-18  Bruno Haible  <bruno@clisp.org>
41297
41298         New module 'wctob'.
41299         * lib/wchar.in.h (wctob): New declaration.
41300         * lib/wctob.c: New file.
41301         * m4/wctob.m4: New file.
41302         * modules/wctob: New file.
41303         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
41304         HAVE_WCTOB.
41305         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
41306         * doc/posix-functions/wctob.texi: Document the new module.
41307
41308 2008-12-18  Bruno Haible  <bruno@clisp.org>
41309
41310         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
41311         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
41312
41313 2008-12-18  Simon Josefsson  <simon@josefsson.org>
41314
41315         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
41316         G. Christensen" <tgc@jupiterrise.com>.
41317
41318         * lib/flock.c: Need to include errno.h.  Reported by "Tom
41319         G. Christensen" <tgc@jupiterrise.com>.
41320
41321         * lib/flock.c: Need to include string.h.  Reported by "Tom
41322         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
41323         <ebb9@byu.net>.
41324
41325 2008-12-18  Bruno Haible  <bruno@clisp.org>
41326
41327         * m4/locale-ja.m4: New file, from GNU gettext.
41328
41329 2008-12-17  Bruno Haible  <bruno@clisp.org>
41330
41331         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
41332         Suggested by Eric Blake.
41333
41334 2008-12-17  Bruno Haible  <bruno@clisp.org>
41335
41336         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
41337
41338 2008-12-17  Bruno Haible  <bruno@clisp.org>
41339
41340         * lib/mbsinit.c: Include verify.h. Verify an assumption.
41341         * modules/mbsinit (Depends-on): Add verify.
41342         Suggested by Paul Eggert.
41343
41344 2008-12-17  Bruno Haible  <bruno@clisp.org>
41345
41346         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
41347         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
41348         gl_FUNC_MBRTOWC.
41349         * m4/mbiter.m4 (gl_MBITER): LIkewise.
41350         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
41351         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
41352         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
41353         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
41354         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
41355         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
41356         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
41357         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
41358         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
41359         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
41360         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
41361         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
41362         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
41363         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
41364         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
41365         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
41366         * modules/trim (configure.ac): Likewise.
41367
41368 2008-12-17  Bruno Haible  <bruno@clisp.org>
41369
41370         * modules/btowc-tests: New file.
41371         * tests/test-btowc1.sh: New file.
41372         * tests/test-btowc2.sh: New file.
41373         * tests/test-btowc.c: New file.
41374
41375         New module 'btowc'.
41376         * lib/wchar.in.h (btowc): New declaration.
41377         * lib/btowc.c: New file.
41378         * m4/btowc.m4: New file.
41379         * modules/btowc: New file.
41380         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
41381         HAVE_BTOWC.
41382         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
41383         * doc/posix-functions/btowc.texi: Document the new module.
41384
41385 2008-12-17  Bruno Haible  <bruno@clisp.org>
41386
41387         New module 'mbsinit'.
41388         * lib/wchar.in.h (mbsinit): New declaration.
41389         * lib/mbsinit.c: New file.
41390         * m4/mbsinit.m4: New file.
41391         * modules/mbsinit: New file.
41392         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
41393         HAVE_MBSINIT.
41394         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
41395         HAVE_MBSINIT.
41396         * doc/posix-functions/mbsinit.texi: Document the new module.
41397
41398 2008-12-16  Bruno Haible  <bruno@clisp.org>
41399
41400         * lib/unistd.in.h: Add comment.
41401         * tests/test-environ.c: Don't include <stdlib.h>.
41402
41403 2008-12-16  Bruno Haible  <bruno@clisp.org>
41404
41405         * lib/parse-duration.h (parse_duration): Document return value
41406         convention.
41407         * lib/parse-duration.c: Include specification header first. Add
41408         comments.
41409         (_): Remove macro.
41410         (parse_year_month_day, parse_hour_minute_second): Move side effects
41411         outside of strchr call.
41412         (parse_non_iso8601): Move side effects outside of isspace call.
41413         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
41414         call.
41415
41416 2008-12-16  Bruno Haible  <bruno@clisp.org>
41417
41418         * tests/test-parse-duration.sh: Produce no output when the test
41419         succeeds.
41420
41421 2008-12-16  Bruno Haible  <bruno@clisp.org>
41422
41423         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
41424         expressions.
41425
41426 2008-12-15  Bruno Haible  <bruno@clisp.org>
41427
41428         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
41429         * doc/glibc-functions/flistxattr.texi: Likewise.
41430         * doc/glibc-functions/fopencookie.texi: Likewise.
41431         * doc/glibc-functions/fremovexattr.texi: Likewise.
41432         * doc/glibc-functions/fsetxattr.texi: Likewise.
41433         * doc/glibc-functions/getxattr.texi: Likewise.
41434         * doc/glibc-functions/lgetxattr.texi: Likewise.
41435         * doc/glibc-functions/listxattr.texi: Likewise.
41436         * doc/glibc-functions/llistxattr.texi: Likewise.
41437         * doc/glibc-functions/lremovexattr.texi: Likewise.
41438         * doc/glibc-functions/lsetxattr.texi: Likewise.
41439         * doc/glibc-functions/removexattr.texi: Likewise.
41440         * doc/glibc-functions/setxattr.texi: Likewise.
41441         * doc/posix-functions/open_memstream.texi: Likewise.
41442
41443 2008-12-15  Eric Blake  <ebb9@byu.net>
41444
41445         Update doc for cygwin 1.7.
41446         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
41447         functions.
41448         * doc/posix-functions/fchmodat.texi: Likewise.
41449         * doc/posix-functions/fchownat.texi: Likewise.
41450         * doc/posix-functions/fdopendir.texi: Likewise.
41451         * doc/posix-functions/fmemopen.texi: Likewise.
41452         * doc/posix-functions/freeaddrinfo.texi: Likewise.
41453         * doc/posix-functions/fstatat.texi: Likewise.
41454         * doc/posix-functions/futimens.texi: Likewise.
41455         * doc/posix-functions/gai_strerror.texi: Likewise.
41456         * doc/posix-functions/getaddrinfo.texi: Likewise.
41457         * doc/posix-functions/getnameinfo.texi: Likewise.
41458         * doc/posix-functions/if_freenameindex.texi: Likewise.
41459         * doc/posix-functions/if_indextoname.texi: Likewise.
41460         * doc/posix-functions/if_nameindex.texi: Likewise.
41461         * doc/posix-functions/if_nametoindex.texi: Likewise.
41462         * doc/posix-functions/insque.texi: Likewise.
41463         * doc/posix-functions/linkat.texi: Likewise.
41464         * doc/posix-functions/llrint.texi: Likewise.
41465         * doc/posix-functions/llrintf.texi: Likewise.
41466         * doc/posix-functions/llrintl.texi: Likewise.
41467         * doc/posix-functions/lockf.texi: Likewise.
41468         * doc/posix-functions/lrintl.texi: Likewise.
41469         * doc/posix-functions/mkdirat.texi: Likewise.
41470         * doc/posix-functions/mkfifoat.texi: Likewise.
41471         * doc/posix-functions/mknodat.texi: Likewise.
41472         * doc/posix-functions/mq_close.texi: Likewise.
41473         * doc/posix-functions/mq_getattr.texi: Likewise.
41474         * doc/posix-functions/mq_notify.texi: Likewise.
41475         * doc/posix-functions/mq_open.texi: Likewise.
41476         * doc/posix-functions/mq_receive.texi: Likewise.
41477         * doc/posix-functions/mq_send.texi: Likewise.
41478         * doc/posix-functions/mq_setattr.texi: Likewise.
41479         * doc/posix-functions/mq_timedreceive.texi: Likewise.
41480         * doc/posix-functions/mq_timedsend.texi: Likewise.
41481         * doc/posix-functions/mq_unlink.texi: Likewise.
41482         * doc/posix-functions/open_memstream.texi: Likewise.
41483         * doc/posix-functions/openat.texi: Likewise.
41484         * doc/posix-functions/posix_fadvise.texi: Likewise.
41485         * doc/posix-functions/posix_fallocate.texi: Likewise.
41486         * doc/posix-functions/posix_madvise.texi: Likewise.
41487         * doc/posix-functions/posix_memalign.texi: Likewise.
41488         * doc/posix-functions/posix_openpt.texi: Likewise.
41489         * doc/posix-functions/readlinkat.texi: Likewise.
41490         * doc/posix-functions/remque.texi: Likewise.
41491         * doc/posix-functions/renameat.texi: Likewise.
41492         * doc/posix-functions/rintl.texi: Likewise.
41493         * doc/posix-functions/sem_unlink.texi: Likewise.
41494         * doc/posix-functions/shm_open.texi: Likewise.
41495         * doc/posix-functions/shm_unlink.texi: Likewise.
41496         * doc/posix-functions/signgam.texi: Likewise.
41497         * doc/posix-functions/sigset.texi: Likewise.
41498         * doc/posix-functions/stpcpy.texi: Likewise.
41499         * doc/posix-functions/stpncpy.texi: Likewise.
41500         * doc/posix-functions/strerror.texi: Likewise.
41501         * doc/posix-functions/strtod.texi: Likewise.
41502         * doc/posix-functions/symlinkat.texi: Likewise.
41503         * doc/posix-functions/unlinkat.texi: Likewise.
41504         * doc/posix-functions/utimensat.texi: Likewise.
41505         * doc/glibc-functions/bindresvport.texi: Likewise.
41506         * doc/glibc-functions/dn_expand.texi: Likewise.
41507         * doc/glibc-functions/exp10.texi: Likewise.
41508         * doc/glibc-functions/exp10f.texi: Likewise.
41509         * doc/glibc-functions/fgetxattr.texi: Likewise.
41510         * doc/glibc-functions/flistxattr.texi: Likewise.
41511         * doc/glibc-functions/fopencookie.texi: Likewise.
41512         * doc/glibc-functions/freeifaddrs.texi: Likewise.
41513         * doc/glibc-functions/fremovexattr.texi: Likewise.
41514         * doc/glibc-functions/fsetxattr.texi: Likewise.
41515         * doc/glibc-functions/getifaddrs.texi: Likewise.
41516         * doc/glibc-functions/getxattr.texi: Likewise.
41517         * doc/glibc-functions/lgetxattr.texi: Likewise.
41518         * doc/glibc-functions/listxattr.texi: Likewise.
41519         * doc/glibc-functions/llistxattr.texi: Likewise.
41520         * doc/glibc-functions/lremovexattr.texi: Likewise.
41521         * doc/glibc-functions/lsetxattr.texi: Likewise.
41522         * doc/glibc-functions/pow10.texi: Likewise.
41523         * doc/glibc-functions/pow10f.texi: Likewise.
41524         * doc/glibc-functions/rcmd_af.texi: Likewise.
41525         * doc/glibc-functions/removexattr.texi: Likewise.
41526         * doc/glibc-functions/res_init.texi: Likewise.
41527         * doc/glibc-functions/res_mkquery.texi: Likewise.
41528         * doc/glibc-functions/res_query.texi: Likewise.
41529         * doc/glibc-functions/res_querydomain.texi: Likewise.
41530         * doc/glibc-functions/res_send.texi: Likewise.
41531         * doc/glibc-functions/rresvport_af.texi: Likewise.
41532         * doc/glibc-functions/setxattr.texi: Likewise.
41533         * doc/glibc-functions/strcasestr.texi: Likewise.
41534
41535 2008-12-15  Bruno Haible  <bruno@clisp.org>
41536
41537         Fix compilation error on OSF/1 4.0.
41538         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
41539         <sys/time.h>, simply delegate to the system header.
41540         Reported by Daniel Richard G. <oss@teragram.com>.
41541
41542 2008-12-15  Bruno Haible  <bruno@clisp.org>
41543
41544         * doc/posix-functions/openat.texi: Mention the 'openat' module.
41545         * doc/posix-functions/fchmodat.texi: Likewise.
41546         * doc/posix-functions/fchownat.texi: Likewise.
41547         * doc/posix-functions/fdopendir.texi: Likewise.
41548         * doc/posix-functions/fstatat.texi: Likewise.
41549         * doc/posix-functions/mkdirat.texi: Likewise.
41550         * doc/posix-functions/unlinkat.texi: Likewise.
41551
41552 2008-12-14  Bruno Haible  <bruno@clisp.org>
41553
41554         Update doc for POSIX:2008.
41555         * doc/posix-functions/faccessat.texi: New file.
41556         * doc/posix-functions/fchmodat.texi: New file.
41557         * doc/posix-functions/fchownat.texi: New file.
41558         * doc/posix-functions/fdopendir.texi: New file.
41559         * doc/posix-functions/fstatat.texi: New file.
41560         * doc/posix-functions/futimens.texi: New file.
41561         * doc/posix-functions/linkat.texi: New file.
41562         * doc/posix-functions/mkdirat.texi: New file.
41563         * doc/posix-functions/mkfifoat.texi: New file.
41564         * doc/posix-functions/mknodat.texi: New file.
41565         * doc/posix-functions/open_wmemstream.texi: New file.
41566         * doc/posix-functions/openat.texi: New file.
41567         * doc/posix-functions/psiginfo.texi: New file.
41568         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
41569         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
41570         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
41571         * doc/posix-functions/readlinkat.texi: New file.
41572         * doc/posix-functions/renameat.texi: New file.
41573         * doc/posix-functions/strerror_l.texi: New file.
41574         * doc/posix-functions/symlinkat.texi: New file.
41575         * doc/posix-functions/unlinkat.texi: New file.
41576         * doc/posix-functions/utimensat.texi: New file.
41577         * doc/gnulib.texi (Function Substitutes): Add these subsections.
41578
41579 2008-12-14  Bruno Haible  <bruno@clisp.org>
41580
41581         Update doc for POSIX:2008.
41582         * doc/posix-functions/alphasort.texi: Renamed from
41583         doc/glibc-functions/alphasort.texi.
41584         * doc/posix-functions/dirfd.texi: Renamed from
41585         doc/glibc-functions/dirfd.texi.
41586         * doc/posix-functions/dprintf.texi: Renamed from
41587         doc/glibc-functions/dprintf.texi.
41588         * doc/posix-functions/duplocale.texi: Renamed from
41589         doc/glibc-functions/duplocale.texi.
41590         * doc/posix-functions/fexecve.texi: Renamed from
41591         doc/glibc-functions/fexecve.texi.
41592         * doc/posix-functions/fmemopen.texi: Renamed from
41593         doc/glibc-functions/fmemopen.texi.
41594         * doc/posix-functions/freelocale.texi: Renamed from
41595         doc/glibc-functions/freelocale.texi.
41596         * doc/posix-functions/getdate_err.texi: Renamed from
41597         doc/glibc-functions/getdate_err.texi.
41598         * doc/posix-functions/isalnum_l.texi: Renamed from
41599         doc/glibc-functions/isalnum_l.texi.
41600         * doc/posix-functions/isalpha_l.texi: Renamed from
41601         doc/glibc-functions/isalpha_l.texi.
41602         * doc/posix-functions/isblank_l.texi: Renamed from
41603         doc/glibc-functions/isblank_l.texi.
41604         * doc/posix-functions/iscntrl_l.texi: Renamed from
41605         doc/glibc-functions/iscntrl_l.texi.
41606         * doc/posix-functions/isdigit_l.texi: Renamed from
41607         doc/glibc-functions/isdigit_l.texi.
41608         * doc/posix-functions/isgraph_l.texi: Renamed from
41609         doc/glibc-functions/isgraph_l.texi.
41610         * doc/posix-functions/islower_l.texi: Renamed from
41611         doc/glibc-functions/islower_l.texi.
41612         * doc/posix-functions/isprint_l.texi: Renamed from
41613         doc/glibc-functions/isprint_l.texi.
41614         * doc/posix-functions/ispunct_l.texi: Renamed from
41615         doc/glibc-functions/ispunct_l.texi.
41616         * doc/posix-functions/isspace_l.texi: Renamed from
41617         doc/glibc-functions/isspace_l.texi.
41618         * doc/posix-functions/isupper_l.texi: Renamed from
41619         doc/glibc-functions/isupper_l.texi.
41620         * doc/posix-functions/iswalnum_l.texi: Renamed from
41621         doc/glibc-functions/iswalnum_l.texi.
41622         * doc/posix-functions/iswalpha_l.texi: Renamed from
41623         doc/glibc-functions/iswalpha_l.texi.
41624         * doc/posix-functions/iswblank_l.texi: Renamed from
41625         doc/glibc-functions/iswblank_l.texi.
41626         * doc/posix-functions/iswcntrl_l.texi: Renamed from
41627         doc/glibc-functions/iswcntrl_l.texi.
41628         * doc/posix-functions/iswctype_l.texi: Renamed from
41629         doc/glibc-functions/iswctype_l.texi.
41630         * doc/posix-functions/iswdigit_l.texi: Renamed from
41631         doc/glibc-functions/iswdigit_l.texi.
41632         * doc/posix-functions/iswgraph_l.texi: Renamed from
41633         doc/glibc-functions/iswgraph_l.texi.
41634         * doc/posix-functions/iswlower_l.texi: Renamed from
41635         doc/glibc-functions/iswlower_l.texi.
41636         * doc/posix-functions/iswprint_l.texi: Renamed from
41637         doc/glibc-functions/iswprint_l.texi.
41638         * doc/posix-functions/iswpunct_l.texi: Renamed from
41639         doc/glibc-functions/iswpunct_l.texi.
41640         * doc/posix-functions/iswspace_l.texi: Renamed from
41641         doc/glibc-functions/iswspace_l.texi.
41642         * doc/posix-functions/iswupper_l.texi: Renamed from
41643         doc/glibc-functions/iswupper_l.texi.
41644         * doc/posix-functions/iswxdigit_l.texi: Renamed from
41645         doc/glibc-functions/iswxdigit_l.texi.
41646         * doc/posix-functions/isxdigit_l.texi: Renamed from
41647         doc/glibc-functions/isxdigit_l.texi.
41648         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
41649         doc/glibc-functions/mbsnrtowcs.texi.
41650         * doc/posix-functions/mkdtemp.texi: Renamed from
41651         doc/glibc-functions/mkdtemp.texi.
41652         * doc/posix-functions/newlocale.texi: Renamed from
41653         doc/glibc-functions/newlocale.texi.
41654         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
41655         doc/glibc-functions/nl_langinfo_l.texi.
41656         * doc/posix-functions/open_memstream.texi: Renamed from
41657         doc/glibc-functions/open_memstream.texi.
41658         * doc/posix-functions/opterr.texi: Renamed from
41659         doc/glibc-functions/opterr.texi.
41660         * doc/posix-functions/optind.texi: Renamed from
41661         doc/glibc-functions/optind.texi.
41662         * doc/posix-functions/optopt.texi: Renamed from
41663         doc/glibc-functions/optopt.texi.
41664         * doc/posix-functions/psignal.texi: Renamed from
41665         doc/glibc-functions/psignal.texi.
41666         * doc/posix-functions/scandir.texi: Renamed from
41667         doc/glibc-functions/scandir.texi.
41668         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
41669         doc/glibc-functions/sched_get_priority_min.texi.
41670         * doc/posix-functions/signgam.texi: Renamed from
41671         doc/glibc-functions/signgam.texi.
41672         * doc/posix-functions/stpcpy.texi: Renamed from
41673         doc/glibc-functions/stpcpy.texi.
41674         * doc/posix-functions/stpncpy.texi: Renamed from
41675         doc/glibc-functions/stpncpy.texi.
41676         * doc/posix-functions/strcasecmp_l.texi: Renamed from
41677         doc/glibc-functions/strcasecmp_l.texi.
41678         * doc/posix-functions/strcoll_l.texi: Renamed from
41679         doc/glibc-functions/strcoll_l.texi.
41680         * doc/posix-functions/strfmon_l.texi: Renamed from
41681         doc/glibc-functions/strfmon_l.texi.
41682         * doc/posix-functions/strftime_l.texi: Renamed from
41683         doc/glibc-functions/strftime_l.texi.
41684         * doc/posix-functions/strncasecmp_l.texi: Renamed from
41685         doc/glibc-functions/strncasecmp_l.texi.
41686         * doc/posix-functions/strndup.texi: Renamed from
41687         doc/glibc-functions/strndup.texi.
41688         * doc/posix-functions/strnlen.texi: Renamed from
41689         doc/glibc-functions/strnlen.texi.
41690         * doc/posix-functions/strsignal.texi: Renamed from
41691         doc/glibc-functions/strsignal.texi.
41692         * doc/posix-functions/strxfrm_l.texi: Renamed from
41693         doc/glibc-functions/strxfrm_l.texi.
41694         * doc/posix-functions/timer_gettime.texi: Renamed from
41695         doc/glibc-functions/timer_gettime.texi.
41696         * doc/posix-functions/tolower_l.texi: Renamed from
41697         doc/glibc-functions/tolower_l.texi.
41698         * doc/posix-functions/toupper_l.texi: Renamed from
41699         doc/glibc-functions/toupper_l.texi.
41700         * doc/posix-functions/towctrans_l.texi: Renamed from
41701         doc/glibc-functions/towctrans_l.texi.
41702         * doc/posix-functions/towlower_l.texi: Renamed from
41703         doc/glibc-functions/towlower_l.texi.
41704         * doc/posix-functions/towupper_l.texi: Renamed from
41705         doc/glibc-functions/towupper_l.texi.
41706         * doc/posix-functions/uselocale.texi: Renamed from
41707         doc/glibc-functions/uselocale.texi.
41708         * doc/posix-functions/vdprintf.texi: Renamed from
41709         doc/glibc-functions/vdprintf.texi.
41710         * doc/posix-functions/wcpcpy.texi:
41711         Renamed from doc/glibc-functions/wcpcpy.texi.
41712         * doc/posix-functions/wcpncpy.texi: Renamed from
41713         doc/glibc-functions/wcpncpy.texi.
41714         * doc/posix-functions/wcscasecmp.texi: Renamed from
41715         doc/glibc-functions/wcscasecmp.texi.
41716         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
41717         doc/glibc-functions/wcscasecmp_l.texi.
41718         * doc/posix-functions/wcscoll_l.texi: Renamed from
41719         doc/glibc-functions/wcscoll_l.texi.
41720         * doc/posix-functions/wcsdup.texi: Renamed from
41721         doc/glibc-functions/wcsdup.texi.
41722         * doc/posix-functions/wcsncasecmp.texi: Renamed from
41723         doc/glibc-functions/wcsncasecmp.texi.
41724         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
41725         doc/glibc-functions/wcsncasecmp_l.texi.
41726         * doc/posix-functions/wcsnlen.texi: Renamed from
41727         doc/glibc-functions/wcsnlen.texi.
41728         * doc/posix-functions/wcsnrtombs.texi: Renamed from
41729         doc/glibc-functions/wcsnrtombs.texi.
41730         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
41731         doc/glibc-functions/wcsxfrm_l.texi.
41732         * doc/posix-functions/wctrans_l.texi: Renamed from
41733         doc/glibc-functions/wctrans_l.texi.
41734         * doc/posix-functions/wctype_l.texi: Renamed from
41735         doc/glibc-functions/wctype_l.texi.
41736         * doc/gnulib.texi (Function Substitutes): Add these subsections.
41737         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
41738         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
41739         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
41740         these subsections.
41741         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
41742         Remove sections.
41743
41744 2008-12-14  Bruno Haible  <bruno@clisp.org>
41745
41746         Update doc for POSIX:2008.
41747         * doc/posix-functions/*.texi: Update URL of POSIX specification.
41748
41749 2008-12-14  Bruno Haible  <bruno@clisp.org>
41750
41751         Update doc for POSIX:2008.
41752         * doc/pastposix-functions/bcmp.texi: Renamed from
41753         doc/posix-functions/bcmp.texi.
41754         * doc/pastposix-functions/bcopy.texi: Renamed from
41755         doc/posix-functions/bcopy.texi.
41756         * doc/pastposix-functions/bsd_signal.texi: Renamed from
41757         doc/posix-functions/bsd_signal.texi.
41758         * doc/pastposix-functions/bzero.texi: Renamed from
41759         doc/posix-functions/bzero.texi.
41760         * doc/pastposix-functions/ecvt.texi: Renamed from
41761         doc/posix-functions/ecvt.texi.
41762         * doc/pastposix-functions/fcvt.texi: Renamed from
41763         doc/posix-functions/fcvt.texi.
41764         * doc/pastposix-functions/ftime.texi: Renamed from
41765         doc/posix-functions/ftime.texi.
41766         * doc/pastposix-functions/gcvt.texi: Renamed from
41767         doc/posix-functions/gcvt.texi.
41768         * doc/pastposix-functions/getcontext.texi: Renamed from
41769         doc/posix-functions/getcontext.texi.
41770         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
41771         doc/posix-functions/gethostbyaddr.texi.
41772         * doc/pastposix-functions/gethostbyname.texi: Renamed from
41773         doc/posix-functions/gethostbyname.texi.
41774         * doc/pastposix-functions/getwd.texi: Renamed from
41775         doc/posix-functions/getwd.texi.
41776         * doc/pastposix-functions/h_errno.texi: Renamed from
41777         doc/posix-functions/h_errno.texi.
41778         * doc/pastposix-functions/index.texi: Renamed from
41779         doc/posix-functions/index.texi.
41780         * doc/pastposix-functions/makecontext.texi: Renamed from
41781         doc/posix-functions/makecontext.texi.
41782         * doc/pastposix-functions/mktemp.texi: Renamed from
41783         doc/posix-functions/mktemp.texi.
41784         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
41785         doc/posix-functions/pthread_attr_getstackaddr.texi.
41786         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
41787         doc/posix-functions/pthread_attr_setstackaddr.texi.
41788         * doc/pastposix-functions/rindex.texi: Renamed from
41789         doc/posix-functions/rindex.texi.
41790         * doc/pastposix-functions/scalb.texi: Renamed from
41791         doc/posix-functions/scalb.texi.
41792         * doc/pastposix-functions/setcontext.texi: Renamed from
41793         doc/posix-functions/setcontext.texi.
41794         * doc/pastposix-functions/swapcontext.texi: Renamed from
41795         doc/posix-functions/swapcontext.texi.
41796         * doc/pastposix-functions/ualarm.texi: Renamed from
41797         doc/posix-functions/ualarm.texi.
41798         * doc/pastposix-functions/usleep.texi: Renamed from
41799         doc/posix-functions/usleep.texi.
41800         * doc/pastposix-functions/vfork.texi: Renamed from
41801         doc/posix-functions/vfork.texi.
41802         * doc/pastposix-functions/wcswcs.texi: Renamed from
41803         doc/posix-functions/wcswcs.texi.
41804         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
41805         (Function Substitutes): Update.
41806
41807 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41808
41809         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
41810         m4/strerror.m4.
41811
41812 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41813             Bruno Haible  <bruno@clisp.org>
41814
41815         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
41816
41817 2008-12-13  Bruno Haible  <bruno@clisp.org>
41818
41819         * modules/strtoull (Depends-on): Remove unistd.
41820
41821 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41822
41823         * modules/strtoull (Depends-on): Add stdlib.
41824
41825 2008-12-11  Simon Josefsson  <simon@josefsson.org>
41826
41827         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
41828
41829 2008-12-10  Jim Meyering  <meyering@redhat.com>
41830
41831         gl_ASSERT: don't say assertions are disabled when they're not
41832         * m4/assert.m4 (gl_ASSERT): Do not make configure report
41833         "checking whether to enable assertions... no", when they are in
41834         fact enabled.  This is solely a bug in the output of configure.
41835         In spite of saying "no", NDEBUG was not defined in that case.
41836         Also, as noted by Eric Blake, leave assertions enabled upon
41837         --enable-assert=INVALID.
41838
41839 2008-12-10  Bruno Haible  <bruno@clisp.org>
41840
41841         Change MODULES.html to refer to POSIX:2008 where possible.
41842         * MODULES.html.sh (POSIX2008_URL): New variable.
41843         (posix_headers): Remove sys/timeb, ucontext.
41844         (posix2001_headers): New variable.
41845         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
41846         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
41847         index, makecontext, mktemp, pthread_attr_getstackaddr,
41848         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
41849         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
41850         (posix2001_functions): New variable.
41851         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
41852         otherwise.
41853
41854 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41855
41856         add missing include to parse-duration.c
41857         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
41858         * modules/parse-duration (Depends-on): Add xalloc.
41859
41860         fix sed script reading maint.mk
41861         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
41862         (syntax-check-rules): Use it.
41863
41864 2008-12-09  Bruno Haible  <bruno@clisp.org>
41865
41866         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
41867         MacOS X 10.4/PowerPC.
41868         Reported by Simon Josefsson.
41869
41870 2008-12-08  Jim Meyering  <meyering@redhat.com>
41871
41872         work around mingw's lack of some S_IF definitions
41873         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
41874         Reported by Simon Josefsson.
41875
41876 2008-12-08  Bruno Haible  <bruno@clisp.org>
41877
41878         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
41879         applied to variables. Needed on MacOS X 10.4/PowerPC.
41880         Reported by Simon Josefsson.
41881
41882 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
41883         and Eric Blake  <ebb9@byu.net>
41884
41885         assert: honor --enable-assert
41886         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
41887         order to honor --enable-assert, rather than treating it as a
41888         synonym for --disable-assert.
41889
41890 2008-12-08  Jim Meyering  <meyering@redhat.com>
41891
41892         * lib/posixtm.c: Remove now-useless declaration of mktime.
41893
41894         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
41895
41896 2008-12-07  Bruno Haible  <bruno@clisp.org>
41897
41898         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
41899         test_once): Mark functions as static.
41900         * tests/test-tls.c (test_tls): Likewise.
41901
41902 2008-12-07  Bruno Haible  <bruno@clisp.org>
41903
41904         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
41905         iconv_register_autodetect.
41906
41907 2008-12-07  Jim Meyering  <meyering@redhat.com>
41908
41909         posixtm.c: avoid a warning
41910         * lib/posixtm.c (posixtime): Don't initialize tm0.
41911         It's no longer needed to placate gcc4's -Wuninitialized,
41912         and the attempt to placate would elicit a new warning.
41913
41914         unicodeio.c: mark unused parameters
41915         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
41916         (fallback_failure_callback): Likewise.
41917
41918 2008-12-07  Bruno Haible  <bruno@clisp.org>
41919
41920         * gnulib-tool (func_create_testdir): When building the tests
41921         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
41922         Reported by Simon Josefsson.
41923
41924 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41925
41926         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
41927
41928 2008-12-06  Bruno Haible  <bruno@clisp.org>
41929
41930         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
41931         Suggested by Eric Blake.
41932
41933 2008-12-06  Bruno Haible  <bruno@clisp.org>
41934
41935         Fix a c-stack test failure on MacOS X.
41936         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
41937         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
41938         handler for SIGBUS as well.
41939         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
41940         install a signal handler for SIGBUS as well.
41941         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
41942
41943 2008-12-06  Bruno Haible  <bruno@clisp.org>
41944
41945         Advocacy documentation.
41946         * doc/gnulib-intro.texi (Benefits): New section.
41947         * doc/gnulib.texi: Update.
41948
41949 2008-12-06  Bruno Haible  <bruno@clisp.org>
41950
41951         Document the 'manywarnings' module.
41952         * doc/manywarnings.texi: New file.
41953         * doc/gnulib.texi: Include it.
41954
41955 2008-12-05  Eric Blake  <ebb9@byu.net>
41956
41957         tests: silence some gcc warnings
41958         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
41959         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
41960         type mismatches.
41961
41962 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41963             Bruno Haible  <bruno@clisp.org>
41964
41965         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
41966
41967 2008-11-29  Jim Meyering  <meyering@redhat.com>
41968
41969         unicodeio.c: mark unused parameters
41970         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
41971         (fallback_failure_callback): Likewise.
41972
41973         fts: fix a thinko
41974         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
41975         (set_stat_type): Return S_IF*-valued "type" directly.
41976         Prompted by James Youngman's spotting a related bug.
41977         Confirmed by further testing through find.
41978
41979         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
41980         * lib/fts.c (D_TYPE): Define.
41981         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
41982         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
41983         (s_ifmt_shift_bits): New function.
41984         (set_stat_type): New function.
41985         (fts_build): When not calling fts_stat, call set_stat_type
41986         to propagate dirent.d_type info to fts_read caller.
41987         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
41988         fts_statp->st_mode type information may be valid.
41989
41990 2008-11-28  Simon Josefsson  <simon@josefsson.org>
41991
41992         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
41993         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
41994         <sds@gnu.org>.
41995
41996 2008-11-20  Bruno Haible  <bruno@clisp.org>
41997
41998         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
41999         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
42000         INCLUDE_NEXT.
42001         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
42002         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
42003         * modules/math (Makefile.am): Substitute
42004         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
42005         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42006
42007 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
42008             Bruno Haible  <bruno@clisp.org>
42009
42010         * lib/stdint.in.h: Define all type macros so that their expansion is
42011         a single typedef'ed token. Fixes a compilation failure in Boost which
42012         does "using ::int8_t;".
42013
42014 2008-11-18  Simon Josefsson  <simon@josefsson.org>
42015
42016         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
42017         gl_MANYWARN_ALL_GCC.
42018         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
42019         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
42020         * modules/manywarnings: New file.
42021         * MODULES.html.sh: Mention manywarnings module.
42022
42023 2008-11-18  Bruno Haible  <bruno@clisp.org>
42024
42025         * doc/gnulib-tool.texi (Unit tests): New section.
42026
42027 2008-11-18  Simon Josefsson  <simon@josefsson.org>
42028
42029         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
42030         paths like 'lib/po/foo.po'.
42031
42032 2008-11-17  Simon Josefsson  <simon@josefsson.org>
42033
42034         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
42035         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
42036
42037 2008-11-17  Simon Josefsson  <simon@josefsson.org>
42038
42039         * m4/warnings.m4: Use CPPFLAGS to really check whether the
42040         parameter works.
42041
42042 2008-11-17  Simon Josefsson  <simon@josefsson.org>
42043
42044         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
42045
42046 2008-11-17  Bruce Korb  <bkorb@gnu.org>
42047
42048         * modules/parse-duration-tests: New file.
42049         * tests/test-parse-duration.sh: New file.
42050         * tests/test-parse-duration.c: New file.
42051
42052         New module 'parse-duration'.
42053         * lib/parse-duration.h: New file.
42054         * lib/parse-duration.c: New file.
42055         * modules/parse-duration: New file.
42056
42057 2008-11-17  Bruno Haible  <bruno@clisp.org>
42058
42059         * tests/test-select-out.sh: Comment out the first pipe test.
42060         Reported by Simon Josefsson.
42061
42062 2008-11-17  Bruno Haible  <bruno@clisp.org>
42063
42064         * modules/getaddrinfo (Depends-on): Add servent, hostent.
42065         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
42066         gl_HOSTENT.
42067
42068 2008-11-17  Bruno Haible  <bruno@clisp.org>
42069
42070         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
42071         -lnetwork and -lnet. Needed for Haiku and BeOS.
42072
42073 2008-11-16  Bruno Haible  <bruno@clisp.org>
42074
42075         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
42076
42077 2008-11-16  Bruno Haible  <bruno@clisp.org>
42078
42079         Avoid test failure on Haiku.
42080         * tests/test-fsync.c: Include <errno.h>.
42081         (main): Don't require that fsync (0) fails.
42082
42083 2008-11-15  Bruno Haible  <bruno@clisp.org>
42084
42085         New module 'hostent'.
42086         * modules/hostent: New file.
42087         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
42088
42089 2008-11-15  Bruno Haible  <bruno@clisp.org>
42090
42091         New module 'servent'.
42092         * modules/servent: New file.
42093         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
42094
42095 2008-11-15  Bruno Haible  <bruno@clisp.org>
42096
42097         Avoid generating same test program with two different rules.
42098         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
42099         test-frexp to test-frexp-nolibm.
42100         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
42101         test-frexpl to test-frexpl-nolibm.
42102
42103 2008-11-15  Bruno Haible  <bruno@clisp.org>
42104
42105         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
42106         $(FREXPL_LIBM).
42107
42108 2008-11-15  Bruno Haible  <bruno@clisp.org>
42109
42110         * lib/netdb.in.h: Activate the definitions also when the system's
42111         <netdb.h> has 'struct addrinfo'.
42112         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
42113         EAI_OVERFLOW or AI_NUMERICSERV.
42114         * doc/posix-headers/netdb.texi: Document the problem.
42115
42116 2008-11-15  Bruno Haible  <bruno@clisp.org>
42117
42118         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
42119
42120         Make the 'sched' module work on platforms where <sched.h> exists but
42121         is incomplete (such as Haiku).
42122         * lib/sched.in.h; Include the system's <sched.h> if it exists.
42123         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
42124         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
42125         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
42126         HAVE_STRUCT_SCHED_PARAM.
42127         * modules/sched (Depends-on): Add include_next.
42128         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
42129         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
42130         * doc/posix-headers/sched.texi: Document the issue.
42131
42132 2008-11-13  Jim Meyering  <meyering@redhat.com>
42133
42134         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
42135         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
42136         test would fail due to the difference in the Report bugs to ...
42137         line.  The expected address is empty, "<>", while the actual
42138         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
42139
42140 2008-11-12  Bruno Haible  <bruno@clisp.org>
42141
42142         lstat: don't compile lstat.c on systems lacking lstat
42143         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
42144         which don't have lstat; this is handled by lib/sys_stat.in.h already.
42145         Reported by Daniel P. Berrange via Jim Meyering.
42146
42147 2008-11-12  Jim Meyering  <meyering@redhat.com>
42148
42149         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
42150
42151 2008-11-12  Simon Josefsson  <simon@josefsson.org>
42152
42153         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
42154         instead.
42155
42156 2008-11-12  Bruno Haible  <bruno@clisp.org>
42157
42158         * lib/unicodeio.c: Include unistr.h.
42159         (utf8_wctomb): Remove function.
42160         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
42161
42162 2008-11-12  Simon Josefsson  <simon@josefsson.org>
42163
42164         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
42165         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
42166         <bruno@clisp.org>.
42167         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
42168
42169 2008-11-12  Simon Josefsson  <simon@josefsson.org>
42170
42171         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
42172         * doc/gnulib.texi: Add section for warnings.
42173
42174 2008-11-11  Bruno Haible  <bruno@clisp.org>
42175
42176         * lib/sockets.h: Add a comment.
42177
42178 2008-11-11  Karl Berry  <karl@gnu.org>
42179
42180         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
42181
42182 2008-11-11  Eric Blake  <ebb9@byu.net>
42183
42184         fdl.texi: avoid git symlinks
42185         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
42186
42187 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
42188
42189         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
42190
42191 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
42192
42193         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
42194         (gl_WARN_ADD): Substitute $2 if literal.
42195
42196 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
42197
42198         * m4/warning.m4: Remove.
42199
42200 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
42201
42202         * m4/warnings.m4: Almost complete rewrite. :-)
42203
42204 2008-11-10  Simon Josefsson  <simon@josefsson.org>
42205
42206         * modules/warnings: New module.
42207         * m4/warnings.m4: New file.
42208         * MODULES.html.sh: Mention warnings module.
42209         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
42210         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42211
42212 2008-11-10  Eric Blake  <ebb9@byu.net>
42213
42214         fdl.texi: make a symlink to the latest version
42215         * doc/standards.texi: Revert today's earlier change.
42216         * doc/fdl-1.2.texi: Rename from old fdl.texi...
42217         * doc/fdl.texi: ...and replace this with a symlink to the newer
42218         fdl-1.3.texi.
42219
42220 2008-11-10  Bruno Haible  <bruno@clisp.org>
42221
42222         * tests/test-select-fd.c (main): Accept the result file name as fourth
42223         argument.
42224         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
42225         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
42226
42227 2008-11-10  Bruno Haible  <bruno@clisp.org>
42228
42229         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
42230         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
42231         as autoconf-substituted macros.
42232         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
42233         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
42234         gl_NETDB_H_DEFAULTS. Set these variables.
42235         * modules/netdb (Makefile.am): Substitute these variables.
42236
42237 2008-11-10  Eric Blake  <ebb9@byu.net>
42238
42239         standards.texi: include correct file for FDL 1.3
42240         * doc/standards.texi (GNU Free Documentation License): Change
42241         include file to pull in FDL 1.3, not 1.2.
42242
42243         fdl.texi: revert accidental change to license
42244         * doc/fdl.texi: This is FDL 1.2, not 1.3.
42245
42246 2008-11-10  Bruno Haible  <bruno@clisp.org>
42247
42248         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
42249         cross-compiling guesses also when the native compile gives no result.
42250
42251 2008-11-10  Bruno Haible  <bruno@clisp.org>
42252
42253         * lib/spawni.c (__spawni): Force variable into the stack.
42254
42255 2008-11-10  Bruno Haible  <bruno@clisp.org>
42256
42257         Add support for Haiku.
42258         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
42259         glibc and BeOS, but also on Haiku.
42260         * lib/fpurge.c (fpurge): Likewise.
42261         * lib/freadable.c (freadable): Likewise.
42262         * lib/freadahead.c (freadahead): Likewise.
42263         * lib/freading.c (freading): Likewise.
42264         * lib/freadptr.c (freadptr): Likewise.
42265         * lib/freadseek.c (freadptrinc): Likewise.
42266         * lib/fseeko.c (rpl_fseeko): Likewise.
42267         * lib/fseterr.c (fseterr): Likewise.
42268         * lib/fwritable.c (fwritable): Likewise.
42269         * lib/fwriting.c (fwriting): Likewise.
42270         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
42271
42272 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
42273
42274         * lib/config.charset: Treat Haiku like BeOS.
42275
42276 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
42277
42278         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
42279         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
42280
42281 2008-11-08  Bruno Haible  <bruno@clisp.org>
42282
42283         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
42284         AC_CACHE_CHECK.
42285
42286 2008-11-08  Bruno Haible  <bruno@clisp.org>
42287
42288         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
42289
42290 2008-11-08  Bruno Haible  <bruno@clisp.org>
42291
42292         * tests/test-select-fd.c: New file.
42293         * tests/test-select-in.sh: New file.
42294         * tests/test-select-out.sh: New file.
42295         * tests/test-select-stdin.c: New file.
42296         * modules/select-tests (Files): Add the new files.
42297         (Depends-on): Add gettimeofday.
42298         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
42299         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
42300         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
42301
42302 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
42303             Bruno Haible  <bruno@clisp.org>
42304
42305         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
42306
42307 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
42308
42309         * build-aux/pmccabe2html: Added support for C++ source files.
42310
42311 2008-11-05  Ben Pfaff  <blp@gnu.org>
42312
42313         Fix lib/close.c build on Windows.
42314         * modules/close (Files): Add lib/w32sock.h.
42315
42316 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
42317
42318         Accept Bison's NEWS format.
42319         * build-aux/announce-gen (print_news_deltas): Tweak
42320         $re_prefix.
42321
42322 2008-11-04  Bruno Haible  <bruno@clisp.org>
42323
42324         * modules/random_r (Maintainer): Add glibc.
42325
42326 2008-11-04  Simon Josefsson  <simon@josefsson.org>
42327
42328         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
42329         by karl@freefriends.org (Karl Berry).
42330         * doc/alloca.texi: Likewise.
42331         * doc/c-ctype.texi: Likewise.
42332         * doc/c-strcase.texi: Likewise.
42333         * doc/c-strcaseeq.texi: Likewise.
42334         * doc/c-strcasestr.texi: Likewise.
42335         * doc/c-strstr.texi: Likewise.
42336         * doc/c-strtod.texi: Likewise.
42337         * doc/c-strtold.texi: Likewise.
42338         * doc/ctime.texi: Likewise.
42339         * doc/error.texi: Likewise.
42340         * doc/fdl.texi: Likewise.
42341         * doc/gcd.texi: Likewise.
42342         * doc/getdate.texi: Likewise.
42343         * doc/gnulib-intro.texi: Likewise.
42344         * doc/gnulib-tool.texi: Likewise.
42345         * doc/gnulib.texi: Likewise.
42346         * doc/inet_ntoa.texi: Likewise.
42347         * doc/maintain.texi: Likewise.
42348         * doc/make-stds.texi: Likewise.
42349         * doc/quote.texi: Likewise.
42350         * doc/regexprops-generic.texi: Likewise.
42351         * doc/standards.texi: Likewise.
42352         * doc/verify.texi: Likewise.
42353         * doc/visibility.texi: Likewise.
42354         * doc/gnulib.texi (GNU Free Documentation License): Include
42355         fdl-1.3.texi instead of fdl.texi.
42356
42357 2008-11-04  Simon Josefsson  <simon@josefsson.org>
42358
42359         * doc/fdl-1.3.texi: New file, from
42360         <http://www.gnu.org/licenses/fdl-1.3.texi>.
42361         * modules/fdl-1.3: Add.
42362         * MODULES.html.sh: Add fdl-1.3.
42363
42364 2008-11-03  Bruno Haible  <bruno@clisp.org>
42365
42366         Make determination of absolute name of header file work with AIX xlc.
42367         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
42368         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
42369         preprocessing.
42370         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42371         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
42372
42373 2008-11-03  Simon Josefsson  <simon@josefsson.org>
42374
42375         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
42376         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
42377         <ludo@gnu.org>.
42378
42379 2008-11-02  Bruno Haible  <bruno@clisp.org>
42380
42381         Mark 'strpbrk' obsolete.
42382         * modules/strpbrk (Status, Notice): New sections.
42383         * modules/strtok_r (Depends-on): Add strpbrk.
42384
42385 2008-11-02  Bruno Haible  <bruno@clisp.org>
42386
42387         Mark 'strdup' obsolete.
42388         * modules/strdup (Status, Notice): New sections.
42389         * modules/findprog (Depends-on): Add strdup.
42390         * modules/getaddrinfo (Depends-on): Likewise.
42391         * modules/localename (Depends-on): Likewise.
42392         * modules/relocatable-lib (Depends-on): Likewise.
42393         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
42394         * modules/relocatable-prog (Depends-on): Likewise.
42395         * modules/trim (Depends-on): Likewise.
42396         * modules/unictype/gen-ctype (Depends-on): Likewise.
42397         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
42398
42399 2008-11-02  Bruno Haible  <bruno@clisp.org>
42400
42401         Mark 'strcspn' obsolete.
42402         * modules/strcspn (Status, Notice): New sections.
42403
42404 2008-11-02  Bruno Haible  <bruno@clisp.org>
42405
42406         Mark 'rmdir' obsolete.
42407         * modules/rmdir (Status, Notice): New sections.
42408         * modules/clean-temp (Depends-on): Add rmdir.
42409         * modules/openat (Depends-on): Likewise.
42410
42411 2008-11-02  Bruno Haible  <bruno@clisp.org>
42412
42413         Mark 'raise' obsolete.
42414         * modules/raise (Status, Notice): New sections.
42415         (Include): Specify <signal.h>.
42416         * modules/stdio (Depends-on): Add raise.
42417         * modules/write (Depends-on): Likewise.
42418
42419 2008-11-02  Bruno Haible  <bruno@clisp.org>
42420
42421         Mark 'memset' obsolete.
42422         * modules/memset (Status, Notice): New sections.
42423
42424 2008-11-02  Bruno Haible  <bruno@clisp.org>
42425
42426         Mark 'memmove' obsolete.
42427         * modules/memmove (Status, Notice): New sections.
42428         * modules/argp (Depends-on): Add memmove.
42429         * modules/argz (Depends-on): Likewise.
42430         * modules/canonicalize (Depends-on): Likewise.
42431         * modules/canonicalize-lgpl (Depends-on): Likewise.
42432         * modules/fts (Depends-on): Likewise.
42433         * modules/getcwd (Depends-on): Likewise.
42434         * modules/human (Depends-on): Likewise.
42435         * modules/regex (Depends-on): Likewise.
42436         * modules/striconveh (Depends-on): Likewise.
42437         * modules/trim (Depends-on): Likewise.
42438         * modules/unistr/u8-move (Depends-on): Likewise.
42439         * modules/unistr/u16-move (Depends-on): Likewise.
42440         * modules/unistr/u32-move (Depends-on): Likewise.
42441
42442 2008-11-02  Bruno Haible  <bruno@clisp.org>
42443
42444         Mark 'memcpy' obsolete.
42445         * modules/memcpy (Status, Notice): New sections.
42446
42447 2008-11-02  Bruno Haible  <bruno@clisp.org>
42448
42449         Mark 'memcmp' obsolete.
42450         * modules/memcmp (Status, Notice): New sections.
42451         * modules/argmatch (Depends-on): Add memchr.
42452         * modules/backupfile (Depends-on): Likewise.
42453         * modules/c-strcasestr (Depends-on): Likewise.
42454         * modules/crypto/des (Depends-on): Likewise.
42455         * modules/csharpcomp (Depends-on): Likewise.
42456         * modules/fnmatch (Depends-on): Likewise.
42457         * modules/git-merge-changelog (Depends-on): Likewise.
42458         * modules/isnand (Depends-on): Likewise.
42459         * modules/isnand-nolibm (Depends-on): Likewise.
42460         * modules/isnanf (Depends-on): Likewise.
42461         * modules/isnanf-nolibm (Depends-on): Likewise.
42462         * modules/isnanl (Depends-on): Likewise.
42463         * modules/isnanl-nolibm (Depends-on): Likewise.
42464         * modules/mbchar (Depends-on): Likewise.
42465         * modules/memcoll (Depends-on): Likewise.
42466         * modules/quotearg (Depends-on): Likewise.
42467         * modules/regex (Depends-on): Likewise.
42468         * modules/relocatable-prog (Depends-on): Likewise.
42469         * modules/same (Depends-on): Likewise.
42470         * modules/signbit (Depends-on): Likewise.
42471         * modules/strcasestr-simple (Depends-on): Likewise.
42472         * modules/unictype/gen-ctype (Depends-on): Likewise.
42473         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
42474         * modules/uniname/uniname (Depends-on): Likewise.
42475         * modules/unistr/u8-cmp (Depends-on): Likewise.
42476
42477 2008-11-02  Bruno Haible  <bruno@clisp.org>
42478
42479         Mark 'memchr' obsolete.
42480         * modules/memchr (Status, Notice): New sections.
42481         * modules/argp (Depends-on): Add memchr.
42482         * modules/base64 (Depends-on): Likewise.
42483         * modules/c-strcasestr (Depends-on): Likewise.
42484         * modules/chdir-long (Depends-on): Likewise.
42485         * modules/fnmatch (Depends-on): Likewise.
42486         * modules/getsubopt (Depends-on): Likewise.
42487         * modules/git-merge-changelog (Depends-on): Likewise.
42488         * modules/glob (Depends-on): Likewise.
42489         * modules/strcasestr-simple (Depends-on): Likewise.
42490         * modules/strnlen (Depends-on): Likewise.
42491
42492 2008-11-02  Bruno Haible  <bruno@clisp.org>
42493
42494         Mark 'atexit' obsolete.
42495         * modules/atexit (Status, Notice): New sections.
42496         * modules/chdir-long (Depends-on): Add atexit.
42497         * modules/wait-process (Depends-on): Likewise.
42498
42499 2008-11-02  Bruno Haible  <bruno@clisp.org>
42500
42501         * gnulib-tool: New option --with-obsolete.
42502         (func_usage): Document it.
42503         (func_modules_transitive_closure): Drop obsolete dependencies if
42504         incobsolete is not true.
42505         (func_import): Read and save the incobsolete variable to the cache.
42506
42507 2008-11-02  Bruno Haible  <bruno@clisp.org>
42508
42509         * modules/TEMPLATE-EXTENDED: New field 'Status'.
42510         * gnulib-tool: New option --extract-status.
42511         (func_usage): Document it.
42512         (sed_extract_prog): Recognize it.
42513         (func_get_status): New function.
42514
42515 2008-10-30  Simon Josefsson  <simon@josefsson.org>
42516
42517         * modules/sockets (License): Change from LGPL to LGPLv2+.
42518
42519 2008-10-28  Simon Josefsson  <simon@josefsson.org>
42520
42521         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
42522
42523 2008-10-28  Simon Josefsson  <simon@josefsson.org>
42524
42525         * MODULES.html.sh (Support for systems lacking POSIX:2001):
42526         Mention times and sys_times.
42527         * modules/sys_times, modules/sys_times-tests: New modules.
42528         * modules/times, modules/times-tests: Likewise
42529         * m4/sys_times_h.m4: New file.
42530         * lib/sys_times.in.h: Likewise
42531         * lib/times.c: Likewise.
42532         * tests/test-sys_times.c: Likewise.
42533         * tests/test-times.c: Likewise.
42534         * doc/posix-headers/sys_times.texi: Update.
42535         * doc/posix-functions/times.texi: Update.
42536
42537 2008-10-28  Jim Meyering  <meyering@redhat.com>
42538
42539         * modules/tempname (Depends-on): Add lstat.
42540
42541         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
42542
42543 2008-10-28  Simon Josefsson  <simon@josefsson.org>
42544
42545         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
42546         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
42547         using idiom used elsewhere in gnulib.
42548
42549 2008-10-27  Jim Meyering  <meyering@redhat.com>
42550
42551         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
42552
42553 2008-10-27  Simon Josefsson  <simon@josefsson.org>
42554
42555         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
42556         TESTS_ENVIRONMENT, for shell scripts that needs to call built
42557         programs.
42558         * tests/test-argp-2.sh: Use $EXEEXT when needed.
42559
42560 2008-10-27  Simon Josefsson  <simon@josefsson.org>
42561
42562         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
42563
42564 2008-10-27  Bruno Haible  <bruno@clisp.org>
42565
42566         * tests/test-lstat.c: Include <stdio.h>.
42567
42568 2008-10-27  Simon Josefsson  <simon@josefsson.org>
42569
42570         * modules/lstat-tests: New module.
42571         * tests/test-lstat.c: New file.
42572
42573 2008-10-26  Jim Meyering  <meyering@redhat.com>
42574
42575         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
42576
42577 2008-10-26  Simon Josefsson  <simon@josefsson.org>
42578             Bruno Haible  <bruno@clisp.org>
42579
42580         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
42581         * modules/configmake (Include): Add a note that the include must come
42582         after all system headers.
42583         * lib/javaversion.c: Include configmake.h after all other includes.
42584
42585 2008-10-26  Bruno Haible  <bruno@clisp.org>
42586
42587         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
42588         HAVE_STRUCT_RANDOM_DATA to 1.
42589         (gl_STDLIB_H): Simplify.
42590
42591 2008-10-26  Simon Josefsson  <simon@josefsson.org>
42592
42593         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
42594         substitute HAVE_STRUCT_RANDOM_DATA.
42595         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
42596         random_data.
42597         * modules/stdlib (Makefile.am): Substitute
42598         HAVE_STRUCT_RANDOM_DATA.
42599
42600 2008-10-26  Simon Josefsson  <simon@josefsson.org>
42601
42602         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
42603         * doc/gnulib-intro.texi (Copyright): Likewise.
42604
42605 2008-10-26  Simon Josefsson  <simon@josefsson.org>
42606
42607         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
42608         findings.
42609
42610 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
42611             Bruno Haible  <bruno@clisp.org>
42612
42613         * lib/unistd.in.h: Include <winsock2.h>.
42614         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
42615         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
42616         Provide dummy declarations.
42617         (gethostname): Override.
42618         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
42619         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
42620         gl_PREREQ_SYS_H_WINSOCK2.
42621         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
42622         * doc/posix-functions/gethostname.texi: More details.
42623
42624 2008-10-25  Bruno Haible  <bruno@clisp.org>
42625
42626         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
42627         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
42628         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
42629
42630         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
42631         here ...
42632         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
42633         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
42634         gl_UNISTD_H_DEFAULTS.
42635
42636 2008-10-25  Eric Blake  <ebb9@byu.net>
42637
42638         signbit: avoid spurious compiler failure
42639         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
42640         declarations inside function.
42641
42642 2008-10-24  Simon Josefsson  <simon@josefsson.org>
42643             Bruno Haible  <bruno@clisp.org>
42644
42645         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
42646         * modules/random_r (Depends-on): Add stdint.
42647
42648 2008-10-24  Bruno Haible  <bruno@clisp.org>
42649
42650         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
42651         Eggert.
42652         * modules/strerror (License): Likewise.
42653
42654 2008-10-24  Jim Meyering  <meyering@redhat.com>
42655
42656         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
42657         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
42658
42659 2008-10-24  Eric Blake  <ebb9@byu.net>
42660
42661         getgroups: fix compilation when getgroups is available
42662         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
42663         but with <config.h> override of getgroups disabled.
42664
42665 2008-10-24  Simon Josefsson  <simon@josefsson.org>
42666
42667         * doc/gnulib.texi (Header files): Add note about C++ problems.
42668         Explained by Bruno Haible <bruno@clisp.org>.
42669
42670 2008-10-23  Bruno Haible  <bruno@clisp.org>
42671
42672         Define a dummy SA_NODEFER macro on Interix.
42673         * lib/signal.in.h (SA_NODEFER): Define fallback.
42674         Reported by Aleksey Cheusov <cheusov@tut.by> via
42675         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
42676
42677 2008-10-23  Bruno Haible  <bruno@clisp.org>
42678
42679         * modules/freadahead (License): Change to LGPLv2+.
42680         Suggested by Simon Josefsson.
42681
42682 2008-10-23  Jim Meyering  <meyering@redhat.com>
42683
42684         random_r: new module
42685         * modules/random_r: New file.
42686         * m4/random_r.m4: New file.
42687         * lib/random_r.c: New file, from glibc.
42688         * modules/random_r-tests: New file.
42689         * tests/test-random_r.c: New file.
42690         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
42691          Declare.
42692         (RAND_MAX): Define.
42693         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
42694         * modules/stdlib: Substitute them, too.
42695         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
42696         * doc/glibc-functions/initstate_r.texi: Mention the new module.
42697         * doc/glibc-functions/random_r.texi: Likewise.
42698         * doc/glibc-functions/setstate_r.texi: Likewise.
42699         * doc/glibc-functions/srandom_r.texi: Likewise.
42700         * config/srclist.txt: Mention it.
42701
42702 2008-10-23  David Lutterkort  <lutter@redhat.com>
42703
42704         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
42705         link requirement
42706
42707 2008-10-23  Jim Meyering  <meyering@redhat.com>
42708
42709         selinux-h: mark parameters of stub functions as intentionally unused
42710         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
42711         * lib/se-context.in.h: Likewise.
42712
42713 2008-10-22  Simon Josefsson  <simon@josefsson.org>
42714
42715         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
42716
42717 2008-10-22  Simon Josefsson  <simon@josefsson.org>
42718
42719         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
42720
42721 2008-10-22  Eric Blake  <ebb9@byu.net>
42722
42723         glthread/thread: avoid compiler warning
42724         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
42725         Add unreachable abort to silence compiler.
42726
42727 2008-10-22  Eric Blake  <ebb9@byu.net>
42728
42729         netdb: also supply struct addrinfo for cygwin 1.5.x
42730         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
42731         older cygwin.
42732         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
42733         cygwin.
42734         * doc/posix-headers/netdb.texi (netdb.h): Document this.
42735
42736 2008-10-22  Bruno Haible  <bruno@clisp.org>
42737
42738         * users.txt: Update entry about pspp.
42739
42740 2008-10-21  Bruno Haible  <bruno@clisp.org>
42741
42742         Simplification.
42743         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
42744         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
42745
42746         Simplification.
42747         * lib/ioctl.c (ioctl): Don't undefine.
42748         * lib/socket.c (socket): Don't undefine.
42749
42750         Remove unused module indicator macros.
42751         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
42752         GNULIB_$1 as a C macro.
42753
42754         * doc/posix-functions/close.texi: Undo last change.
42755         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
42756         Windows platforms.
42757
42758 2008-10-21  Bruno Haible  <bruno@clisp.org>
42759
42760         Add gethostname() declaration to <unistd.h>.
42761         * lib/unistd.in.h (gethostname): New declaration.
42762         * lib/gethostname.c: Include <unistd.h>.
42763         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
42764         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
42765         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
42766         and HAVE_GETHOSTNAME.
42767         * modules/gethostname (Depends-on): Add unistd.
42768         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42769         (Include): Specify <unistd.h>.
42770         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
42771         HAVE_GETHOSTNAME.
42772         * tests/test-gethostname.c: Include <unistd.h> first.
42773
42774 2008-10-21  Bruno Haible  <bruno@clisp.org>
42775
42776         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
42777         * modules/select-tests (Depends-on): Likewise.
42778         Reported by Simon Josefsson.
42779
42780 2008-10-21  Simon Josefsson  <simon@josefsson.org>
42781
42782         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
42783         * lib/accept.c: New file, based on winsock.c.
42784         * lib/bind.c: New file, based on winsock.c.
42785         * lib/connect.c: New file, based on winsock.c.
42786         * lib/getpeername.c: New file, based on winsock.c.
42787         * lib/getsockname.c: New file, based on winsock.c.
42788         * lib/getsockopt.c: New file, based on winsock.c.
42789         * lib/ioctl.c: New file, based on winsock.c.
42790         * lib/listen.c: New file, based on winsock.c.
42791         * lib/recv.c: New file, based on winsock.c.
42792         * lib/recvfrom.c: New file, based on winsock.c.
42793         * lib/send.c: New file, based on winsock.c.
42794         * lib/sendto.c: New file, based on winsock.c.
42795         * lib/setsockopt.c: New file, based on winsock.c.
42796         * lib/shutdown.c: New file, based on winsock.c.
42797         * lib/socket.c: New file, based on winsock.c.
42798         * lib/w32sock.h: New file, based on winsock.c.
42799         * lib/winsock.c: Remove file.
42800         * modules/accept: Likewise.
42801         * modules/bind: Likewise.
42802         * modules/connect: Likewise.
42803         * modules/getpeername: Likewise.
42804         * modules/getsockname: Likewise.
42805         * modules/getsockopt: Likewise.
42806         * modules/ioctl: Likewise.
42807         * modules/listen: Likewise.
42808         * modules/recv: Likewise.
42809         * modules/recvfrom: Likewise.
42810         * modules/send: Likewise.
42811         * modules/sendto: Likewise.
42812         * modules/setsockopt: Likewise.
42813         * modules/shutdown: Likewise.
42814         * modules/socket: Use socket.c instead of winsock.c.
42815         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
42816         * doc/posix-functions/accept.texi: Doc fix.
42817         * doc/posix-functions/bind.texi: Doc fix.
42818         * doc/posix-functions/close.texi: Doc fix.
42819         * doc/posix-functions/connect.texi: Doc fix.
42820         * doc/posix-functions/getpeername.texi: Doc fix.
42821         * doc/posix-functions/getsockname.texi: Doc fix.
42822         * doc/posix-functions/getsockopt.texi: Doc fix.
42823         * doc/posix-functions/ioctl.texi: Doc fix.
42824         * doc/posix-functions/listen.texi: Doc fix.
42825         * doc/posix-functions/recv.texi: Doc fix.
42826         * doc/posix-functions/recvfrom.texi: Doc fix.
42827         * doc/posix-functions/send.texi: Doc fix.
42828         * doc/posix-functions/sendto.texi: Doc fix.
42829         * doc/posix-functions/setsockopt.texi: Doc fix.
42830         * doc/posix-functions/shutdown.texi: Doc fix.
42831         * doc/posix-functions/socket.texi: Doc fix.
42832
42833 2008-10-20  Bruno Haible  <bruno@clisp.org>
42834
42835         Take into account the role of SIGABRT_COMPAT on Windows 2008.
42836         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
42837         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
42838         as an alias for SIGABRT.
42839         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
42840         (sigaction): Map it to SIGABRT.
42841         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
42842
42843 2008-10-20  Bruno Haible  <bruno@clisp.org>
42844
42845         * lib/fts.c: Don't include lstat.h.
42846         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
42847
42848         Move the lstat() declaration to <sys/stat.h>.
42849         * lib/lstat.h: Remove file.
42850         * lib/sys_stat.in.h: Add special invocation convention.
42851         (lstat): New declaration.
42852         * lib/lstat.c (orig_lstat): New function.
42853         (rpl_lstat): Use orig_lstat instead of lstat.
42854         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
42855         AC_C_INLINE. Set REPLACE_LSTAT.
42856         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
42857         and REPLACE_LSTAT.
42858         * modules/lstat (Files): Remove lib/lstat.h.
42859         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
42860         (Include): Specify <sys/stat.h> instead of lstat.h.
42861         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
42862         REPLACE_LSTAT.
42863         * NEWS: Mention the change.
42864
42865 2008-10-20  Bruno Haible  <bruno@clisp.org>
42866
42867         * modules/posix_spawn-tests: New file.
42868         * tests/test-posix_spawn3.c: New file.
42869
42870 2008-10-20  Bruno Haible  <bruno@clisp.org>
42871
42872         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
42873         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
42874         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
42875         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
42876         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
42877
42878 2008-10-20  Bruno Haible  <bruno@clisp.org>
42879
42880         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
42881         of posix_spawn on AIX 5.3.
42882
42883 2008-10-20  Bruno Haible  <bruno@clisp.org>
42884
42885         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
42886
42887 2008-10-20  Bruno Haible  <bruno@clisp.org>
42888
42889         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
42890         of AC_LANG_PROGRAM.
42891
42892 2008-10-20  Simon Josefsson  <simon@josefsson.org>
42893
42894         * lib/netdb.in.h: Don't define GNU specific constants until they
42895         are supported or needed.  Reported by Bruno Haible
42896         <bruno@clisp.org>.
42897
42898 2008-10-20  Simon Josefsson  <simon@josefsson.org>
42899
42900         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
42901
42902 2008-10-20  Simon Josefsson  <simon@josefsson.org>
42903
42904         * lib/getaddrinfo.h: Remove file.
42905         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
42906         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
42907         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
42908         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
42909         * modules/netdb: Substitute GNULIB_GETADDRINFO.
42910         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
42911         * tests/test-getaddrinfo.c: Likewise.
42912         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
42913         * NEWS: Mention change.
42914
42915 2008-10-19  Bruno Haible  <bruno@clisp.org>
42916
42917         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
42918
42919 2008-10-19  Bruno Haible  <bruno@clisp.org>
42920
42921         * lib/wait-process.c: Include simply <sys/wait.h>.
42922         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
42923         WIFSTOPPED): Remove fallback definitions.
42924         * modules/wait-process (Depends-on): Add sys_wait.
42925
42926         New module 'sys_wait'.
42927         * modules/sys_wait: New file.
42928         * lib/sys_wait.in.h: New file, partially copied from
42929         lib/wait-process.c.
42930         * m4/sys_wait_h.m4: New file.
42931         * doc/posix-headers/sys_wait.texi: Mention the new module.
42932
42933 2008-10-19  Bruno Haible  <bruno@clisp.org>
42934
42935         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
42936
42937 2008-10-19  Bruno Haible  <bruno@clisp.org>
42938
42939         Assume that waitpid() fills an 'int' status, not a 'union wait'.
42940         * lib/wait-process.c (WAIT_T): Remove type.
42941         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
42942         (wait_subprocess): Update.
42943
42944 2008-10-19  Bruno Haible  <bruno@clisp.org>
42945
42946         New module 'atoll'.
42947         * modules/atoll: New file.
42948         * lib/stdlib.in.h (atoll): New declaration.
42949         * lib/atoll.c: New file, from glibc with modifications.
42950         * m4/atoll.m4: New file.
42951         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
42952         HAVE_ATOLL.
42953         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
42954         * doc/posix-functions/atoll.texi: Mention the new module.
42955
42956 2008-10-19  Bruno Haible  <bruno@clisp.org>
42957
42958         Add strtoull() declaration to <stdlib.h>.
42959         * lib/stdlib.in.h (strtoull): New declaration.
42960         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
42961         Set HAVE_STRTOULL.
42962         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
42963         HAVE_STRTOULL.
42964         * modules/strtoull (Depends-on): Add stdlib.
42965         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42966         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
42967         HAVE_STRTOULL.
42968
42969 2008-10-19  Bruno Haible  <bruno@clisp.org>
42970
42971         Add strtoll() declaration to <stdlib.h>.
42972         * lib/stdlib.in.h (strtoll): New declaration.
42973         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
42974         Set HAVE_STRTOLL.
42975         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
42976         HAVE_STRTOLL.
42977         * modules/strtoll (Depends-on): Add stdlib.
42978         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42979         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
42980
42981 2008-10-19  Bruno Haible  <bruno@clisp.org>
42982
42983         * modules/bcopy (Depends-on): Add strings.
42984         (Include): Specify <strings.h>.
42985
42986 2008-10-19  Bruno Haible  <bruno@clisp.org>
42987
42988         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
42989
42990 2008-10-19  Bruno Haible  <bruno@clisp.org>
42991
42992         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
42993         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
42994         mingw.
42995
42996 2008-10-19  Bruno Haible  <bruno@clisp.org>
42997
42998         * lib/atanl.c: Don't include isnanl.h.
42999         * lib/cosl.c: Likewise.
43000         * lib/ldexpl.c: Likewise.
43001         * lib/logl.c: Likewise.
43002         * lib/sinl.c: Likewise.
43003         * lib/sqrtl.c: Likewise.
43004         * lib/tanl.c: Likewise.
43005
43006         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
43007         * lib/isnanf.h: Remove file.
43008         * lib/isnand.h: Remove file.
43009         * lib/isnanl.h: Remove file.
43010         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
43011         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
43012         macros.
43013         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
43014         HAVE_ISNANF, don't define it as a C macro.
43015         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
43016         HAVE_ISNAND, don't define it as a C macro.
43017         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
43018         HAVE_ISNANL, don't define it as a C macro.
43019         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
43020         HAVE_ISNAN[FDL].
43021         * modules/isnanf (Files): Remove lib/isnanf.h.
43022         (Depends-on): Add math.
43023         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
43024         (Include): Specify <math.h> instead of isnanf.h.
43025         * modules/isnand (Files): Remove lib/isnand.h.
43026         (Depends-on): Add math.
43027         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
43028         (Include): Specify <math.h> instead of isnand.h.
43029         * modules/isnanl (Files): Remove lib/isnanl.h.
43030         (Depends-on): Add math.
43031         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
43032         (Include): Specify <math.h> instead of isnanl.h.
43033         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
43034         HAVE_ISNAN[FDL].
43035         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
43036         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
43037         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
43038         * NEWS: Mention the change.
43039
43040 2008-10-18  Bruno Haible  <bruno@clisp.org>
43041
43042         Add getusershell(), setusershell(), endusershell() declarations to
43043         <unistd.h>.
43044         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
43045         declarations.
43046         * lib/getusershell.c: Include unistd.h.
43047         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
43048         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
43049         HAVE_GETUSERSHELL.
43050         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
43051         and HAVE_GETUSERSHELL.
43052         * modules/getusershell (Depends-on): Add unistd, extensions.
43053         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43054         (Include): Specify <unistd.h>.
43055         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
43056         HAVE_GETUSERSHELL.
43057
43058 2008-10-18  Bruno Haible  <bruno@clisp.org>
43059
43060         Add a getloadavg() declaration to <stdlib.h>.
43061         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
43062         getloadavg declaration.
43063         (getloadavg): New declaration.
43064         * lib/getloadavg.c: Include <stdlib.h> first.
43065         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
43066         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
43067         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
43068         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
43069         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
43070         * modules/getloadavg (Depends-on): Add stdlib, extensions.
43071         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
43072         (Include): Specify <stdlib.h>.
43073         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
43074         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
43075
43076 2008-10-18  Bruno Haible  <bruno@clisp.org>
43077
43078         * lib/dirchownmod.c: Don't include lchmod.h.
43079
43080         Move the lchmod() declaration to <sys/stat.h>.
43081         * lib/lchmod.h: Remove file.
43082         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
43083         (lchmod): New declaration, moved here from lib/lchown.h.
43084         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
43085         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
43086         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
43087         and HAVE_LCHMOD.
43088         * modules/lchmod (Files): Remove lib/lchmod.h.
43089         (Depends-on): Add sys_stat, extensions.
43090         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
43091         (Include): Specify <sys/stat.h> instead of lchmod.h.
43092         * modules/sys_stat (Depends-on): Add link-warning.
43093         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
43094         definition of GL_LINK_WARNING.
43095         * NEWS: Mention the change.
43096
43097 2008-10-18  Bruno Haible  <bruno@clisp.org>
43098
43099         * lib/fchdir.c: Don't include dirfd.h.
43100         * lib/fts.c: Likewise.
43101         * lib/getcwd.c: Likewise.
43102         * lib/glob.c: Likewise.
43103
43104         Move the dirfd() declaration to <dirent.h>.
43105         * lib/dirfd.h: Remove file.
43106         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
43107         (dirfd): New declaration.
43108         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
43109         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
43110         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
43111         HAVE_DECL_DIRFD.
43112         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
43113         HAVE_DECL_DIRFD.
43114         * modules/dirfd (Files): Remove lib/dirfd.h.
43115         (Depends-on): Add dirent, extensions.
43116         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
43117         (Include): Specify <dirent.h> instead of dirfd.h.
43118         * modules/dirent (Depends-on): Add link-warning.
43119         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
43120         definition of GL_LINK_WARNING.
43121         * NEWS: Mention the change.
43122
43123 2008-10-18  Bruno Haible  <bruno@clisp.org>
43124
43125         Move the euidaccess() declaration to <unistd.h>.
43126         * lib/euidaccess.h: Remove file.
43127         * lib/unistd.in.h (euidaccess): New declaration.
43128         * lib/euidaccess.c: Don't include euidaccess.h.
43129         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
43130         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
43131         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
43132         and HAVE_EUIDACCESS.
43133         * modules/euidaccess (Files): Remove lib/euidaccess.h.
43134         (Depends-on): Add unistd.
43135         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43136         (Include): Specify <unistd.h> instead of euidaccess.h.
43137         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
43138         HAVE_EUIDACCESS.
43139         * NEWS: Mention the change.
43140
43141 2008-10-18  Bruno Haible  <bruno@clisp.org>
43142
43143         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
43144
43145         Move the getdomainname() declaration to <unistd.h>.
43146         * lib/getdomainname.h: Remove file.
43147         * lib/unistd.in.h (getdomainname): New declaration.
43148         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
43149         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
43150         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
43151         HAVE_GETDOMAINNAME.
43152         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43153         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
43154         * modules/getdomainname (Files): Remove lib/getdomainname.h.
43155         (Depends-on): Add unistd, extensions.
43156         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43157         (Includes): Specify <unistd.h> instead of getdomainname.h.
43158         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
43159         HAVE_GETDOMAINNAME.
43160         * NEWS: Mention the change.
43161
43162 2008-10-18  Bruno Haible  <bruno@clisp.org>
43163
43164         * modules/dirent: New file.
43165         * m4/dirent_h.m4: New file.
43166         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
43167         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
43168         * modules/fchdir (Files): Remove lib/dirent.in.h.
43169         (Depends-on): Add dirent.
43170         (Makefile.am): Move rules to modules/dirent.
43171         * doc/posix-headers/dirent.texi: Mention the new module.
43172
43173 2008-10-18  Bruno Haible  <bruno@clisp.org>
43174
43175         Avoid -Wunused-parameter warnings in public gnulib header files.
43176         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
43177         macro.
43178         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
43179
43180 2008-10-18  Bruno Haible  <bruno@clisp.org>
43181
43182         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
43183         * doc/glibc-functions/error.texi: Mention the module 'error'.
43184         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
43185         * doc/glibc-functions/getdomainname.texi: Mention the module
43186         'getdomainname'.
43187         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
43188         * doc/glibc-functions/getpagesize.texi: Mention the module
43189         'getpagesize'.
43190         * doc/glibc-functions/getusershell.texi: Mention the module
43191         'getusershell'.
43192         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
43193         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
43194         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
43195         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
43196         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
43197         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
43198         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
43199         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
43200         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
43201         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
43202         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
43203         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
43204         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
43205         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
43206
43207 2008-10-17  Bruno Haible  <bruno@clisp.org>
43208
43209         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
43210         HP-UX and IRIX, use -0.0L.
43211         * tests/test-ceill.c (minus_zero): Likewise.
43212         * tests/test-floorl.c (minus_zero): Likewise.
43213         * tests/test-frexpl.c (minus_zero): Likewise.
43214         * tests/test-isnan.c (minus_zerol): Likewise.
43215         * tests/test-isnanl.h (minus_zero): Likewise.
43216         * tests/test-ldexpl.c (minus_zero): Likewise.
43217         * tests/test-roundl.c (minus_zero): Likewise.
43218         * tests/test-signbit.c (minus_zerol): Likewise.
43219         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
43220         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
43221         * tests/test-truncl.c (minus_zero): Likewise.
43222         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
43223         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
43224         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
43225         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
43226
43227 2008-10-17  Bruno Haible  <bruno@clisp.org>
43228
43229         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
43230         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
43231         that it gets activated only for gcc >= 3.0.
43232         * lib/dirent.in.h: Likewise.
43233         * lib/errno.in.h: Likewise.
43234         * lib/fcntl.in.h: Likewise.
43235         * lib/float.in.h: Likewise.
43236         * lib/iconv.in.h: Likewise.
43237         * lib/inttypes.in.h: Likewise.
43238         * lib/locale.in.h: Likewise.
43239         * lib/math.in.h: Likewise.
43240         * lib/netdb.in.h: Likewise.
43241         * lib/netinet_in.in.h: Likewise.
43242         * lib/search.in.h: Likewise.
43243         * lib/signal.in.h: Likewise.
43244         * lib/spawn.in.h: Likewise.
43245         * lib/stdarg.in.h: Likewise.
43246         * lib/stdint.in.h: Likewise.
43247         * lib/stdio.in.h: Likewise.
43248         * lib/stdlib.in.h: Likewise.
43249         * lib/string.in.h: Likewise.
43250         * lib/strings.in.h: Likewise.
43251         * lib/sys_file.in.h: Likewise.
43252         * lib/sys_ioctl.in.h: Likewise.
43253         * lib/sys_select.in.h: Likewise.
43254         * lib/sys_socket.in.h: Likewise.
43255         * lib/sys_stat.in.h: Likewise.
43256         * lib/sys_time.in.h: Likewise.
43257         * lib/sysexits.in.h: Likewise.
43258         * lib/time.in.h: Likewise.
43259         * lib/unistd.in.h: Likewise.
43260         * lib/wchar.in.h: Likewise.
43261         * lib/wctype.in.h: Likewise.
43262         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
43263
43264 2008-10-17  Jim Meyering  <meyering@redhat.com>
43265
43266         ignore-value: don't depend on inline module
43267         * modules/ignore-value (Depends-on): Remove 'inline'.
43268         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
43269         Suggestion from Bruno Haible.
43270
43271 2008-10-17  Bruno Haible  <bruno@clisp.org>
43272
43273         New implementation of condition variables for Win32.
43274         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
43275         (gl_linked_waitqueue_t): New type.
43276         (gl_cond_t): Use it.
43277         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
43278         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
43279         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
43280         (glthread_cond_init_func, glthread_cond_wait_func,
43281         glthread_cond_timedwait_func, glthread_cond_signal_func,
43282         glthread_cond_broadcast_func, glthread_cond_destroy_func):
43283         Reimplemented on the basis of gl_linked_waitqueue_t.
43284         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
43285         gl_waitqueue_t.
43286         (gl_rwlock_t): Update.
43287         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
43288
43289 2008-10-17  Simon Josefsson  <simon@josefsson.org>
43290
43291         * modules/recvfrom (Depends-on): Add dependency on getpeername.
43292         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
43293
43294 2008-10-17  Jim Meyering  <meyering@redhat.com>
43295
43296         ignore-value: new module
43297         * modules/ignore-value: New file.
43298         * lib/ignore-value.h: New file.
43299         * MODULES.html.sh (Compiler warning management): New section,
43300         just for this module.  More to come.
43301
43302 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
43303
43304         open-safer.c: avoid 'signed and unsigned in conditional...' warning
43305         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
43306         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
43307
43308 2008-10-16  Jim Meyering  <meyering@redhat.com>
43309
43310         openat-die.c: avoid 'no previous prototype' warning
43311         * lib/openat-die.c: Include "openat.h".
43312         Reported by Reuben Thomas <rrt@sc3d.org>.
43313
43314 2008-10-16  Simon Josefsson  <simon@josefsson.org>
43315
43316         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
43317         * lib/netdb.in.h: Fix typo.
43318         Reported by Bruno Haible  <bruno@clisp.org>
43319
43320         * lib/netdb.in.h: Include sys/socket.h for platforms without
43321         netdb.h, to get structures like hostent on MinGW.
43322         * modules/netdb (Depends-on): Add sys_socket.
43323
43324 2008-10-15  Simon Josefsson  <simon@josefsson.org>
43325
43326         * modules/netdb, modules/netdb-tests: New file.
43327         * m4/netdb_h.m4: New file.
43328         * lib/netdb.in.h: Add, currently just an empty file pending
43329         definitions.
43330         * tests/test-netdb.c: New file.
43331         * doc/posix-headers/netdb.texi: Mention that we replace it if
43332         needed.
43333         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43334         netdb.
43335
43336 2008-10-15  Simon Josefsson  <simon@josefsson.org>
43337
43338         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
43339         with code.
43340
43341 2008-10-13  Bruno Haible  <bruno@clisp.org>
43342
43343         * lib/glthread/cond.c (glthread_cond_wait_func,
43344         glthread_cond_timedwait_func): Add a comment.
43345
43346 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
43347
43348         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
43349         * tests/test-select.c: Likewise,
43350
43351 2008-10-13  Bruno Haible  <bruno@clisp.org>
43352
43353         * lib/glthread/cond.c (glthread_cond_wait_func,
43354         glthread_cond_timedwait_func): Fix variable name.
43355         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
43356
43357 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
43358
43359         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
43360         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
43361         struct sockaddr.sa_len.
43362         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
43363
43364 2008-10-13  Simon Josefsson  <simon@josefsson.org>
43365
43366         * build-aux/pmccabe2html: Add css and css_url parameters.
43367
43368 2008-10-12  Bruno Haible  <bruno@clisp.org>
43369
43370         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
43371         calling aclx_get.
43372         Reported by Rainer Tammer <tammer@tammer.net>.
43373
43374 2008-10-12  Bruno Haible  <bruno@clisp.org>
43375
43376         Use msvcrt aware primitives for creation/termination of Win32 threads.
43377         * lib/glthread/thread.c: Include <process.h>.
43378         (glthread_create_func): Use _beginthreadex instead of CreateThread.
43379         (wrapper_func): Update signature.
43380         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
43381
43382 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
43383             Bruno Haible  <bruno@clisp.org>
43384
43385         Provide a Win32 implementation of the 'cond' module.
43386         * lib/glthread/cond.h [USE_WIN32]: New implementation.
43387         * lib/glthread/cond.c (glthread_cond_init_func,
43388         glthread_cond_wait_func, glthread_cond_timedwait_func,
43389         glthread_cond_signal_func, glthread_cond_broadcast_func,
43390         glthread_cond_destroy_func) [USE_WIN32]: New functions.
43391         * modules/cond (Dependencies): Add gettimeofday.
43392
43393 2008-10-11  Bruno Haible  <bruno@clisp.org>
43394
43395         Make sleep work on older versions of mingw.
43396         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
43397         only whether it exists.
43398         * doc/posix-functions/sleep.texi: Mention the problem with older
43399         versions of mingw.
43400
43401 2008-10-11  Bruno Haible  <bruno@clisp.org>
43402
43403         New module 'shutdown'.
43404         * modules/shutdown: New file.
43405         * lib/sys_socket.in.h (shutdown): New declaration.
43406         * lib/winsock.c (shutdown): New function.
43407         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
43408         GNULIB_SHUTDOWN.
43409         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
43410         * doc/posix-functions/shutdown.texi: Document the new module.
43411
43412 2008-10-11  Jim Meyering  <meyering@redhat.com>
43413
43414         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
43415
43416 2008-10-11  Bruno Haible  <bruno@clisp.org>
43417
43418         New module 'fclose'.
43419         * modules/fclose: New file.
43420         * lib/stdio.in.h (fclose): New declaration.
43421         * lib/fclose.c: New file.
43422         * m4/fclose.m4: New file.
43423         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
43424         REPLACE_FCLOSE.
43425         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
43426         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
43427         REPLACE_FCLOSE.
43428         * modules/close (Depends-on): fclose.
43429         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
43430
43431 2008-10-11  Bruno Haible  <bruno@clisp.org>
43432
43433         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
43434         set errno and don't call _close.
43435
43436 2008-10-10  Bruno Haible  <bruno@clisp.org>
43437
43438         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
43439         ACL, not afterwards. Fixes test failure on Cygwin.
43440
43441 2008-10-09  Ben Pfaff  <blp@gnu.org>
43442
43443         * build-aux/announce-gen: Fix gnulib version related part of usage
43444         message.  Die with a useful error message if no tarballs are
43445         found.
43446
43447 2008-10-10  Jim Meyering  <meyering@redhat.com>
43448
43449         bootstrap: use git's --depth=N option only if it's supported
43450         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
43451         recognize the --depth option.  Reported by Pádraig Brady.
43452
43453 2008-10-09  Bruno Haible  <bruno@clisp.org>
43454
43455         New module 'ioctl'.
43456         * modules/ioctl: New file.
43457         * lib/sys_socket.in.h (ioctl): Remove declaration.
43458         * lib/winsock.c: Include <sys/ioctl.h>.
43459         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
43460         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
43461         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
43462         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
43463         * doc/posix-functions/ioctl.texi: Mention the new module.
43464
43465 2008-10-09  Bruno Haible  <bruno@clisp.org>
43466
43467         New module 'sys_ioctl'.
43468         * lib/sys_ioctl.in.h: New file.
43469         * m4/sys_ioctl_h.m4: New file.
43470         * modules/sys_ioctl: New file.
43471         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
43472
43473 2008-10-09  Bruno Haible  <bruno@clisp.org>
43474
43475         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
43476         * lib/winsock.c: Include <stdarg.h>.
43477         (rpl_ioctl): Change to second argument 'int' and then varargs.
43478
43479 2008-10-09  Bruno Haible  <bruno@clisp.org>
43480
43481         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
43482         when the sys_socket module is present and the system has <winsock2.h>.
43483
43484 2008-10-09  Bruno Haible  <bruno@clisp.org>
43485
43486         * doc/posix-functions/close.texi: Mention module 'close' instead of
43487         module 'sys_socket'.
43488
43489 2008-10-09  Bruno Haible  <bruno@clisp.org>
43490
43491         * doc/glibc-headers/sys_ioctl.texi: New file.
43492         * doc/gnulib.texi: Include it.
43493
43494 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
43495             Bruno Haible  <bruno@clisp.org>
43496
43497         Combine the two replacements of 'close'.
43498         * lib/sys_socket.in.h (close): Define to a reminder to include
43499         <unistd.h>.
43500         (_gl_close_fd_maybe_socket): New declaration.
43501         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
43502         * lib/winsock.c (close): Remove undefinition.
43503         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
43504         needed for the gnulib module 'close'.
43505         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
43506         define to an error symbol or to a warning, if suitable.
43507         * lib/close.c: Include <sys/socket.h>.
43508         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
43509         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
43510         UNISTD_H_HAVE_WINSOCK2_H.
43511         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
43512         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43513         UNISTD_H_HAVE_WINSOCK2_H.
43514         * modules/sys_socket (Files): Add m4/unistd_h.m4.
43515         (configure.ac): Set a module indicator.
43516         (Makefile.am): Substitute GNULIB_CLOSE.
43517         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
43518         * modules/poll-tests (Depends-on): Add close.
43519         * modules/select-tests (Depends-on): Likewise.
43520
43521 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
43522             Bruno Haible  <bruno@clisp.org>
43523
43524         New module 'close'.
43525         * modules/close: New file.
43526         * lib/unistd.in.h (close): Move declaration out of the
43527         FCHDIR_REPLACEMENT scope.
43528         (_gl_unregister_fd): New declaration.
43529         * lib/close.c: New file.
43530         * lib/fchdir.c (rpl_close): Remove function.
43531         * m4/close.m4: New file.
43532         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
43533         close.
43534         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
43535         REPLACE_CLOSE.
43536         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
43537         REPLACE_CLOSE.
43538         * modules/fchdir (Depends-on): Add close.
43539
43540 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
43541             Bruno Haible  <bruno@clisp.org>
43542
43543         * lib/fcntl.in.h (open): Simplify conditionals.
43544         (_gl_register_fd): New declaration.
43545         * lib/fchdir.c (rpl_open): Remove function.
43546         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
43547         also.
43548         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
43549         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
43550         open.
43551
43552 2008-10-09  Jim Meyering  <meyering@redhat.com>
43553
43554         GNUmakefile: use the more name-space-friendly "_version"
43555         * top/GNUmakefile (_dummy): Update.
43556         (_version): Rename from "version".
43557
43558 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
43559             Bruno Haible  <bruno@clisp.org>
43560
43561         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
43562         rpl_close.
43563         (_gl_register_fd): New function, extracted from rpl_open.
43564         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
43565         (rpl_open, rpl_opendir): Use _gl_register_fd.
43566
43567 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
43568
43569         Fix organization of 'open' replacement.
43570         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
43571         (gl_FUNC_OPEN): Use it.
43572         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
43573
43574 2008-10-08  Bruno Haible  <bruno@clisp.org>
43575
43576         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
43577
43578 2008-10-08  Simon Josefsson  <simon@josefsson.org>
43579
43580         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
43581         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
43582         listen).
43583
43584 2008-10-08  Eric Blake  <ebb9@byu.net>
43585
43586         GNUmakefile: add 'make version' target
43587         * top/GNUmakefile (_curr-ver): Split version update rules...
43588         (version): ...into a target.
43589
43590 2008-10-07  Bruno Haible  <bruno@clisp.org>
43591
43592         Use a more portable replacement expression for -0.0L.
43593         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
43594         instead of -0.0L. Fix m4 quotation.
43595
43596         * tests/test-signbit.c: Include <float.h>.
43597         (minus_zero): New variable.
43598         (test_signbitl): Use minus_zero instead of -zero.
43599         * modules/signbit-tests (Depends-on): Add float.
43600
43601         * tests/test-ceill.c: Include <float.h>.
43602         (zero): Remove variable.
43603         (minus_zero): New variable.
43604         (main): Use minus_zero instead of -zero.
43605         * modules/ceill-tests (Depends-on): Add float.
43606
43607         * tests/test-floorl.c: Include <float.h>.
43608         (zero): Remove variable.
43609         (minus_zero): New variable.
43610         (main): Use minus_zero instead of -zero.
43611         * modules/floorl-tests (Depends-on): Add float.
43612
43613         * tests/test-roundl.c: Include <float.h>.
43614         (zero): Remove variable.
43615         (minus_zero): New variable.
43616         (main): Use minus_zero instead of -zero.
43617         * modules/roundl-tests (Depends-on): Add float.
43618
43619         * tests/test-truncl.c: Include <float.h>.
43620         (zero): Remove variable.
43621         (minus_zero): New variable.
43622         (main): Use minus_zero instead of -zero.
43623         * modules/truncl-tests (Depends-on): Add float.
43624
43625         * tests/test-frexpl.c (zero): Remove variable.
43626         (minus_zero): New variable.
43627         (main): Use minus_zero instead of -zero.
43628         * modules/frexpl-tests (Depends-on): Add float.
43629
43630         * tests/test-isnan.c (zerol): Remove variable.
43631         (minus_zerol): New variable.
43632         (test_long_double): Use minus_zerol instead of -zerol.
43633         * modules/isnan-tests (Depends-on): Add float.
43634
43635         * tests/test-isnanl.h (zero): Remove variable.
43636         (minus_zero): New variable.
43637         (main): Use minus_zero instead of -zero.
43638         * modules/isnanl-nolibm-tests (Depends-on): Add float.
43639         * modules/isnanl-tests (Depends-on): Add float.
43640
43641         * tests/test-ldexpl.c (zero): Remove variable.
43642         (minus_zero): New variable.
43643         (main): Use minus_zero instead of -zero.
43644         * modules/ldexpl-tests (Depends-on): Add float.
43645
43646         * tests/test-snprintf-posix.h (zerol): Remove variable.
43647         (minus_zerol): New variable.
43648         (test_function): Use minus_zerol instead of -zerol.
43649         * modules/snprintf-posix-tests (Depends-on): Add float.
43650         * modules/vsnprintf-posix-tests (Depends-on): Add float.
43651
43652         * tests/test-sprintf-posix.h (zerol): Remove variable.
43653         (minus_zerol): New variable.
43654         (test_function): Use minus_zerol instead of -zerol.
43655         * modules/sprintf-posix-tests (Depends-on): Add float.
43656         * modules/vsprintf-posix-tests (Depends-on): Add float.
43657
43658         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
43659         (minus_zerol): New variable.
43660         (test_function): Use minus_zerol instead of -zerol.
43661         * modules/vasnprintf-posix-tests (Depends-on): Add float.
43662
43663         * tests/test-vasprintf-posix.c (zerol): Remove variable.
43664         (minus_zerol): New variable.
43665         (test_function): Use minus_zerol instead of -zerol.
43666         * modules/vasprintf-posix-tests (Depends-on): Add float.
43667
43668 2008-10-07  Simon Josefsson  <simon@josefsson.org>
43669
43670         * MODULES.html.sh (Support for building documentation): Mention
43671         pmccabe2html.  Sort entries.
43672
43673         Add pmccabe2html module, from gnupdf.
43674         * build-aux/pmccabe.css: New file.
43675         * build-aux/pmccabe2html: New file.
43676         * m4/pmccabe2html.m4: New file.
43677         * modules/pmccabe2html: New file.
43678
43679 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
43680
43681         flock: new module
43682         * MODULES.html.sh: Add to list of modules.
43683         * lib/flock.c: flock implementation for Windows and Unix systems
43684         which have fcntl.
43685         * doc/glibc-functions/flock.texi: Update documentation.
43686         * lib/sys_file.in.h: <sys/file.h> header file.
43687         * m4/flock.m4: M4 macros.
43688         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
43689         * modules/flock: flock module.
43690         * modules/flock-tests: flock tests module.
43691         * modules/sys_file: sys/file.h module.
43692         * tests/test-flock.c: test suite for flock.
43693
43694 2008-10-06  Jim Meyering  <meyering@redhat.com>
43695
43696         bootstrap: check for LT_INIT more portably still ;-)
43697         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
43698         Spotted by Bruno Haible.
43699
43700 2008-10-06  Eric Blake  <ebb9@byu.net>
43701
43702         test-signbit: avoid tripping Irix cc bug on -0.0L
43703         * tests/test-signbit.c (minus_zerol): Delete, and replace with
43704         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
43705         entire testsuite consistent and avoids an Irix 6.2 bug.
43706
43707 2008-10-05  Bruno Haible  <bruno@clisp.org>
43708             Jim Meyering  <jim@meyering.net>
43709
43710         Add an option for ignoring EPIPE during close_stdout.
43711         * lib/closeout.h: Include <stdbool.h>.
43712         (close_stdout_set_ignore_EPIPE): New declaration.
43713         * lib/closeout.c: Include <stdbool.h>.
43714         (ignore_EPIPE): New variable.
43715         (close_stdout_set_ignore_EPIPE): New function.
43716         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
43717         * lib/close-stream.c (close_stream): Mention the possible EPIPE
43718         failure.
43719         * modules/closeout (Depends-on): Add stdbool.
43720
43721 2008-10-05  Bruno Haible  <bruno@clisp.org>
43722
43723         * modules/accept: New file.
43724         * modules/bind: New file.
43725         * modules/connect: New file.
43726         * modules/getpeername: New file.
43727         * modules/getsockname: New file.
43728         * modules/getsockopt: New file.
43729         * modules/listen: New file.
43730         * modules/recv: New file.
43731         * modules/recvfrom: New file.
43732         * modules/send: New file.
43733         * modules/sendto: New file.
43734         * modules/setsockopt: New file.
43735         * modules/socket: New file.
43736         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
43737         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
43738         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
43739         the particular module is requested. Add a link warning when the
43740         particular module is not requested.
43741         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
43742         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
43743         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
43744         the particular module is requested.
43745         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
43746         gl_SYS_SOCKET_H_DEFAULTS): New macros.
43747         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
43748         * modules/sys_socket (Depends-on): Add link-warning.
43749         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
43750         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
43751         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
43752         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
43753         GL_LINK_WARNING.
43754         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
43755         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
43756         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
43757         * doc/posix-functions/getpeername.texi: Mention the new module
43758         'getpeername'.
43759         * doc/posix-functions/getsockname.texi: Mention the new module
43760         'getsockname'.
43761         * doc/posix-functions/getsockopt.texi: Mention the new module
43762         'getsockopt'.
43763         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
43764         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
43765         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
43766         * doc/posix-functions/send.texi: Mention the new module 'send'.
43767         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
43768         * doc/posix-functions/setsockopt.texi: Mention the new module
43769         'setsockopt'.
43770         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
43771         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
43772         listen, connect, accept.
43773         * modules/select-tests (Depends-on): Likewise.
43774
43775 2008-10-05  Bruno Haible  <bruno@clisp.org>
43776
43777         * lib/winsock.c (strerror): Remove unused #undef.
43778         (rpl_close): Remove unused local variable.
43779
43780         * modules/sys_socket (Depends-on); Add errno.
43781
43782 2008-10-05  Bruno Haible  <bruno@clisp.org>
43783
43784         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
43785         (select): Add a link warning when the 'select' module is not used.
43786         * modules/sys_select (Depends-on): Add link-warning.
43787         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
43788         Suggested by Paolo Bonzini.
43789
43790 2008-10-05  Jim Meyering  <meyering@redhat.com>
43791
43792         bootstrap: check for LT_INIT more portably
43793         * build-aux/bootstrap: Avoid using grep -E, since it's not
43794         portable enough.  Suggestion from Bruno Haible.
43795
43796 2008-10-05  Bruno Haible  <bruno@clisp.org>
43797
43798         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
43799         as being fixed by gnulib.
43800
43801 2008-10-05  Bruno Haible  <bruno@clisp.org>
43802
43803         * modules/select-tests: New file, mostly copied from
43804         modules/sys_select-tests.
43805         * tests/test-select.c: New file, mostly copied from
43806         tests/test-sys_select.c.
43807         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
43808         * modules/sys_select-tests (Depends-on): Remove all dependencies.
43809         (Makefile.am): Remove test_sys_select_LDADD.
43810
43811         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
43812         to an undefined symbol, for an error message.
43813         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
43814         (gl_SYS_SELECT_H_DEFAULTS): New macro.
43815         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
43816         winsock-select.c here.
43817         * modules/sys_select (Files): Remove lib/winsock-select.c.
43818         (Depends-on): Remove alloca.
43819         (Makefile.am): Substitute GNULIB_SELECT.
43820         * modules/select: New file.
43821         * doc/posix-functions/select.texi: Update.
43822
43823 2008-10-05  Bruno Haible  <bruno@clisp.org>
43824
43825         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
43826         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
43827         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
43828         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
43829         getdtablesize.
43830         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
43831         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
43832
43833 2008-10-05  Bruno Haible  <bruno@clisp.org>
43834
43835         * modules/getdtablesize-tests: New file.
43836         * tests/test-getdtablesize.c: New file.
43837
43838         New module 'getdtablesize'.
43839         * lib/unistd.in.h (getdtablesize): New declaration.
43840         * lib/getdtablesize.c: New file.
43841         * m4/getdtablesize.m4: New file.
43842         * modules/getdtablesize: New file.
43843         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43844         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
43845         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
43846         HAVE_GETDTABLESIZE.
43847         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
43848
43849 2008-10-05  Bruno Haible  <bruno@clisp.org>
43850
43851         * modules/sched (Makefile.am): Fix typo.
43852         Reported by Simon Josefsson.
43853
43854 2008-10-05  Jim Meyering  <meyering@redhat.com>
43855
43856         bootstrap: check for LT_INIT, too
43857         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
43858         are deprecated.  Suggestion from Ralf Wildenhues.
43859
43860 2008-10-05  Bruno Haible  <bruno@clisp.org>
43861
43862         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
43863         overriding them by ours.
43864         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
43865
43866 2008-10-05  Jim Meyering  <meyering@redhat.com>
43867
43868         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
43869         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
43870         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
43871
43872 2008-10-04  Bruno Haible  <bruno@clisp.org>
43873
43874         * modules/dup2 (License): Change to LGPLv2+.
43875         * modules/sleep (License): Likewise.
43876         * modules/perror (License): Likewise.
43877         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
43878         Blake.
43879         * modules/signal (License): Likewise.
43880         * modules/sigprocmask (License): Likewise.
43881         * modules/raise (License): Change to LGPLv2+, with approval by Jim
43882         Meyering.
43883
43884 2008-10-04  Bruno Haible  <bruno@clisp.org>
43885
43886         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
43887         Reported by Rainer Tammer <tammer@tammer.net>.
43888
43889 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
43890             Bruno Haible  <bruno@clisp.org>
43891
43892         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
43893         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
43894         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
43895
43896 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
43897
43898         filevercmp: new module
43899         * lib/filevercmp.h: New function filevercmp comparing version strings.
43900         * lib/filevercmp.c: Implementation of filevercmp function.
43901         * modules/filevercmp: Module metadata.
43902         * tests/test-filevercmp.c: Unit test for new module.
43903         * modules/filevercmp-tests: Unit test metadata.
43904         * MODULES.html.sh: Add filevercmp module.
43905
43906 2008-10-03  Bruno Haible  <bruno@clisp.org>
43907
43908         * lib/c-ctype.h: Add comment.
43909         Reported by Jim Meyering.
43910
43911 2008-10-02  Bruno Haible  <bruno@clisp.org>
43912
43913         * modules/posix_spawn-internal (Depends-on): Add 'open'.
43914
43915 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
43916
43917         * build-aux/bootstrap: Allow renaming bootstrap, and change the
43918         name of bootstrap.conf accordingly.
43919
43920 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
43921
43922         * build-aux/bootstrap: Install git-merge-changelog configuration
43923         items into .gitconfig if needed.
43924
43925 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
43926
43927         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
43928         git repository, and initialize/update it accordingly.
43929
43930 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
43931
43932         * modules/fsync-tests: New file.
43933         * tests/test-fsync.c: New file.
43934
43935         New module 'fsync'.
43936         * lib/fsync.c: New file.
43937         * m4/fsync.m4: New file.
43938         * modules/fsync: New file.
43939         * lib/unistd.in.h (fsync): New declaration.
43940         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
43941         GNULIB_FSYNC and HAVE_FSYNC.
43942         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
43943         * MODULES.html.sh (posix_functions): Add fsync.
43944         * doc/posix-functions/fsync.texi: Mention the new module.
43945
43946 2008-10-02  Jim Meyering  <meyering@redhat.com>
43947
43948         fts.c: sync with similar code from coreutils' remove.c
43949         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
43950         Guard also with "#if defined __linux__", since for now at least,
43951         this code is Linux-kernel-specific.
43952
43953 2008-10-02  Jim Meyering  <meyering@redhat.com>
43954
43955         fts: bug fixes
43956         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
43957         Include <sys/vfs.h>, not <sys/statfs.h>.
43958
43959         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
43960         Include <sys/vfs.h>, not <sys/statfs.h>.
43961
43962 2008-10-01  Bruno Haible  <bruno@clisp.org>
43963
43964         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
43965         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
43966         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
43967         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
43968         * doc/posix-functions/posix_spawnp.texi: Likewise.
43969         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
43970         whether posix_spawn actually works.
43971         * m4/pipe.m4 (gl_PIPE): Likewise.
43972         * modules/execute (Files): Add m4/posix_spawn.m4.
43973         * modules/pipe (Files): Add m4/posix_spawn.m4.
43974         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
43975
43976 2008-10-01  Jim Meyering  <meyering@redhat.com>
43977
43978         remove trailing spaces
43979         * NEWS: Likewise.
43980         * lib/poll.c (poll): Likewise.
43981         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
43982         * lib/winsock.c (rpl_close): Likewise.
43983         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
43984         * modules/yield: Likewise.
43985         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
43986         * tests/test-sys_select.c (connect_to_socket): Likewise.
43987
43988         fts.c: adjust a new interface to be more generally useful
43989         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
43990         (fts_build): Adjust caller.
43991
43992 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43993
43994         * modules/cond-tests: New file.
43995         * tests/test-cond.c: New file.
43996
43997 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43998             Bruno Haible  <bruno@clisp.org>
43999
44000         * modules/cond (Dependencies): Add errno, time.
44001         * lib/glthread/cond.h: Include <time.h>.
44002         (gl_cond_define, gl_cond_define_initialized): Use the same definition
44003         across platforms.
44004
44005 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44006             Bruno Haible  <bruno@clisp.org>
44007
44008         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
44009
44010 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44011             Bruno Haible  <bruno@clisp.org>
44012
44013         * modules/tls-tests (Depends-on): Add thread, yield.
44014         (configure.ac): Remove all checks.
44015         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
44016         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
44017         gl_thread_self): Remove definitions. Include glthread/thread.h and
44018         glthread/yield.h instead.
44019         (test_tls): Pass an additional NULL argument to gl_thread_join.
44020
44021 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44022             Bruno Haible  <bruno@clisp.org>
44023
44024         * modules/lock-tests (Depends-on): Add thread, yield.
44025         (configure.ac): Remove all checks.
44026         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
44027         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
44028         gl_thread_self): Remove definitions. Include glthread/thread.h and
44029         glthread/yield.h instead.
44030         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
44031         additional NULL argument to gl_thread_join.
44032
44033 2008-09-30  Bruno Haible  <bruno@clisp.org>
44034
44035         Fix the Win32 implementation of the 'thread' module.
44036         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
44037         pointer type.
44038         (gl_thread_self): Invoke gl_thread_self_func.
44039         (gl_thread_self_func): New declaration.
44040         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
44041         (do_init_self_key, init_self_key): New functions.
44042         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
44043         Remove some fields.
44044         (running_threads, running_lock): Remove variables.
44045         (get_current_thread_handle): New function.
44046         (gl_thread_self_func, wrapper_func, glthread_create_func,
44047         glthread_join_func, gl_thread_exit_func): Largely rewritten and
44048         simplified.
44049
44050 2008-09-30  Bruno Haible  <bruno@clisp.org>
44051
44052         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
44053         files.
44054
44055 2008-09-30  Jim Meyering  <meyering@redhat.com>
44056
44057         fts.m4: correct the test for statfs.f_type
44058         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
44059         when checking for statfs.f_type.
44060
44061 2008-09-15  Simon Josefsson  <simon@josefsson.org>
44062
44063         tests: avoid some compiler warnings
44064         * tests/test-memchr.c (main): Pass NULL indirectly.
44065         * tests/test-getdate.c (main): Remove unused variable 'ret'.
44066
44067 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
44068
44069         getdate.y: disallow countable dayshifts like "4 yesterday ago"
44070         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
44071         exactly specified dayshifts.
44072         (dayshift): New rule.
44073         (rel): Add dayshift.
44074         (relative_time_table) [tomorrow, yesterday, today, now]:
44075         Use tDAY_SHIFT in place of tDAY_UNIT.
44076         * tests/test-getdate.c: Add tests for now-disallowed countable
44077         dayshifts, e.g., "4 yesterday ago".
44078
44079 2008-09-29  Bruno Haible  <bruno@clisp.org>
44080
44081         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
44082         * tests/test-posix_spawn1.in.sh: Renamed from
44083         tests/test-posix_spawn.in.sh.
44084         * tests/test-posix_spawn2.c: New file.
44085         * tests/test-posix_spawn2.in.sh: New file.
44086         * modules/posix_spawnp-tests (Files): Update.
44087         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
44088
44089 2008-09-29  Bruno Haible  <bruno@clisp.org>
44090
44091         Propagate effects of putenv/setenv/unsetenv to child processes.
44092         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
44093         * lib/pipe.c (create_pipe): Likewise.
44094
44095 2008-09-29  Bruno Haible  <bruno@clisp.org>
44096
44097         Enable use of shell scripts as executables in mingw.
44098         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
44099         run the program as a shell script.
44100         * lib/pipe.c (create_pipe): Likewise.
44101         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
44102         resulting array.
44103
44104 2008-09-29  Eric Blake  <ebb9@byu.net>
44105
44106         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
44107
44108 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
44109
44110         * doc/posix-functions/accept.texi: Update mingw problems.
44111         * doc/posix-functions/bind.texi: Update mingw problems.
44112         * doc/posix-functions/close.texi: Update mingw problems.
44113         * doc/posix-functions/connect.texi: Update mingw problems.
44114         * doc/posix-functions/getpeername.texi: Update mingw problems.
44115         * doc/posix-functions/getsockname.texi: Update mingw problems.
44116         * doc/posix-functions/getsockopt.texi: Update mingw problems.
44117         * doc/posix-functions/ioctl.texi: Update mingw problems.
44118         * doc/posix-functions/listen.texi: Update mingw problems.
44119         * doc/posix-functions/recv.texi: Update mingw problems.
44120         * doc/posix-functions/recvfrom.texi: Update mingw problems.
44121         * doc/posix-functions/select.texi: Update mingw problems.
44122         * doc/posix-functions/send.texi: Update mingw problems.
44123         * doc/posix-functions/sendto.texi: Update mingw problems.
44124         * doc/posix-functions/setsockopt.texi: Update mingw problems.
44125         * doc/posix-functions/socket.texi: Update mingw problems.
44126
44127 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
44128             Bruno Haible  <bruno@clisp.org>
44129
44130         * lib/sys_select.in.h: Include sys/time.h.
44131         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
44132         * modules/sys_select: Depend on sys_time.
44133         * tests/test-sys_select.c: Test that sys/select.h defines struct
44134         timeval fully.
44135
44136 2008-09-29  Bruno Haible  <bruno@clisp.org>
44137
44138         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
44139         * lib/sys_select.in.h: Likewise.
44140
44141 2008-09-29  Bruno Haible  <bruno@clisp.org>
44142
44143         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
44144
44145 2008-09-29  Bruno Haible  <bruno@clisp.org>
44146
44147         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
44148         Set LIBSOCKET instead of augmenting LIBS.
44149         * modules/sockets (Link): New section.
44150         * modules/sockets-tests (test_sockets_LDADD): New variable.
44151         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
44152         * modules/poll-tests (test_poll_LDADD): New variable.
44153         * NEWS: Document the change.
44154
44155 2008-09-29  Bruno Haible  <bruno@clisp.org>
44156
44157         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
44158         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
44159         ARPA_INET_H directly.
44160         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
44161
44162 2008-09-28  Bruno Haible  <bruno@clisp.org>
44163
44164         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
44165         from gl_HEADER_SYS_SOCKET.
44166         (gl_HEADER_SYS_SOCKET): Invoke it.
44167         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
44168
44169 2008-09-28  Bruno Haible  <bruno@clisp.org>
44170
44171         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
44172         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
44173         Needed on OSF/1 4.0.
44174
44175 2008-09-28  Bruno Haible  <bruno@clisp.org>
44176
44177         Override open more carefully.
44178         * lib/open.c (orig_open): New function.
44179         (rpl_open): Use orig_open instead of open.
44180         * lib/fcntl.in.h: Add special invocation convention.
44181         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
44182         (gl_FUNC_OPEN): Invoke it.
44183
44184         Override freopen more carefully.
44185         * lib/freopen.c (orig_freopen): New function.
44186         (rpl_freopen): Use orig_freopen instead of freopen.
44187         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
44188         (gl_FUNC_FREOPEN): Invoke it.
44189
44190         Override fopen more carefully.
44191         * lib/fopen.c (orig_fopen): New function.
44192         (rpl_fopen): Use orig_fopen instead of fopen.
44193         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
44194         (gl_FUNC_FOPEN): Invoke it.
44195         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
44196
44197 2008-09-28  Bruno Haible  <bruno@clisp.org>
44198
44199         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
44200         SIGPIPE.
44201
44202 2008-09-28  Bruno Haible  <bruno@clisp.org>
44203
44204         * tests/test-sigaction.c (handler, main): Disable the check whether
44205         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
44206         glibc systems with LinuxThreads.
44207
44208 2008-09-28  Bruno Haible  <bruno@clisp.org>
44209
44210         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
44211
44212         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
44213         with AIX xlc.
44214         * lib/fcntl.in.h (open): Likewise.
44215         Reported by Rainer Tammer <tammer@tammer.net>.
44216
44217 2008-09-28  Bruno Haible  <bruno@clisp.org>
44218
44219         * modules/posix_spawnp-tests: New file.
44220         * tests/test-posix_spawn.c: New file.
44221         * tests/test-posix_spawn.in.sh: New file.
44222
44223         New module 'posix_spawnp'.
44224         * modules/posix_spawnp: New file.
44225         * lib/spawnp.c: New file, from GNU libc with modifications.
44226         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
44227
44228         New module 'posix_spawn'.
44229         * modules/posix_spawn: New file.
44230         * lib/spawn.c: New file, from GNU libc with modifications.
44231         * doc/posix-functions/posix_spawn.texi: Mention the new module.
44232
44233         New module 'posix_spawnattr_destroy'.
44234         * modules/posix_spawnattr_destroy: New file.
44235         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
44236         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
44237         module.
44238
44239         New module 'posix_spawnattr_setsigmask'.
44240         * modules/posix_spawnattr_setsigmask: New file.
44241         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
44242         modifications.
44243         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
44244         new module.
44245
44246         New module 'posix_spawnattr_getsigmask'.
44247         * modules/posix_spawnattr_getsigmask: New file.
44248         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
44249         modifications.
44250         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
44251         new module.
44252
44253         New module 'posix_spawnattr_setsigdefault'.
44254         * modules/posix_spawnattr_setsigdefault: New file.
44255         * lib/spawnattr_setdefault.c: New file, from GNU libc with
44256         modifications.
44257         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
44258         new module.
44259
44260         New module 'posix_spawnattr_getsigdefault'.
44261         * modules/posix_spawnattr_getsigdefault: New file.
44262         * lib/spawnattr_getdefault.c: New file, from GNU libc with
44263         modifications.
44264         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
44265         new module.
44266
44267         New module 'posix_spawnattr_setschedpolicy'.
44268         * modules/posix_spawnattr_setschedpolicy: New file.
44269         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
44270         modifications.
44271         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
44272         new module.
44273
44274         New module 'posix_spawnattr_getschedpolicy'.
44275         * modules/posix_spawnattr_getschedpolicy: New file.
44276         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
44277         modifications.
44278         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
44279         new module.
44280
44281         New module 'posix_spawnattr_setschedparam'.
44282         * modules/posix_spawnattr_setschedparam: New file.
44283         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
44284         modifications.
44285         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
44286         new module.
44287
44288         New module 'posix_spawnattr_getschedparam'.
44289         * modules/posix_spawnattr_getschedparam: New file.
44290         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
44291         modifications.
44292         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
44293         new module.
44294
44295         New module 'posix_spawnattr_setpgroup'.
44296         * modules/posix_spawnattr_setpgroup: New file.
44297         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
44298         modifications.
44299         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
44300         module.
44301
44302         New module 'posix_spawnattr_getpgroup'.
44303         * modules/posix_spawnattr_getpgroup: New file.
44304         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
44305         modifications.
44306         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
44307         module.
44308
44309         New module 'posix_spawnattr_setflags'.
44310         * modules/posix_spawnattr_setflags: New file.
44311         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
44312         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
44313         module.
44314
44315         New module 'posix_spawnattr_getflags'.
44316         * modules/posix_spawnattr_getflags: New file.
44317         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
44318         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
44319         module.
44320
44321         New module 'posix_spawnattr_init'.
44322         * modules/posix_spawnattr_init: New file.
44323         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
44324         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
44325         module.
44326
44327         New module 'posix_spawn_file_actions_destroy'.
44328         * modules/posix_spawn_file_actions_destroy: New file.
44329         * lib/spawn_faction_destroy.c: New file, from GNU libc with
44330         modifications.
44331         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
44332         the new module.
44333
44334         New module 'posix_spawn_file_actions_addopen'.
44335         * modules/posix_spawn_file_actions_addopen: New file.
44336         * lib/spawn_faction_addopen.c: New file, from GNU libc with
44337         modifications.
44338         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
44339         the new module.
44340
44341         New module 'posix_spawn_file_actions_adddup2'.
44342         * modules/posix_spawn_file_actions_adddup2: New file.
44343         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
44344         modifications.
44345         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
44346         the new module.
44347
44348         New module 'posix_spawn_file_actions_addclose'.
44349         * modules/posix_spawn_file_actions_addclose: New file.
44350         * lib/spawn_faction_addclose.c: New file, from GNU libc with
44351         modifications.
44352         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
44353         the new module.
44354
44355         New module 'posix_spawn_file_actions_init'.
44356         * modules/posix_spawn_file_actions_init: New file.
44357         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
44358         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
44359         new module.
44360
44361         New module 'posix_spawn-internal'.
44362         * modules/posix_spawn-internal: New file.
44363         * lib/spawn_int.h: New file, from GNU libc with modifications.
44364         * lib/spawni.c: New file, from GNU libc with modifications.
44365         * m4/posix_spawn.m4: New file.
44366
44367         New module 'spawn'.
44368         * modules/spawn: New file.
44369         * lib/spawn.in.h: New file, from GNU libc with modifications.
44370         * m4/spawn_h.m4: New file.
44371         * doc/posix-headers/spawn.texi: Mention the new module.
44372
44373 2008-09-28  Bruno Haible  <bruno@clisp.org>
44374
44375         * modules/sched-tests: New file.
44376         * tests/test-sched.c: New file.
44377
44378         New module 'sched'.
44379         * modules/sched: New file.
44380         * lib/sched.in.h: New file.
44381         * m4/sched_h.m4: New file.
44382         * doc/posix-headers/sched.texi: Mention the new module.
44383
44384 2008-09-27  Eric Blake  <ebb9@byu.net>
44385
44386         Fix previous patch, and tweak references to $0.
44387         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
44388         (func_version, func_gnulib_dir): Don't call this program
44389         gnulib-tool.
44390         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
44391         with using $0 in function.
44392         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
44393         (func_fatal_error): Reuse the name the user invoked us with.
44394
44395 2008-09-27  Bruno Haible  <bruno@clisp.org>
44396
44397         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
44398         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
44399         (gl_ICONV_H): Not here.
44400         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
44401         instead of assigning ICONV_H directly.
44402
44403         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
44404         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
44405         WCHAR_H directly.
44406
44407 2008-09-27  Bruno Haible  <bruno@clisp.org>
44408
44409         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
44410         * modules/arpa_inet (Depends-on): Add link-warning.
44411         (Makefile.am): Insert the definition of GL_LINK-WARNING.
44412         * modules/unistd (Makefile.am): Likewise.
44413
44414 2008-09-26  Bruno Haible  <bruno@clisp.org>
44415
44416         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
44417         variables.
44418         (func_version): Essentially copied from gnulib-tool.
44419         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
44420         func_readlink): Copied from gnulib-tool.
44421
44422 2008-09-26  Bruno Haible  <bruno@clisp.org>
44423
44424         * gnulib-tool (func_version): Change directory to $gnulib_dir before
44425         invoking git-version-gen.
44426
44427 2008-09-26  Bruno Haible  <bruno@clisp.org>
44428
44429         * posix-modules: Update to directory names changed on 2008-01-19.
44430         Remove commas in output before splitting into words. No more need to
44431         avoid 'ftruncate' since 2007-02-19.
44432
44433 2008-09-26  Bruno Haible  <bruno@clisp.org>
44434
44435         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
44436
44437 2008-09-26  Bruno Haible  <bruno@clisp.org>
44438
44439         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
44440         * modules/fwriteerror (Depends-on): Add errno.
44441
44442 2008-09-26  Bruno Haible  <bruno@clisp.org>
44443
44444         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
44445         * tests/test-vc-list-files-cvs.sh: Likewise.
44446
44447 2008-09-26  Bruno Haible  <bruno@clisp.org>
44448
44449         * doc/posix-headers/sys_resource.texi: Reorder items.
44450
44451 2008-09-26  Jim Meyering  <meyering@redhat.com>
44452
44453         fts: tweak inode comparison function
44454         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
44455         inode numbers, as documented.
44456
44457         fts: sort dirent entries on inode number before traversing
44458         This avoids a quadratic, seek-related performance penalty when
44459         operating on a directory containing many entries (measurable at 10k;
44460         3.5 hours at 2 million entries with a cold cache) on certain types
44461         of file systems, including ext3 and ext4, but not tmpfs.
44462         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
44463         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
44464         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
44465         (fs_handles_readdir_ordered_dirents_efficiently): New function.
44466         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
44467         (fts_build): Set the stat.st_ino member from D_INO.
44468         If it is likely to be useful, sort dirent entries on inode number.
44469
44470         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
44471         and the struct statfs.f_type member.
44472         * modules/fts (Depends-on): Add d-ino.
44473
44474 2008-09-26  Bruno Haible  <bruno@clisp.org>
44475
44476         * modules/sigpipe-die (Depends-on): Add sigpipe.
44477
44478         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
44479         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
44480         and GNULIB_STDIO_H_SIGPIPE are set.
44481         * lib/stdio-write.c: New file.
44482         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
44483         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
44484         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
44485         REPLACE_STDIO_WRITE_FUNCS.
44486         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
44487         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
44488         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
44489         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
44490         * modules/stdio (Files): Add lib/stdio-write.c.
44491         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
44492         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
44493         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
44494         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
44495         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
44496         REPLACE_FPRINTF_POSIX.
44497         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
44498         REPLACE_PRINTF_POSIX.
44499         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
44500         REPLACE_VFPRINTF_POSIX.
44501         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
44502         REPLACE_VPRINTF_POSIX.
44503         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
44504         SIGPIPE issue.
44505         * doc/posix-functions/fputc.texi: Likewise.
44506         * doc/posix-functions/fputs.texi: Likewise.
44507         * doc/posix-functions/fwrite.texi: Likewise.
44508         * doc/posix-functions/printf.texi: Likewise.
44509         * doc/posix-functions/putc.texi: Likewise.
44510         * doc/posix-functions/putchar.texi: Likewise.
44511         * doc/posix-functions/puts.texi: Likewise.
44512         * doc/posix-functions/vfprintf.texi: Likewise.
44513         * doc/posix-functions/vprintf.texi: Likewise.
44514
44515         * modules/safe-write (Depends-on): Add write.
44516
44517         * modules/sigpipe-tests: New file.
44518         * tests/test-sigpipe.c: New file.
44519         * tests/test-sigpipe.sh: New file.
44520
44521         * modules/write: New file.
44522         * lib/unistd.in.h: Include <sys/types.h>.
44523         (write): New declaration.
44524         * lib/write.c: New file.
44525         * m4/write.m4: New file.
44526         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44527         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
44528         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
44529         GNULIB_WRITE, REPLACE_WRITE.
44530         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
44531         and the SIGPIPE issue.
44532
44533         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
44534         (raise): New declaration.
44535         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
44536         (ext_signal): New function.
44537         (rpl_raise): New function.
44538         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
44539         GNULIB_SIGNAL_H_SIGPIPE.
44540         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
44541         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
44542
44543         * modules/sigpipe: New file.
44544         * m4/sigpipe.m4: New file.
44545
44546 2008-09-25  Derek Price  <derek@ximbiot.com>
44547             Bruno Haible  <bruno@clisp.org>
44548
44549         * gnulib-tool (func_import): Report all license incompatibilities, not
44550         just the first one.
44551
44552 2008-09-25  Bruno Haible  <bruno@clisp.org>
44553
44554         * gnulib-tool (func_import): When computing the edits, consider not
44555         only the Makefile.ams that exist but also those that will be generated.
44556
44557 2008-09-25  Simon Josefsson  <simon@josefsson.org>
44558
44559         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
44560         fixes gnulib-tool --test warning about duplicate dependency.
44561
44562 2008-09-25  Bruno Haible  <bruno@clisp.org>
44563
44564         * gnulib-tool: Don't ask the user to perform edits in the generated
44565         Makefile.ams.
44566         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
44567         apply to the Makefile.am being generated.
44568         (func_emit_tests_Makefile_am): Execute edits that apply to the
44569         Makefile.am being generated.
44570         (func_import): Setup list of Makefile.am edits before emitting the
44571         Makefile.ams, not at the end.
44572         (func_create_testdir): Update.
44573         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44574
44575 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44576
44577         * gnulib-tool (func_import): Store the --tests-base option in the
44578         comment in gnulib-cache.m4.
44579
44580 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
44581
44582         * NEWS: Document increased portability that sys_select now provides.
44583
44584         * lib/sys_select.in.h: Install select wrapper.
44585         * lib/sys_socket.in.h: Use more descriptive name when there is no
44586         select wrapper.
44587         * lib/winsock-select.c: New.
44588         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
44589         Require gl_HEADER_SYS_SOCKET.
44590         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
44591         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
44592         * tests/test-sys_select.c: Add functional tests.
44593
44594 2008-09-24  Eric Blake  <ebb9@byu.net>
44595
44596         open, fopen: close fd leak in last patch
44597         * lib/open.c (rpl_open): Close fd before returning error.
44598         * lib/fopen.c (rpl_fopen): Close fd before returning error.
44599         * doc/posix-functions/open.texi (open): Document that Irix also
44600         has the bug.
44601         * doc/posix-functions/fopen.texi (fopen): Likewise.
44602         Reported by Paolo Bonzini.
44603
44604 2008-09-24  Bruno Haible  <bruno@clisp.org>
44605
44606         Ensure that a filename ending in a slash cannot be used to access a
44607         non-directory.
44608         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
44609         to check whether it's really a directory.
44610         * lib/fopen.c: Include fcntl.h, unistd.h.
44611         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
44612         and fdopen().
44613         * modules/fopen (Depends-on): Add unistd.
44614         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
44615         * tests/test-fopen.c (main): Likewise.
44616         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
44617         * doc/posix-functions/fopen.texi: Likewise.
44618         Reported by Eric Blake.
44619
44620 2008-09-23  Eric Blake  <ebb9@byu.net>
44621
44622         c-stack: avoid compiler optimizations when provoking overflow
44623         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
44624         recursion harder to optimize, to ensure a stack overflow occurs.
44625         * tests/test-c-stack.c (recurse): Likewise.
44626         Borrowed from libsigsegv.
44627
44628         c-stack: work around Irix sigaltstack bug
44629         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
44630         whether sigaltstack uses wrong end of stack_t (copied in part from
44631         libsigsegv).
44632         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
44633         Irix bug, without requiring an over-allocation.
44634         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
44635         bug.
44636
44637         fopen: document mingw bug on directories
44638         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
44639         not allowing a stream visiting a directory, even though reading
44640         from such a stream is not portable.
44641
44642 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
44643
44644         * lib/poll.c: Rewrite.
44645         * modules/poll: Depend on alloca.
44646
44647 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
44648
44649         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
44650         instead define prototypes for a full set of wrappers.  Ensure
44651         that Cygwin does not use the compatibility code, which is only
44652         for MinGW.
44653         * lib/winsock.c: New.
44654         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
44655         * modules/sys_socket: Add lib/winsock.c.
44656
44657         * modules/poll-tests: Add errno and perror.
44658         * tests/test-poll.c: Use ioctl, not ioctlsocket.
44659
44660 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
44661
44662         * tests/test-poll.c: Downgrade minimum needed Winsock version.
44663
44664 2008-09-23  Bruno Haible  <bruno@clisp.org>
44665
44666         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
44667         * doc/glibc-functions/*: Likewise.
44668
44669 2008-09-23  Simon Josefsson  <simon@josefsson.org>
44670
44671         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
44672         success.
44673
44674 2008-09-22  Eric Blake  <ebb9@byu.net>
44675             Bruno Haible  <bruno@clisp.org>
44676
44677         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
44678         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
44679         supply %A but mishandle pseudo-NaN.
44680         Reported by Simon Josefsson.
44681
44682 2008-09-21  Bruno Haible  <bruno@clisp.org>
44683
44684         * tests/test-lock.c (main): Tweak skip message.
44685         * tests/test-tls.c (main): Likewise.
44686
44687 2008-09-21  Bruno Haible  <bruno@clisp.org>
44688
44689         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
44690         whether 'struct sigaction' has sa_sigaction here...
44691         (gl_PREREQ_SIG_HANDLER_H): ... not here.
44692         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
44693
44694 2008-09-21  Bruno Haible  <bruno@clisp.org>
44695
44696         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
44697         section.
44698         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
44699         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
44700         the new section.
44701         (Support for obsolete systems lacking POSIX:2001): New section.
44702         (String handling <string.h>): Move strdup to the new section.
44703         Suggested by Simon Josefsson and Paolo Bonzini.
44704
44705 2008-09-21  Bruno Haible  <bruno@clisp.org>
44706
44707         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
44708         exponents in %e and %g results on 'long double'. Needed for mingw's
44709         improved *printf functions.
44710         * tests/test-vasprintf-posix.c (test_function): Likewise.
44711         * tests/test-snprintf-posix.h (test_function): Likewise.
44712         * tests/test-sprintf-posix.h (test_function): Likewise.
44713         Reported by Eric Blake.
44714
44715 2008-09-21  Bruno Haible  <bruno@clisp.org>
44716
44717         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
44718         * tests/test-sprintf-posix.h (test_function): Likewise.
44719
44720 2008-09-21  Bruno Haible  <bruno@clisp.org>
44721
44722         * modules/getpass (Depends-on): Add strdup-posix.
44723
44724         New module 'strdup-posix'.
44725         * modules/strdup-posix: New file.
44726         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
44727         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
44728         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
44729         REPLACE_STRDUP.
44730         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
44731         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
44732         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44733         strdup-posix.
44734
44735         * modules/strdup (Depends-on): Remove malloc-posix.
44736
44737 2008-09-20  Bruno Haible  <bruno@clisp.org>
44738
44739         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
44740         Wildenhues.
44741
44742 2008-09-20  Bruno Haible  <bruno@clisp.org>
44743
44744         Ensure that wint_t gets defined on IRIX 5.3.
44745         * lib/wchar.in.h (wint_t): Define if not defined by the system.
44746         * lib/wctype.in.h (wint_t): Likewise.
44747         (__wctype_wint_t): Remove type.
44748         (isw*): Use wint_t instead of __wctype_wint_t.
44749         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
44750         * modules/wchar (Files): Add m4/wint_t.m4.
44751         (Makefile.am): Substitute HAVE_WINT_T.
44752         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
44753         * tests/test-wctype.c: Check that wint_t is defined.
44754         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
44755         * doc/posix-headers/wctype.texi: Likewise.
44756         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44757
44758 2008-09-18  Bruno Haible  <bruno@clisp.org>
44759
44760         * gnulib-tool (func_exit): Update comment.
44761
44762 2008-09-18  Simon Josefsson  <simon@josefsson.org>
44763
44764         * modules/getaddrinfo (Depends-on): Remove strdup, this module
44765         assumes strdup exists and does not depend on strdup to return
44766         ENOMEM on out of memory conditions.
44767
44768 2008-09-18  Bruno Haible  <bruno@clisp.org>
44769
44770         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
44771         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
44772         digits for the exponent.
44773
44774 2008-09-18  Jim Meyering  <meyering@redhat.com>
44775             Bruno Haible  <bruno@clisp.org>
44776
44777         * lib/vasnprintf.c (decimal_point_char): Define also if
44778         NEED_PRINTF_INFINITE_LONG_DOUBLE.
44779
44780 2008-09-16  Bruno Haible  <bruno@clisp.org>
44781         and Eric Blake  <ebb9@byu.net>
44782
44783         vasnprintf: support Irix 5.3
44784         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
44785         that mishandle long double infinity.
44786         Reported by Tom G. Christensen.
44787
44788 2008-09-16  Bruno Haible  <bruno@clisp.org>
44789
44790         * doc/glibc-functions/scandir.texi: Mention the function is missing on
44791         Solaris 9.
44792         * doc/glibc-functions/alphasort.texi: Likewise.
44793         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
44794
44795 2008-09-16  Jim Meyering  <meyering@redhat.com>
44796
44797         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
44798         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
44799         a umask modification leak out of a subshell.  Otherwise, the
44800         opensolaris /bin/sh would be accepted and thus cause unwarranted
44801         failures in the coreutils test suite.
44802
44803 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
44804
44805         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
44806         to succeed.
44807
44808 2008-09-16  Jim Meyering  <meyering@redhat.com>
44809
44810         avoid spurious test failure when library is built without ACL support
44811         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
44812         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
44813         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
44814         * tests/test-copy-acl.sh: Likewise.
44815
44816 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44817
44818         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
44819         based on character occurrence counts.
44820
44821 2008-09-15  Eric Blake  <ebb9@byu.net>
44822
44823         tests: avoid some compiler warnings
44824         * tests/test-memchr.c (main): Pass NULL indirectly.
44825         * tests/test-closein.c (main): Avoid unused variable.
44826
44827 2008-09-15  Bruno Haible  <bruno@clisp.org>
44828
44829         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
44830         are missing on OpenBSD 4.0 individually.
44831         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44832
44833 2008-09-15  Bruno Haible  <bruno@clisp.org>
44834
44835         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
44836         * doc/posix-functions/strerror.texi: Mention also Cygwin.
44837         * doc/posix-functions/perror.texi: Likewise.
44838         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
44839         is missing.
44840         Reported by Eric Blake.
44841
44842         * lib/errno.in.h: Use replacement values >= 2000.
44843         Reported by Eric Blake.
44844
44845 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44846
44847         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
44848         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
44849         limit.
44850         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
44851         compareseq was aborted.
44852
44853 2008-09-14  Bruno Haible  <bruno@clisp.org>
44854
44855         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
44856         yvec_edit_count.
44857         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
44858         (fstrcmp_bounded): Simplify result computation accordingly.
44859
44860 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44861
44862         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
44863         (fstrcmp): Define in terms of fstrcmp_bounded.
44864         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
44865         lower_bound argument.
44866         Return quickly if the result is certainly < lower_bound.
44867         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
44868
44869 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44870
44871         * lib/diffseq.h (EARLY_ABORT): New macro.
44872         (compareseq): Change return type to bool. Return true when EARLY_ABORT
44873         evaluates to true.
44874
44875 2008-09-14  Bruno Haible  <bruno@clisp.org>
44876
44877         * modules/perror-tests: New file.
44878         * tests/test-perror.sh: New file.
44879         * tests/test-perror.c: New file.
44880
44881         New module 'perror'.
44882         * lib/stdio.in.h (perror): New declaration.
44883         * lib/perror.c: New file.
44884         * m4/perror.m4: New file.
44885         * modules/perror: New file.
44886         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
44887         * doc/posix-functions/perror.texi: Mention the perror module.
44888         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
44889         REPLACE_PERROR.
44890         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
44891         REPLACE_PERROR.
44892
44893 2008-09-14  Bruno Haible  <bruno@clisp.org>
44894
44895         * modules/stdio (Makefile.am): Reorder to match the order in
44896         lib/stdio.in.h.
44897         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
44898
44899 2008-09-13  Bruno Haible  <bruno@clisp.org>
44900
44901         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
44902
44903 2008-09-13  Bruno Haible  <bruno@clisp.org>
44904
44905         Extend strerror to cover the added errno values.
44906         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
44907         (rpl_strerror): Provide error messages for the added errno values and
44908         for the WSA* values.
44909         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
44910         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
44911         strerror.
44912         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
44913         * modules/strerror (Depends-on): Add errno.
44914         * doc/posix-functions/strerror.texi: Document the change.
44915         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
44916         and EOVERFLOW.
44917
44918 2008-09-13  Bruno Haible  <bruno@clisp.org>
44919
44920         * modules/EOVERFLOW: Remove file.
44921         * m4/eoverflow.m4: Remove file.
44922         * modules/EOVERFLOW-tests: Remove file.
44923         * tests/test-EOVERFLOW.c: Remove file.
44924         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
44925         * modules/ftell (Depends-on): Likewise.
44926         * modules/getdelim (Depends-on): Likewise.
44927         * modules/getugroups (Depends-on): Likewise.
44928         * modules/poll (Depends-on): Likewise.
44929         * modules/snprintf (Depends-on): Likewise.
44930         * modules/sprintf-posix (Depends-on): Likewise.
44931         * modules/vasnprintf (Depends-on): Likewise.
44932         * modules/vasprintf (Depends-on): Likewise.
44933         * modules/vfprintf-posix (Depends-on): Likewise.
44934         * modules/vsnprintf (Depends-on): Likewise.
44935         * modules/vsprintf-posix (Depends-on): Likewise.
44936         * modules/xvasprintf (Depends-on): Likewise.
44937         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
44938         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
44939         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
44940         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
44941         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44942         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
44943         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
44944         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
44945         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44946         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
44947         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
44948         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
44949         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44950         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
44951         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
44952         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
44953         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44954         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
44955         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
44956         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
44957         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44958         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
44959         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
44960         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
44961         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
44962         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44963         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
44964         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
44965         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
44966         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
44967         * MODULES.html.sh: Remove EOVERFLOW.
44968         * NEWS: Mention the change.
44969
44970 2008-09-13  Bruno Haible  <bruno@clisp.org>
44971
44972         * modules/errno-tests: New file.
44973         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
44974
44975         * lib/errno.in.h: New file.
44976         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
44977         * modules/errno: New file.
44978         * doc/posix-headers/errno.texi: Update documentation.
44979         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
44980
44981 2008-09-13  Bruno Haible  <bruno@clisp.org>
44982
44983         * tests/test-poll.c: Use #if for native Windows, rather than testing
44984         __MSVCRT__.
44985
44986 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44987             Bruno Haible  <bruno@clisp.org>
44988
44989         * lib/glob.c: Don't include <pwd.h> on native Windows.
44990         (WINDOWS32): New macro.
44991         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
44992
44993 2008-09-13  Bruno Haible  <bruno@clisp.org>
44994
44995         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
44996         (ETIMEDOUT): Remove macro.
44997         (glthread_cond_timedwait_multithreaded): New declaration.
44998         (glthread_cond_timedwait): Use it.
44999         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
45000         (glthread_cond_timedwait_multithreaded): New function.
45001
45002 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
45003
45004         * modules/poll-tests: Do not check for io.h.
45005         * tests/test-poll.c: Check for __MSVCRT__ instead.
45006
45007 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
45008
45009         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
45010         * modules/poll-tests: Add inet_pton, stdbool, sockets.
45011         * tests/test-poll.c: Use them.  Use _pipe on Windows.
45012
45013 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
45014
45015         * modules/poll-tests: New.
45016         * tests/test-poll.c: New.
45017
45018 2008-09-12  Eric Blake  <ebb9@byu.net>
45019
45020         frexp: test for NetBSD failure on -0.0
45021         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
45022         not all, bugs from NetBSD 3.0 have been fixed.
45023         * doc/posix-functions/frexp.texi (frexp): Document bug.
45024         Reported by Thomas Klausner.
45025
45026         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
45027         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
45028         literal -0.0.
45029         Reported by Jonathan C. Patschke <jp@centtech.com>.
45030
45031 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45032
45033         * lib/glthread/cond.h: Use dummy implementation also if
45034         USE_WIN32_THREADS.
45035
45036 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45037
45038         * modules/fnmatch-posix (License): Change to LGPLv2+.
45039         * modules/fnmatch-gnu (License): Likewise.
45040
45041 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45042
45043         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
45044
45045 2008-09-11  Jim Meyering  <meyering@redhat.com>
45046
45047         * users.txt: Add gtk-vnc.
45048
45049 2008-09-08  Simon Josefsson  <simon@josefsson.org>
45050
45051         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
45052         rotate amounts.
45053
45054         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
45055         required for 16-bit and 8-bit rotates.
45056         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
45057         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
45058         UINT8_MAX instead of hard-coded constants.
45059         Suggested by Paul Eggert.
45060
45061 2008-09-07  Bruno Haible  <bruno@clisp.org>
45062
45063         * tests/test-striconveh.c (main): Check behaviour when converting from
45064         UTF-7.
45065
45066         Make striconveh work better with stateful encodings.
45067         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
45068         that iconv does not increment the inptr when returning -1/EINVAL.
45069
45070 2008-09-07  Bruno Haible  <bruno@clisp.org>
45071
45072         * build-aux/config.rpath: Update according to libtool-2.2.6.
45073         * build-aux/config.libpath: Likewise.
45074
45075 2008-09-06  Bruno Haible  <bruno@clisp.org>
45076
45077         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
45078         * lib/freadptr.c (freadptr): Likewise.
45079         * lib/freadseek.c (freadptrinc): Likewise.
45080         Reported by Simon Josefsson.
45081
45082 2008-09-06  Bruno Haible  <bruno@clisp.org>
45083
45084         * modules/freadptr (License): Change to LGPLv2+.
45085         * modules/freadseek (License): Likewise.
45086         Suggested by Eric Blake.
45087
45088         * modules/memchr2 (License): Change to LGPLv2+.
45089         Approved by Eric Blake.
45090
45091 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45092             Bruno Haible  <bruno@clisp.org>
45093
45094         Make gnulib-tool work with native 'sed' on AIX.
45095         * gnulib-tool (sed_noop): New variable.
45096         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
45097         func_add_or_update, func_create_testdir): Use it to initialize sed
45098         script variables.
45099         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45100
45101 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
45102             Bruno Haible  <bruno@clisp.org>
45103
45104         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
45105         also works after #include directives.
45106
45107 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
45108
45109         getdate.y: reject an out-of-range timezone value
45110         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
45111         the range [-24...+24].  When specified with only one or two digits,
45112         * tests/test-getdate.c: Tests for the fix.
45113         * doc/getdate.texi: Document this change.
45114
45115 2008-09-03  Bruno Haible  <bruno@clisp.org>
45116
45117         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
45118
45119 2008-09-02  Simon Josefsson  <simon@josefsson.org>
45120
45121         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
45122         <bruce.korb@gmail.com> with ideas from Ben Pfaff
45123         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
45124         Blake <ebb9@byu.net>.
45125
45126         * tests/test-bitrotate.c: Add more test vectors.
45127
45128 2008-09-02  Eric Blake  <ebb9@byu.net>
45129
45130         vasnprintf-posix: handle large precision via %.*d
45131         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
45132         when handling it ourselves.
45133         * tests/test-vasnprintf-posix.c (test_function): Add test.
45134         * tests/test-snprintf-posix.h (test_function): Likewise.
45135         * tests/test-sprintf-posix.h (test_function): Likewise.
45136         * tests/test-vasprintf-posix.c (test_function): Likewise.
45137         Reported by Alain Guibert.
45138
45139 2008-09-01  Eric Blake  <ebb9@byu.net>
45140
45141         c-stack: make configure-time check more robust
45142         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
45143         successful sigaction call.
45144         Reported by Tom G. Christensen.
45145
45146 2008-09-01  Bruno Haible  <bruno@clisp.org>
45147
45148         New module 'findprog-lgpl'.
45149         * modules/findprog-lgpl: New file.
45150         * lib/findprog-lgpl.c: New file.
45151         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
45152         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
45153         to decide whether to use strdup or xstrdup, concatenated_filename or
45154         xconcatenated_filename.
45155
45156 2008-09-01  Bruno Haible  <bruno@clisp.org>
45157
45158         Split module 'concat-filename' into 'concat-filename' (LGPL) and
45159         'xconcat-filename' (GPL).
45160         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
45161         (License): Change to LGPLv2+.
45162         * modules/xconcat-filename: New file.
45163         * lib/concat-filename.h (concatenated_filename): Change specification.
45164         (xconcatenated_filename): New declaration.
45165         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
45166         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
45167         memory situations.
45168         * lib/xconcat-filename.c: New file.
45169         * NEWS: Mention the change.
45170         * lib/findprog.c: Include concat-filename.h, not filename.h.
45171         (find_in_path): Use xconcatenated_filename instead of
45172         concatenated_filename.
45173         * lib/javacomp.c: Include concat-filename.h, not filename.h.
45174         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
45175         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
45176         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
45177         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
45178         instead of concatenated_filename.
45179         * lib/javaexec.c: Include concat-filename.h, not filename.h.
45180         (execute_java_class): Use xconcatenated_filename instead of
45181         concatenated_filename.
45182         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
45183         * modules/javacomp (Depends-on): Likewise.
45184         * modules/javaexec (Depends-on): Likewise.
45185
45186 2008-09-01  Bruno Haible  <bruno@clisp.org>
45187
45188         Split module 'filename' into 'filename' and 'concat-filename'.
45189         * modules/filename: Keep only lib/filename.h.
45190         (License): Change to LGPLv2+.
45191         * modules/concat-filename: New file, extracted from modules/filename.
45192         * lib/filename.h (concatenated_filename): Remove declaration.
45193         * lib/concat-filename.h: New file, extracted from lib/filename.h.
45194         * lib/concat-filename.c: Include concat-filename.h.
45195         * NEWS: Mention the change.
45196
45197 2008-09-01  Simon Josefsson  <simon@josefsson.org>
45198
45199         * lib/bitrotate.h (rotl8, rotr8): Add.
45200
45201         * modules/bitrotate (configure.ac): Need
45202         AC_REQUIRE([AC_C_INLINE]).
45203         (Description): Mention stdint.h.  Reported by Bruno Haible
45204         <bruno@clisp.org>.
45205
45206         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
45207         Paolo Bonzini <bonzini@gnu.org>.
45208
45209 2008-08-31  Bruno Haible  <bruno@clisp.org>
45210
45211         Assume Solaris specific bi-arch conventions on Solaris systems.
45212         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
45213         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
45214         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
45215         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
45216         like acl_libdirstem.
45217         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
45218         acl_libdirstem.
45219         * NEWS: Mention the change.
45220         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
45221
45222 2008-08-31  Jim Meyering  <meyering@redhat.com>
45223
45224         * lib/strftime.h: Add comments describing the two added arguments.
45225
45226         remove duplicate #include directives
45227         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
45228         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
45229
45230 2008-08-31  Bruno Haible  <bruno@clisp.org>
45231
45232         New module 'sigpipe-die'.
45233         * modules/sigpipe-die: New file.
45234         * lib/sigpipe-die.h: New file.
45235         * lib/sigpipe-die.c: New file.
45236         * MODULES.html.sh (Signal handling): Add sigpipe-die.
45237
45238 2008-08-31  Bruno Haible  <bruno@clisp.org>
45239
45240         Don't override previously installed signal handlers.
45241         * lib/fatal-signal.c (saved_sigactions): New variable.
45242         (uninstall_handlers): Reset the signal to the saved handler, not
45243         to SIG_DFL (except when ignored).
45244         (install_handlers): Save the previous handlers.
45245
45246 2008-08-30  Bruno Haible  <bruno@clisp.org>
45247
45248         * gnulib-tool (func_reset_sigpipe): New function.
45249         (func_get_automake_snippet, func_modules_transitive_closure,
45250         func_import): Invoke it before a join command that reads from stdin,
45251         to avoid "echo: write error: Broken pipe" error messages on stderr.
45252         Reported by Sam Steingold <sds@gnu.org>.
45253
45254 2008-08-30  Bruno Haible  <bruno@clisp.org>
45255
45256         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
45257         Code copied from m4/open.m4.
45258         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
45259         access and the filename ends in a slash. Code copied from lib/open.c.
45260         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
45261         * tests/test-fopen.c (main): Check against bug with trailing slash.
45262
45263 2008-08-29  Bruno Haible  <bruno@clisp.org>
45264
45265         Avoid some "gcc -pedantic" warnings.
45266         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
45267         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
45268         * lib/dirent.in.h: Likewise.
45269         * lib/fcntl.in.h: Likewise.
45270         * lib/float.in.h: Likewise.
45271         * lib/iconv.in.h: Likewise.
45272         * lib/inttypes.in.h: Likewise.
45273         * lib/locale.in.h: Likewise.
45274         * lib/math.in.h: Likewise.
45275         * lib/netinet_in.in.h: Likewise.
45276         * lib/search.in.h: Likewise.
45277         * lib/signal.in.h: Likewise.
45278         * lib/stdarg.in.h: Likewise.
45279         * lib/stdint.in.h: Likewise.
45280         * lib/stdio.in.h: Likewise.
45281         * lib/stdlib.in.h: Likewise.
45282         * lib/string.in.h: Likewise.
45283         * lib/strings.in.h: Likewise.
45284         * lib/sys_select.in.h: Likewise.
45285         * lib/sys_socket.in.h: Likewise.
45286         * lib/sys_stat.in.h: Likewise.
45287         * lib/sys_time.in.h: Likewise.
45288         * lib/sysexits.in.h: Likewise.
45289         * lib/time.in.h: Likewise.
45290         * lib/unistd.in.h: Likewise.
45291         * lib/wchar.in.h: Likewise.
45292         * lib/wctype.in.h: Likewise.
45293         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
45294         * modules/fchdir (Makefile.am): Likewise.
45295         * modules/fcntl (Makefile.am): Likewise.
45296         * modules/float (Makefile.am): Likewise.
45297         * modules/iconv_open (Makefile.am): Likewise.
45298         * modules/inttypes (Makefile.am): Likewise.
45299         * modules/locale (Makefile.am): Likewise.
45300         * modules/math (Makefile.am): Likewise.
45301         * modules/netinet_in (Makefile.am): Likewise.
45302         * modules/search (Makefile.am): Likewise.
45303         * modules/signal (Makefile.am): Likewise.
45304         * modules/stdarg (Makefile.am): Likewise.
45305         * modules/stdint (Makefile.am): Likewise.
45306         * modules/stdio (Makefile.am): Likewise.
45307         * modules/stdlib (Makefile.am): Likewise.
45308         * modules/string (Makefile.am): Likewise.
45309         * modules/strings (Makefile.am): Likewise.
45310         * modules/sys_select (Makefile.am): Likewise.
45311         * modules/sys_socket (Makefile.am): Likewise.
45312         * modules/sys_stat (Makefile.am): Likewise.
45313         * modules/sys_time (Makefile.am): Likewise.
45314         * modules/sysexits (Makefile.am): Likewise.
45315         * modules/time (Makefile.am): Likewise.
45316         * modules/unistd (Makefile.am): Likewise.
45317         * modules/wchar (Makefile.am): Likewise.
45318         * modules/wctype (Makefile.am): Likewise.
45319         Reported by Reuben Thomas <rrt@sc3d.org>.
45320
45321 2008-08-29  Bruno Haible  <bruno@clisp.org>
45322
45323         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
45324         any more.
45325
45326 2008-08-29  Simon Josefsson  <simon@josefsson.org>
45327
45328         * MODULES.html.sh (Misc): Add bitrotate.
45329
45330         * modules/bitrotate: New file.
45331
45332         * lib/bitrotate.h: New file.
45333
45334         * modules/bitrotate-tests: New file.
45335
45336         * tests/test-bitrotate.c: New file.
45337
45338         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
45339         on the bitrotate module.
45340
45341         * lib/arctwo.c: Use new bitrotate module.
45342
45343 2008-08-29  Jim Meyering  <meyering@redhat.com>
45344
45345         bootstrap: merge changes from coreutils
45346         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
45347         of copied files.  Remove a kludge, now that this is fixed.
45348         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
45349         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
45350         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
45351
45352 2008-08-29  Bruno Haible  <bruno@clisp.org>
45353
45354         * MODULES.html.sh: Remove --cvs-urls option.
45355
45356 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
45357
45358         maint.mk: adjust to file name change
45359         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
45360
45361 2008-08-28  Jim Meyering  <meyering@redhat.com>
45362
45363         * modules/getndelim2 (License): Relicense to LGPLv2+.
45364         Approved by Richard Stallman for the version of 1995, and by
45365         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
45366
45367 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
45368
45369         * lib/getdelim.c (flockfile, funlockfile): Make all of them
45370         dummy if one is not available.  Do not touch them if
45371         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
45372         (getc_maybe_unlocked): New.
45373         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
45374
45375 2008-08-26  Eric Blake  <ebb9@byu.net>
45376
45377         doc/INSTALL: resync from autoconf
45378         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
45379         (INSTALL_PRELUDE): Delete; this is done more efficiently by
45380         moving...
45381         * install.texi [!autoconf]: ...here.  Resync from autoconf.
45382         * INSTALL: Regenerate.
45383         * INSTALL.ISO: New file.
45384         * INSTALL.UTF-8: Likewise.
45385
45386 2008-08-26  Jim Meyering  <meyering@redhat.com>
45387
45388         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
45389         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
45390         these definitions conditional, so that they may be overridden, too.
45391
45392 2008-08-26  Bruno Haible  <bruno@clisp.org>
45393
45394         Generate INSTALL file variants with prettier quotes.
45395         * doc/Makefile (INSTALL_PRELUDE): New macro.
45396         (INSTALL): Use it.
45397         (INSTALL.ISO, INSTALL.UTF-8): New rules.
45398
45399 2008-08-26  Bruno Haible  <bruno@clisp.org>
45400
45401         Run makeinfo in an English locale.
45402         * doc/Makefile (MAKEINFO): New variable.
45403
45404 2008-08-26  Bruno Haible  <bruno@clisp.org>
45405
45406         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
45407         Suggested by Eric Blake.
45408
45409 2008-08-25  Bruno Haible  <bruno@clisp.org>
45410
45411         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
45412
45413 2008-08-25  Eric Blake  <ebb9@byu.net>
45414
45415         c-stack: test that stack overflow can be caught
45416         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
45417         that platform allows handling stack overflow; at least OS/2 EMX
45418         has sigaltstack, but crashes before transferring control to
45419         handler on stack overflow.
45420         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
45421         check for HAVE_STACK_OVERFLOW_HANDLING.
45422         Reported by Elbert Pol.
45423
45424 2008-08-25  Bruno Haible  <bruno@clisp.org>
45425
45426         * doc/posix-functions/strftime.texi: Fix description of strftime
45427         module.
45428
45429 2008-08-24  Bruno Haible  <bruno@clisp.org>
45430
45431         * tests/uniwidth/test-uc_width2.c: New file.
45432         * tests/uniwidth/test-uc_width2.sh: New file.
45433         * modules/uniwidth/width-tests (Files): Add the new files.
45434         (TESTS): Add uniwidth/test-uc_width2.sh.
45435         (TESTS_ENVIRONMENT): New variable.
45436         (check_PROGRAMS): Add test-uc_width2.
45437         (test_uc_width2_SOURCES): New variable.
45438
45439         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
45440         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
45441         not 0x00AB.
45442         Reported by Alexander V. Lukyanov <lav@netis.ru>.
45443
45444 2008-08-22  Eric Blake  <ebb9@byu.net>
45445
45446         test-lock, test-tls: mention why a test is skipped
45447         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
45448         skipped.
45449         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
45450
45451         count-one-bits: relax license
45452         * modules/count-one-bits (License): Relicense to LGPLv2+.
45453         Suggested by Ludovic Courtès, approved by Ben Pfaff.
45454
45455 2008-08-22  Andreas Schwab  <schwab@suse.de>
45456
45457         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
45458         Remove spurious space in assignment.
45459
45460 2008-08-21  Simon Josefsson  <simon@josefsson.org>
45461
45462         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
45463         Paul Eggert <eggert@CS.UCLA.EDU>.
45464
45465 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
45466
45467         * modules/gettext: Add m4/threadlib.m4.
45468
45469 2008-08-19  Eric Blake  <ebb9@byu.net>
45470
45471         test-c-stack: fix compilation failure on FreeBSD 5.0
45472         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
45473         headers before <sys/resource.h>.
45474         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
45475         the bug.
45476         Reported by Nelson H. F. Beebe.
45477
45478         strverscmp: migrate from "strverscmp.h" to <string.h>
45479         * modules/string (Makefile.am): Add new hooks.
45480         * modules/strverscmp (Files): Remove strverscmp.h.
45481         (Depends-on): Add string.
45482         (configure.ac): Add indicator.
45483         (Include): Mention new header.
45484         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
45485         defaults.
45486         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
45487         results.
45488         * lib/strverscmp.h: Delete.
45489         * lib/string.in.h (strverscmp): Provide declaration, when needed.
45490         * tests/test-strverscmp.c (includes): Adjust client.
45491         * lib/check-version.c (includes): Likewise.
45492         * NEWS: Document the change.
45493
45494         strverscmp: add unit test
45495         * modules/strverscmp-tests: New file.
45496         * tests/test-strverscmp.c: Likewise.
45497
45498 2008-08-19  Simon Josefsson  <simon@josefsson.org>
45499
45500         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
45501         regarding Windows crypto stuff, from Mono.
45502
45503 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
45504
45505         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
45506         if present, for intel RND.  Return error on failures.
45507
45508 2008-08-18  Ben Pfaff  <blp@gnu.org>
45509
45510         gitlog-to-changelog: give better diagnostic for failed pipe-open
45511         * build-aux/gitlog-to-changelog: Improve error message: suggest
45512         that the version of Git may be too old.
45513
45514 2008-08-18  Simon Josefsson  <simon@josefsson.org>
45515
45516         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
45517         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
45518
45519 2008-08-18  Bruno Haible  <bruno@clisp.org>
45520
45521         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
45522         pthread_in_use().
45523
45524 2008-08-18  Bruno Haible  <bruno@clisp.org>
45525
45526         * lib/glthread/threadlib.c: Include <pthread.h>.
45527
45528 2008-08-18  Bruno Haible  <bruno@clisp.org>
45529
45530         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
45531         glthread_recursive_lock_* macros.
45532         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
45533         Fix syntax error.
45534
45535 2008-08-18  Bruno Haible  <bruno@clisp.org>
45536
45537         * lib/glthread/thread.c: Avoid forcing a context switch right after
45538         thread creation.
45539
45540 2008-08-17  Bruno Haible  <bruno@clisp.org>
45541
45542         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
45543         * lib/glthread/thread.h: Provide Win32 specific implementation.
45544         * modules/thread (Files): Add lib/glthread/thread.c.
45545         (Depends-on): Add lock.
45546         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
45547
45548 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45549
45550         New module 'yield'.
45551         * modules/yield: New file.
45552         * lib/glthread/yield.h: New file.
45553         * m4/yield.m4: New file.
45554         * MODULES.html.sh (Multithreading): Add yield.
45555
45556 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45557
45558         New module 'thread'.
45559         * modules/thread: New file.
45560         * lib/glthread/thread.h: New file.
45561         * m4/thread.m4: New file.
45562         * MODULES.html.sh (Multithreading): Add thread.
45563
45564 2008-08-17  Bruno Haible  <bruno@clisp.org>
45565
45566         * lib/glthread/lock.h: Include <stdlib.h> always.
45567         * lib/glthread/tls.h: Likewise.
45568         * lib/glthread/cond.h: Likewise.
45569
45570 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45571
45572         New module 'cond'.
45573         * modules/cond: New file.
45574         * lib/glthread/cond.h: New file.
45575         * lib/glthread/cond.c: New file.
45576         * m4/cond.m4: New file.
45577         * MODULES.html.sh (Multithreading): Add cond.
45578
45579 2008-08-16  Eric Blake  <ebb9@byu.net>
45580
45581         c-stack: fix regression on Irix 5.3 from 2008-06-21
45582         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
45583         sa_sigaction...
45584         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
45585         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
45586         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
45587         * modules/signal (Makefile.am): Use the value.
45588         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
45589         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
45590         * doc/posix-headers/signal.texi (signal.h): Document this
45591         portability issue.
45592         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
45593         Reported by Tom G. Christensen.
45594
45595 2008-08-17  Bruno Haible  <bruno@clisp.org>
45596
45597         New module 'threadlib'.
45598         * modules/threadlib: New file.
45599         * lib/glthread/threadlib.c: New file, extracted from
45600         lib/glthread/lock.c.
45601         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
45602         functions.
45603         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
45604         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
45605         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
45606         macros.
45607         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
45608         (gl_DISABLE_THREADS): Remove macro.
45609         * modules/lock (Files): Remove build-aux/config.rpath.
45610         (Depends-on): Remove havelib. Add threadlib.
45611         (configure.ac-early): Remove section.
45612         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
45613         * modules/tls (Depends-on): Remove lock. Add threadlib.
45614         (Link): New section, copied from threadlib.
45615         * MODULES.html.sh (Multithreading): Add threadlib.
45616
45617 2008-08-14  Bruno Haible  <bruno@clisp.org>
45618
45619         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
45620         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
45621         glthread_rwlock_unlock, glthread_rwlock_destroy,
45622         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
45623         glthread_recursive_lock_destroy): Define as macros always.
45624         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
45625         glthread_lock_lock.
45626         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
45627         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
45628         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
45629         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
45630         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
45631         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
45632         (glthread_recursive_lock_lock_func): Renamed from
45633         glthread_recursive_lock_lock.
45634         (glthread_recursive_lock_unlock_func): Renamed from
45635         glthread_recursive_lock_unlock.
45636         (glthread_recursive_lock_destroy_func): Renamed from
45637         glthread_recursive_lock_destroy.
45638
45639 2008-08-14  Bruno Haible  <bruno@clisp.org>
45640
45641         * lib/glthread/lock.h: Renamed from lib/lock.h.
45642         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
45643         * lib/glthread/tls.h: Renamed from lib/tls.h.
45644         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
45645         * lib/fstrcmp.c: Update includes.
45646         * lib/strsignal.c: Update includes.
45647         * modules/lock (Files, Makefile.am): Update.
45648         (Include): Change to "glthread/lock.h".
45649         * modules/tls (Files, Makefile.am): Update.
45650         (Include): Change to "glthread/tls.h".
45651         * tests/test-lock.c: Update includes.
45652         * tests/test-tls.c: Update includes.
45653         * NEWS: Mention the renamed header files.
45654
45655 2008-08-11  Jim Meyering  <meyering@redhat.com>
45656
45657         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
45658
45659 2008-08-11  Eric Blake  <ebb9@byu.net>
45660
45661         test-c-stack: avoid C99-ism
45662         * tests/test-c-stack.c (main): Fix whitespace, move declaration
45663         before statement.
45664         Reported by Alain Guibert.
45665
45666 2008-08-10  Jim Meyering  <meyering@redhat.com>
45667
45668         ensure that return value of uinttostr et al are not ignored
45669         * lib/inttostr.h (__GNUC_PREREQ): Define.
45670         (__attribute_warn_unused_result__): Define.
45671         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
45672
45673 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
45674
45675         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
45676         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
45677
45678 2008-08-07  Jim Meyering  <meyering@redhat.com>
45679
45680         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
45681
45682         * modules/mkstemp (License): Relicense under LGPLv2+.
45683         * modules/tempname (License): Likewise.
45684
45685 2008-08-06  Bruno Haible  <bruno@clisp.org>
45686
45687         * lib/poll.c (poll): Further micro-optimization.
45688
45689 2008-08-06  Jim Meyering  <meyering@redhat.com>
45690
45691         inet_pton.c: use locale-independent tolower
45692         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
45693         (inet_pton6): Use c_tolower rather than tolower.
45694         * modules/inet_pton (Depends-on): Add c-ctype.
45695
45696 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
45697
45698         * lib/poll.c (poll): Avoid division when timeout is 0, cache
45699         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
45700
45701 2008-08-06  Jim Meyering  <meyering@redhat.com>
45702
45703         * modules/inet_pton (License): Relicense under LGPLv2+.
45704
45705 2008-08-03  Bruno Haible  <bruno@clisp.org>
45706
45707         Additional non-aborting API for lock and tls.
45708         * lib/lock.h: Include <errno.h>.
45709         (glthread_lock_init): New macro/function.
45710         (gl_lock_init): Define as wrapper around glthread_lock_init.
45711         (glthread_lock_lock): New macro/function.
45712         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
45713         (glthread_lock_unlock): New macro/function.
45714         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
45715         (glthread_lock_destroy): New macro/function.
45716         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
45717         (glthread_rwlock_init): New macro/function.
45718         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
45719         (glthread_rwlock_rdlock): New macro/function.
45720         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
45721         (glthread_rwlock_wrlock): New macro/function.
45722         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
45723         (glthread_rwlock_unlock): New macro/function.
45724         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
45725         (glthread_rwlock_destroy): New macro/function.
45726         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
45727         (glthread_recursive_lock_init): New macro/function.
45728         (gl_recursive_lock_init): Define as wrapper around
45729         glthread_recursive_lock_init.
45730         (glthread_recursive_lock_lock): New macro/function.
45731         (gl_recursive_lock_lock): Define as wrapper around
45732         glthread_recursive_lock_lock.
45733         (glthread_recursive_lock_unlock): New macro/function.
45734         (gl_recursive_lock_unlock): Define as wrapper around
45735         glthread_recursive_lock_unlock.
45736         (glthread_recursive_lock_destroy): New macro/function.
45737         (gl_recursive_lock_destroy): Define as wrapper around
45738         glthread_recursive_lock_destroy.
45739         (glthread_once): New macro/function.
45740         (gl_once): Define as wrapper around glthread_once.
45741         Update function declarations.
45742         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
45743         glthread_rwlock_init. Return error code.
45744         (glthread_rwlock_rdlock_multithreaded): Renamed from
45745         glthread_rwlock_rdlock. Return error code.
45746         (glthread_rwlock_wrlock_multithreaded): Renamed from
45747         glthread_rwlock_wrlock. Return error code.
45748         (glthread_rwlock_unlock_multithreaded): Renamed from
45749         glthread_rwlock_unlock. Return error code.
45750         (glthread_rwlock_destroy_multithreaded): Renamed from
45751         glthread_rwlock_destroy. Return error code.
45752         (glthread_recursive_lock_init_multithreaded): Renamed from
45753         glthread_recursive_lock_init. Return error code.
45754         (glthread_recursive_lock_lock_multithreaded): Renamed from
45755         glthread_recursive_lock_lock. Return error code.
45756         (glthread_recursive_lock_unlock_multithreaded): Renamed from
45757         glthread_recursive_lock_unlock. Return error code.
45758         (glthread_recursive_lock_destroy_multithreaded): Renamed from
45759         glthread_recursive_lock_destroy. Return error code.
45760         (glthread_once_call): Make static.
45761         (glthread_once_multithreaded): Renamed from glthread_once.
45762         * lib/tls.h: Include <errno.h>.
45763         (glthread_tls_key_init): New macro/function.
45764         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
45765         (glthread_tls_set): New macro/function.
45766         (gl_tls_set): Define as wrapper around glthread_tls_set.
45767         (glthread_tls_key_destroy): New macro/function.
45768         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
45769         Update function declarations.
45770         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
45771         glthread_tls_get.
45772         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
45773
45774 2008-08-04  Eric Blake  <ebb9@byu.net>
45775
45776         gnumakefile: use space, not TAB, outside of targets
45777         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
45778
45779 2008-08-02  Jim Meyering  <meyering@redhat.com>
45780
45781         getdate.y: avoid locale-dependent date parsing failure
45782         In Turkish locales, getdate would fail to recognize keywords
45783         containing a lowercase "i".  The solution is not to rely on
45784         locale-sensitive case-conversion.
45785         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
45786         (lookup_word): Use c_toupper in place of toupper.
45787         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
45788         Reported by Vefa Bicakci <bicave@superonline.com> in
45789         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
45790         * modules/getdate (Depends-on): Add c-ctype.
45791
45792 2008-08-02  Bruno Haible  <bruno@clisp.org>
45793
45794         * gnulib-tool (func_import): When updating or creating a .gitignore
45795         file, prepend each added line with a slash, and ignore leading slashes
45796         from the existing lines.
45797         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
45798
45799 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45800
45801         Portability fix for GNU make 3.79.1.
45802         * top/GNUmakefile: Avoid 'else COND', which older GNU make
45803         versions do not understand.
45804
45805 2008-08-01  Bruno Haible  <bruno@clisp.org>
45806
45807         Work around bug of HP-UX 10.20 cc with -0.0 literal.
45808         * tests/test-isnanf.h (zero): New variable.
45809         (main): Avoid literal -0.0f.
45810         * tests/test-isnand.h (zero): New variable.
45811         (main): Avoid literal -0.0.
45812         * tests/test-isnanl.h (zero): New variable.
45813         (main): Avoid literal -0.0L.
45814         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
45815         (test_float, test_double, test_long_double): Avoid literals -0.0f,
45816         -0.0, -0.0L.
45817         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
45818         (test_signbitd): Avoid literal -0.0.
45819         (test_signbitl): Avoid literal -0.0L.
45820         * tests/test-ceilf1.c (zero): New variable.
45821         (main): Avoid literal -0.0f.
45822         * tests/test-ceill.c (zero): New variable.
45823         (main): Avoid literal -0.0L.
45824         * tests/test-floorf1.c (zero): New variable.
45825         (main): Avoid literal -0.0f.
45826         * tests/test-floorl.c (zero): New variable.
45827         (main): Avoid literal -0.0L.
45828         * tests/test-roundf1.c (zero): New variable.
45829         (main): Avoid literal -0.0f.
45830         * tests/test-round1.c (zero): New variable.
45831         (main): Avoid literal -0.0.
45832         * tests/test-roundl.c (zero): New variable.
45833         (main): Avoid literal -0.0L.
45834         * tests/test-truncf1.c (zero): New variable.
45835         (main): Avoid literal -0.0f.
45836         * tests/test-trunc1.c (zero): New variable.
45837         (main): Avoid literal -0.0.
45838         * tests/test-truncl.c (zero): New variable.
45839         (main): Avoid literal -0.0L.
45840         * tests/test-frexp.c (zero): New variable.
45841         (main): Avoid literal -0.0.
45842         * tests/test-frexpl.c (zero): New variable.
45843         (main): Avoid literal -0.0L.
45844         * tests/test-ldexpl.c (zero): New variable.
45845         (main): Avoid literal -0.0L.
45846         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
45847         (zerod, zerol): New variables.
45848         (test_function): Avoid literals -0.0, -0.0L.
45849         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
45850         (zerod, zerol): New variables.
45851         (test_function): Avoid literals -0.0, -0.0L.
45852         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
45853         (zerod, zerol): New variables.
45854         (test_function): Avoid literals -0.0, -0.0L.
45855         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
45856         (zerod, zerol): New variables.
45857         (test_function): Avoid literals -0.0, -0.0L.
45858         * tests/test-strtod.c (zero): New variable.
45859         (main): Avoid literal -0.0.
45860         Reported by Jonathan C. Patschke <jp@centtech.com>.
45861
45862 2008-07-31  Jim Meyering  <meyering@redhat.com>
45863
45864         sha256.h: correct definition of SHA224_DIGEST_SIZE
45865         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
45866         Reported by Paulie Pena IV <paulie4@gmail.com>.
45867         Define as 224 / 8, rather than as a literal.
45868         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
45869         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
45870         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
45871
45872 2008-07-31  Bruno Haible  <bruno@clisp.org>
45873
45874         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
45875         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
45876         Reported by Jonathan Patschke <jp@centtech.com>.
45877
45878 2008-07-31  Bruno Haible  <bruno@clisp.org>
45879
45880         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
45881         Reported by Paolo Bonzini <bonzini@gnu.org>.
45882
45883 2008-07-30  Eric Blake  <ebb9@byu.net>
45884
45885         test-strtod: allow compilation without -lm
45886         * tests/test-strtod.c (main): Avoid link dependence on fabs.
45887         Reported by Dennis Clarke <blastwave@gmail.com>.
45888
45889 2008-07-28  Jim Meyering  <meyering@redhat.com>
45890
45891         bootstrap: work also when there are no .po files in po/
45892         * build-aux/bootstrap (update_po_files): Complete the change
45893         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
45894
45895 2008-07-27  Jim Meyering  <meyering@redhat.com>
45896
45897         * users.txt: Add zile.
45898
45899 2008-07-26  Ben Pfaff  <blp@gnu.org>
45900
45901         Add missing dependencies on new m4/exponent[fdl].m4 files.
45902         * modules/isnanf-nolibm: Add m4/exponentf.m4.
45903         * modules/isnand-nolibm: Add m4/exponentd.m4.
45904         * modules/isnanl-nolibm: Add m4/exponentl.m4.
45905         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
45906         m4/isnan[fdl].m4, because the macros actually used moved.
45907         Reported by Jim Meyering.
45908
45909 2008-07-14  Ben Pfaff  <blp@gnu.org>
45910
45911         Add isinf module.
45912         * lib/isinf.c: New file.
45913         * lib/math.in.h: Define isinf macro if we have decided to replace
45914         it.
45915         * m4/isinf.m4: New file.
45916         * m4/math_h.m4: Initialize and substitute variables for isinf
45917         module.
45918         * modules/isinf: New file.
45919         * modules/isinf-tests: New file.
45920         * modules/math: Add substitutions for new module.
45921         * tests/test-isinf.c: New file.
45922         * doc/posix-functions/isinf.texi: Mention new module.
45923         * MODULES.html.sh: Mention new module.
45924
45925 2008-07-14  Ben Pfaff  <blp@gnu.org>
45926
45927         Factor out some macros for use by additional modules.
45928         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
45929         exponentf.m4.
45930         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
45931         exponentd.m4.
45932         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
45933         file exponentl.m4.
45934         * m4/exponentf.m4: New file.
45935         * m4/exponentd.m4: New file.
45936         * m4/exponentl.m4: New file.
45937         * modules/isnanf: Use new file m4/exponentf.m4.
45938         * modules/isnand: Use new file m4/exponentd.m4.
45939         * modules/isnanl: Use new file m4/exponentl.m4.
45940
45941 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
45942
45943         mktime.c: normalize tp->tm_isdst value to -1/0/1.
45944         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
45945         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
45946         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
45947
45948         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
45949         readlink on platforms without PATH_MAX.
45950
45951 2008-07-21  Eric Blake  <ebb9@byu.net>
45952
45953         Warn, not fail, on stale version.
45954         * top/GNUmakefile (_curr-ver): Tone down previous patch.
45955
45956         Don't allow installation with stale devel version number.
45957         * top/GNUmakefile (_is-install-target): New macro.
45958         (_curr-ver): Forbid installation with stale version number.
45959
45960 2008-07-20  Bruno Haible  <bruno@clisp.org>
45961
45962         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
45963         TESTS_ENVIRONMENT.
45964         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
45965
45966 2008-07-20  Bruno Haible  <bruno@clisp.org>
45967
45968         * lib/c-stack.h (c_stack_action): Add documentation.
45969         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
45970
45971 2008-07-20  Bruno Haible  <bruno@clisp.org>
45972
45973         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
45974         * modules/readlink (License): Likewise.
45975
45976 2008-07-17  Eric Blake  <ebb9@byu.net>
45977
45978         * modules/c-stack (Link): Fix typo.
45979
45980         Make c-stack use libsigsegv, when available.
45981         * modules/c-stack (Depends-on): Add libsigsegv.
45982         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
45983         needed.
45984         * lib/c-stack.c (SIGSTKSZ): Define fallback.
45985         (segv_handler, overflow_handler, c_stack_action)
45986         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
45987         implementation when libsigsegv is available, but only when using
45988         the library is necessary.
45989         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
45990         comment, explaining why XSI check fails on Linux.
45991         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
45992         * tests/test-c-stack2.sh: Tweak skip message.
45993         * NEWS: Document new link-time requirements.
45994
45995 2008-07-16  Eric Blake  <ebb9@byu.net>
45996
45997         c-stack: Expose false positives when not using libsigsegv.
45998         * modules/c-stack-tests (Files): Expand test.
45999         * tests/test-c-stack.c (main): Add means to conditionally trigger
46000         non-overflow SIGSEGV.
46001         * tests/test-c-stack2.sh: New file.
46002
46003 2008-07-14  Bruno Haible  <bruno@clisp.org>
46004
46005         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
46006         Reported by Eric Blake.
46007
46008 2008-07-14  Sam Steingold  <sds@gnu.org>
46009             Bruno Haible  <bruno@clisp.org>
46010
46011         New module libsigsegv.
46012         * modules/libsigsegv: New file.
46013         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
46014         modifications.
46015         * MODULES.html.sh (Signal handling): New section.
46016
46017 2008-07-14  Bruno Haible  <bruno@clisp.org>
46018
46019         * modules/unictype/ctype-* (Description): Add the word "function".
46020         Improves the resulting doc in MODULES.html.
46021
46022 2008-07-12  Ben Pfaff  <blp@gnu.org>
46023
46024         Add longlong module.
46025         * modules/longlong: New file.
46026
46027 2008-07-12  Bruno Haible  <bruno@clisp.org>
46028
46029         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
46030         to empty.
46031
46032 2008-07-10  Ben Pfaff  <blp@gnu.org>
46033
46034         Add isnan module.
46035         * doc/posix-functions/isnan.texi: Mention new module.
46036         * lib/math.in.h: Define isnan macro if we have decided to replace
46037         it.
46038         * m4/isnan.m4: New file.
46039         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
46040         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
46041         also.
46042         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
46043         redundancy.
46044         * m4/math_h.m4: Initialize and substitute variables for isnan
46045         module.
46046         * modules/isnan: New file.
46047         * modules/isnan-tests: New file.
46048         * modules/math: Add substitutions for new module.
46049         * tests/test-isnan.c: New file.
46050         * MODULES.html.sh: Mention new module.
46051
46052 2008-07-10  Ben Pfaff  <blp@gnu.org>
46053
46054         Add isnanf module.
46055         * lib/isnanf.m4: New file.
46056         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
46057         (gl_HAVE_ISNANF_IN_LIBM): New macro.
46058         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
46059         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
46060         * modules/isnanf: New file.
46061         * modules/isnanf-tests: New file.
46062         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
46063         files.
46064         * tests/test-isnanf-nolibm.c: factored most of its contents into
46065         new file tests/test-isnanf.h.
46066         * tests/test-isnanf.h: New file.
46067         * tests/test-isnanf.c: New file.
46068         * MODULES.html.sh: Mention new module.
46069         * doc/glibc-functions/isnanf.texi: Mention new module.
46070
46071 2008-07-10  Ben Pfaff  <blp@gnu.org>
46072
46073         Add isnand module.
46074         * lib/isnand.h: New file.
46075         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
46076         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
46077         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
46078         functionality also.
46079         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
46080         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
46081         (gl_HAVE_ISNAND_IN_LIBM): New macro.
46082         * modules/isnand: New file.
46083         * modules/isnand-tests: New file.
46084         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
46085         files.
46086         * tests/test-isnand-nolibm.c: factored most of its contents into
46087         new file tests/test-isnand.h.
46088         * tests/test-isnand.h: New file.
46089         * tests/test-isnand.c: New file.
46090         * MODULES.html.sh: Mention new module.
46091
46092 2008-07-10  Ben Pfaff  <blp@gnu.org>
46093
46094         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
46095         * lib/isnand.h: Rename lib/isnand-nolibm.h.
46096         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
46097         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
46098         * modules/isnanf-nolibm: Update references to renamed files.
46099         * modules/isnand-nolibm: Likewise.
46100         * modules/isnanf-nolibm-tests: Likewise.
46101         * modules/isnand-nolibm-tests: Likewise.
46102         * lib/frexp.c: Likewise.
46103         * lib/isfinite.c: Likewise.
46104         * lib/signbitd.c: Likewise.
46105         * lib/signbitf.c: Likewise.
46106         * lib/vasnprintf.c: Likewise.
46107         * tests/test-ceilf1.c: Likewise.
46108         * tests/test-ceilf2.c: Likewise.
46109         * tests/test-floorf1.c: Likewise.
46110         * tests/test-floorf2.c: Likewise.
46111         * tests/test-frexp.c: Likewise.
46112         * tests/test-round1.c: Likewise.
46113         * tests/test-round2.c: Likewise.
46114         * tests/test-roundf1.c: Likewise.
46115         * tests/test-strtod.c: Likewise.
46116         * tests/test-trunc1.c: Likewise.
46117         * tests/test-trunc2.c: Likewise.
46118         * tests/test-truncf1.c: Likewise.
46119         * tests/test-truncf2.c: Likewise.
46120         * NEWS: Mention the renamed header files.
46121
46122 2008-07-11  Jim Meyering  <meyering@redhat.com>
46123
46124         vc-list-files: make the last-resort awk code more portable
46125         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
46126         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
46127         does not support it.
46128
46129 2008-07-10  Eric Blake  <ebb9@byu.net>
46130
46131         Work with tar's bootstrap.
46132         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
46133         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
46134         an m4 comment.
46135
46136 2008-07-09  Jim Meyering  <meyering@redhat.com>
46137
46138         posix-shell.m4: fix typo that made this test malfunction
46139         * m4/posix-shell.m4: Remove capitalization in variable name.
46140
46141 2008-07-08  Bruno Haible  <bruno@clisp.org>
46142
46143         * m4/onceonly.m4: Update comments.
46144         Reported by Ben Pfaff <blp@cs.stanford.edu>.
46145
46146 2008-07-04  Jim Meyering  <meyering@redhat.com>
46147
46148         * users.txt: Add vc-dwim.
46149         (bison, coreutils): Use the gitweb URL.
46150
46151 2008-07-03  Jim Meyering  <meyering@redhat.com>
46152
46153         * users.txt: Add libffcall.  From Sam Steingold.
46154
46155 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
46156
46157         getdate.y: do not ignore TZ with relative day, month or year offset
46158         * lib/getdate.y (get_date): Move the tz-handling block to follow the
46159         relative-date-handling, since otherwise, the latter would clobber the
46160         sole output (an updated Start value) of the tz-handling block.
46161         * tests/test-getdate.c: Tests for the fix
46162
46163 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46164
46165         Recognize 'foo_LIBRARIES += libgnu.a'.
46166         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
46167         makefile snippet has already specified an installation location,
46168         also using '+='.
46169
46170 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
46171
46172         getdate.y: factor out common actions
46173         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
46174         Use them in place of open-coded actions.
46175
46176 2008-07-01  Simon Josefsson  <simon@josefsson.org>
46177
46178         Add self-test for getdate module.
46179         * modules/getdate-tests: New file.
46180         * tests/test-getdate.c: New file.
46181
46182 2008-06-29  Bruno Haible  <bruno@clisp.org>
46183
46184         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
46185         .gitignore.
46186         Reported by Sylvain Beucler <beuc@beuc.net>.
46187
46188 2008-06-29  Bruno Haible  <bruno@clisp.org>
46189
46190         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
46191         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
46192
46193 2008-06-29  Bruno Haible  <bruno@clisp.org>
46194
46195         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
46196         EXTRA_DIST.
46197         Reported by Sylvain Beucler <beuc@beuc.net>.
46198
46199 2008-06-26  Jim Meyering  <meyering@redhat.com>
46200
46201         make several modules depend on the "open" module
46202         This provides slightly increased consistency when opening-for-write
46203         the name of a non-directory spelled with a trailing slash.
46204         * modules/chdir-safer: Likewise.
46205         * modules/chown: Likewise.
46206         * modules/clean-temp: Likewise.
46207         * modules/copy-file: Likewise.
46208         * modules/fchdir: Likewise.
46209         * modules/fcntl-safer: Likewise.
46210         * modules/pipe: Likewise.
46211         * modules/utime: Likewise.
46212         Prompted by Eric Blake and Bruno Haible.
46213
46214 2008-06-24  Andreas Schwab  <schwab@suse.de>
46215
46216         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
46217         literals can be used as initializers for global variables.
46218
46219 2008-06-23  Eric Blake  <ebb9@byu.net>
46220
46221         Make gnulib-cache.m4 easier to diff.
46222         * gnulib-tool (func_import): Allow newlines when reading cached
46223         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
46224
46225 2008-06-23  Bruno Haible  <bruno@clisp.org>
46226
46227         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
46228         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
46229         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
46230         m4/signalblocking.m4.
46231         (gl_PREREQ_SIGACTION): Don't invoke it.
46232         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
46233         gl_PREREQ_SIG_HANDLER_H.
46234         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
46235         Don't check for sigaction here.
46236
46237 2008-06-23  Bruno Haible  <bruno@clisp.org>
46238
46239         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
46240         (install_handlers): Don't set the SA_RESETHAND flag.
46241
46242 2008-06-23  Bruno Haible  <bruno@clisp.org>
46243
46244         * m4/sigaction.m4: Comment fixes.
46245         * lib/signal.in.h: Likewise.
46246
46247 2008-06-23  Eric Blake  <ebb9@byu.net>
46248
46249         Fix typo.
46250         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
46251
46252         Avoid SA_ namespace.
46253         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
46254         Reported by Ralf Wildenhues.
46255
46256         Avoid test failure due to SA_RESTORER.
46257         * tests/test-sigaction.c (SA_MASK): New macro.
46258         (main): Avoid failing due to extension flags being set.
46259         Reported by Jim Meyering.
46260
46261         Revert use of sig-handler.h in sigprocmask.c.
46262         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
46263         it requires the existence of struct sigaction.
46264         * lib/sigprocmask.c (handler_t): Restore typedef.
46265         (rpl_signal, old_handlers): Use local type.
46266
46267 2008-06-22  Bruno Haible  <bruno@clisp.org>
46268
46269         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
46270         conditionally.
46271         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46272
46273 2008-06-22  Bruno Haible  <bruno@clisp.org>
46274
46275         * doc/posix-functions/siginterrupt.texi: Move note.
46276
46277         * lib/signal.in.h (SA_RESTART): New macro.
46278         * lib/sigaction.c: Update comment.
46279
46280         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
46281
46282         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
46283         (gl_PREREQ_SIGPROCMASK): Invoke it.
46284         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
46285
46286         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
46287
46288         * lib/sigprocmask.c: Update a comment.
46289
46290 2008-06-21  Eric Blake  <ebb9@byu.net>
46291
46292         Use sigaction module rather than signal().
46293         * modules/c-stack (Depends-on): Add sigaction.
46294         * modules/fatal-signal (Depends-on): Likewise.
46295         * modules/nanosleep (Depends-on): Likewise.
46296         * modules/sigprocmask (Files): Add sig-handler.h.
46297         * modules/sigaction (Files): Likewise.
46298         * lib/sig-handler.h (get_handler): New file, suggested by Paul
46299         Eggert.
46300         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
46301         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
46302         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
46303         (init_fatal_signals): Likewise.
46304         * lib/nanosleep.c (rpl_nanosleep): Likewise.
46305         (siginterrupt): Delete fallback.
46306         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
46307         instead.
46308         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
46309         siginterrupt.
46310
46311         New module sigaction, for mingw.
46312         * modules/sigaction: New module...
46313         * modules/sigaction-tests: ...and its test.
46314         * m4/sigaction.m4: New file.
46315         * lib/sigaction.c: Likewise.
46316         * tests/test-sigaction.c: Likewise.
46317         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
46318         * modules/signal (Makefile.am): Likewise.
46319         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
46320         needed.
46321         * doc/posix-headers/signal.texi (signal.h): Mention provided
46322         types.
46323         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
46324         that sigaction is preferable.
46325         * doc/posix-functions/sigaction.texi (sigaction): Mention new
46326         module.
46327         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46328         sigaction.
46329
46330         Improve robustness of sigprocmask by overriding signal.
46331         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
46332         is in use.
46333         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
46334         (SIGKILL, SIGSTOP): Provide fallbacks.
46335         (rpl_signal): Implement.
46336         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
46337         signal can be called inside handlers.
46338
46339         Fix nanosleep module on mingw.
46340         * modules/nanosleep (Depends-on): Add sys_select.
46341         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
46342
46343         Fix licensing of sigprocmask.
46344         * modules/raise (License): Relicense as LGPL.
46345
46346 2008-06-21  Bruno Haible  <bruno@clisp.org>
46347
46348         * lib/propername.c (proper_name_utf8): Don't use the transliterated
46349         result if it contains question marks.
46350         Reported by Michael Geng <linux@michaelgeng.de>.
46351
46352 2008-06-19  Bruno Haible  <bruno@clisp.org>
46353
46354         Fix CVS-ism.
46355         * doc/gnulib.texi: Include updated-stamp.texi.
46356         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
46357         (updated-stamp.texi): New rule.
46358         (gnulib.info): Depend on it.
46359         * doc/.gitignore: Add updated-stamp.texi.
46360         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
46361
46362 2008-06-19  Bruno Haible  <bruno@clisp.org>
46363
46364         * doc/Makefile (gnulib.info): Update and simplify dependencies.
46365         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
46366
46367 2008-06-19  Eric Blake  <ebb9@byu.net>
46368
46369         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
46370         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
46371         Reported by Stepan Kasal.
46372
46373 2008-06-18  Bruno Haible  <bruno@clisp.org>
46374
46375         * lib/fatal-signal.c (init_fatal_signals): Add comment.
46376         Reported by Eric Blake.
46377
46378 2008-06-18  Eric Blake  <ebb9@byu.net>
46379
46380         Work around cygwin 1.5.25 strsignal bug.
46381         * tests/test-strsignal.c: Allow for const char *.
46382         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
46383
46384 2008-06-18  Simon Josefsson  <simon@josefsson.org>
46385
46386         * users.txt: Update URL to article and add author/date
46387         information.
46388
46389 2008-06-17  Bruno Haible  <bruno@clisp.org>
46390
46391         New macro gl_DISABLE_THREADS.
46392         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
46393         if the user did not pass --enable-threads or --disable-threads option.
46394         (gl_DISABLE_THREADS): New macro.
46395         Reported by Eric Blake <ebb9@byu.net>.
46396
46397 2008-06-17  Bruno Haible  <bruno@clisp.org>
46398
46399         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
46400         when the macro ignores it.
46401         Based on a patch by Eric Blake <ebb9@byu.net>.
46402
46403 2008-06-17  Bruno Haible  <bruno@clisp.org>
46404
46405         * modules/tls (License): Change to LGPLv2+.
46406         Reported by Eric Blake.
46407
46408 2008-06-17  Eric Blake  <ebb9@byu.net>
46409
46410         Simplify c-stack prerequisites.
46411         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
46412         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
46413         no longer requires <ucontext.h> to exist.  Optimize setrlimit
46414         check.
46415         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
46416         <sys/resource.h>.
46417
46418         Move c-stack test into testsuite.
46419         * modules/c-stack-tests: New file.
46420         * lib/c-stack.c [DEBUG]: Move test program...
46421         * tests/test-c-stack.c: ...into this new file.  Skip rather than
46422         fail test if sigaltstack is lacking.
46423         * tests/test-c-stack.sh: New driver file.
46424
46425 2008-06-16  Eric Blake  <ebb9@byu.net>
46426
46427         Use raise module consistently.
46428         * modules/fatal-signal (Depends-on): Add raise.
46429         * modules/sigprocmask (Depends-on): Likewise.
46430         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
46431         * lib/sigprocmask.c (sigprocmask): Likewise.
46432         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
46433         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
46434
46435         Fix compliance bug in sigpending.
46436         * lib/sigprocmask.c (sigpending): Return pending array via
46437         parameter, not return value.
46438
46439 2008-06-14  Eric Blake  <ebb9@byu.net>
46440
46441         Improve obstack-printf test code.
46442         * tests/test-obstack-printf.c (test_function): Fix comment, and
46443         simplify usage of obstack_* in macros.  Add a test for coverage.
46444         Reported by Bruno Haible.
46445
46446 2008-06-14  Bruno Haible  <bruno@clisp.org>
46447
46448         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
46449         array size as a constant, not as a const variable.
46450         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
46451         AC_USE_SYSTEM_EXTENSIONS.
46452         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
46453         Test whether the obstack_printf function actually exists.
46454         * modules/obstack-printf (Depends-on): Add extensions.
46455         (Include): Remove obstack.h.
46456         * modules/obstack-printf-posix (Depends-on): Add extensions.
46457         (Include): Remove obstack.h.
46458
46459 2008-06-13  Eric Blake  <ebb9@byu.net>
46460
46461         Add obstack-printf and obstack-printf-posix modules.
46462         * modules/obstack-printf: New file.
46463         * modules/obstack-printf-posix: Likewise.
46464         * MODULES.html.sh (Misc): Mention them.
46465         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
46466         Likewise.
46467         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
46468         Likewise.
46469         * modules/stdio (Makefile.am): Accomodate new modules.
46470         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46471         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
46472         Declare.
46473         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
46474         functions.
46475         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
46476         (gl_REPLACE_OBSTACK_PRINTF): New macros
46477         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
46478         * tests/test-obstack-printf.c: New file.
46479         * modules/obstack-printf-tests: Likewise.
46480         * modules/obstack-printf-posix-tests: Likewise.
46481
46482 2008-06-11  Bruno Haible  <bruno@clisp.org>
46483
46484         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
46485         * lib/open.c: Include errno.h.
46486         (open): Fail when attempting to write to a file that has a trailing
46487         slash.
46488         * tests/test-open.c (main): Test against trailing slash bug.
46489         * doc/posix-functions/open.texi: Mention the trailing slash bug.
46490
46491 2008-06-10  Bruno Haible  <bruno@clisp.org>
46492
46493         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
46494         for $? to work inside the trap command, with various /bin/sh-s.
46495         * tests/test-vc-list-files-cvs.sh: Likewise.
46496
46497 2008-06-10  Bruno Haible  <bruno@clisp.org>
46498
46499         * lib/acl-internal.h: Don't include gettext.h here.
46500         * lib/set-mode-acl.c: Include gettext.h here.
46501         * lib/copy-acl.c: Likewise.
46502
46503 2008-06-10  Bruno Haible  <bruno@clisp.org>
46504
46505         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
46506         * lib/wait-process.c (wait_subprocess): Likewise.
46507         * lib/execute.h (execute): Add termsigp argument.
46508         * lib/execute.c (execute): Likewise.
46509         * lib/csharpcomp.c (compile_csharp_using_pnet,
46510         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
46511         * lib/csharpexec.c (execute_csharp_using_pnet,
46512         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
46513         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
46514         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
46515         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
46516         is_jikes_present): Update.
46517         * lib/javaexec.c (execute_java_class): Update.
46518         * lib/javaversion.c (execute_and_read_line): Update.
46519         * NEWS: Document the changes.
46520         Reported by Eric Blake.
46521
46522 2008-06-10  Eric Blake  <ebb9@byu.net>
46523
46524         Add missing include.
46525         * tests/test-strstr.c (includes): Add <signal.h>.
46526         * tests/test-strcasestr.c (includes): Likewise.
46527         * tests/test-memmem.c (includes): Likewise.
46528
46529 2008-06-10  Bruno Haible  <bruno@clisp.org>
46530
46531         * lib/wait-process.c (wait_subprocess): Add an assertion.
46532
46533 2008-06-10  Bruno Haible  <bruno@clisp.org>
46534
46535         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
46536
46537 2008-06-10  Bruno Haible  <bruno@clisp.org>
46538
46539         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
46540         using alarm().
46541         * tests/test-strcasestr.c (main): Likewise.
46542         * tests/test-strstr.c (main): Likewise.
46543
46544 2008-06-09  Bruno Haible  <bruno@clisp.org>
46545
46546         Work around the Solaris 10 ACE ACLs ABI change.
46547         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
46548         declare if ACL_NO_TRIVIAL is present.
46549         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
46550         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
46551         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
46552         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
46553         define if ACL_NO_TRIVIAL is present.
46554         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
46555         and use the current ABI.
46556         (file_has_acl): Use same #if condition as elsewhere.
46557         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
46558         in use, and use the current ABI.
46559         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
46560         Reported by Jim Meyering.
46561
46562 2008-06-09  Eric Blake  <ebb9@byu.net>
46563
46564         Work around environments that (stupidly) ignore SIGALRM.
46565         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
46566         before using alarm().
46567         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
46568         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
46569         Reported by Ian Beckwith <ianb@erislabs.net>.
46570
46571         Produce autobuild blurb earlier in log.
46572         * modules/autobuild (configure.ac-early): Move AB_INIT here.
46573
46574 2008-06-09  Jim Meyering  <meyering@redhat.com>
46575         and OndÅ™ej Vašík  <ovasik@redhat.com>
46576
46577         utimens.c: correct kernel bug work-around
46578         OndÅ™ej Vašík found that the invalid return value of 280 indicates
46579         failure, not success, and the kernel bug we're trying to work
46580         around affects not just the utimensat call, but also the fallback
46581         futimens call.
46582         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
46583         not success.
46584         [HAVE_FUTIMENS]: Use the same work-around, here.
46585
46586 2008-06-09  Jim Meyering  <meyering@redhat.com>
46587
46588         add more guards around definition of ACE_-related code
46589         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
46590         ALLOW and ACE_OWNER are also defined.
46591
46592 2008-06-08  Bruno Haible  <bruno@clisp.org>
46593
46594         * lib/acl-internal.h: Add me as co-author.
46595         * lib/file-has-acl.c: Likewise.
46596         * lib/set-mode-acl.c: Likewise.
46597         * lib/copy-acl.c: Likewise.
46598
46599 2008-06-08  Bruno Haible  <bruno@clisp.org>
46600
46601         Add support for AIX ACLs.
46602         * lib/acl-internal.h (acl_nontrivial): New declaration.
46603         * lib/file-has-acl.c (acl_nontrivial): New function.
46604         (file_has_acl): Add implementation using AIX 4 ACL API.
46605         * lib/set-mode-acl.c (qset_acl): Likewise.
46606         * lib/copy-acl.c (qcopy_acl): Likewise.
46607
46608 2008-06-08  Bruno Haible  <bruno@clisp.org>
46609
46610         Add support for HP-UX ACLs.
46611         * lib/acl-internal.h (acl_nontrivial): New declaration.
46612         * lib/file-has-acl.c (acl_nontrivial): New function.
46613         (file_has_acl): Add implementation using HP-UX 11 ACL API.
46614         * lib/set-mode-acl.c (qset_acl): Likewise.
46615         * lib/copy-acl.c (qcopy_acl): Likewise.
46616
46617 2008-06-08  Bruno Haible  <bruno@clisp.org>
46618
46619         Add support for Cygwin ACLs.
46620         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
46621         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
46622         the chmod_or_fchmod call.
46623         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
46624
46625 2008-06-08  Bruno Haible  <bruno@clisp.org>
46626
46627         Fix bug with setuid modes in Solaris 10+ code.
46628         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
46629         succeeded, when the mode contains some special bits.
46630
46631 2008-06-08  Bruno Haible  <bruno@clisp.org>
46632
46633         Add support for Solaris 7..10 ACLs.
46634         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
46635         declarations.
46636         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
46637         functions.
46638         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
46639         * lib/set-mode-acl.c (qset_acl): Likewise.
46640         * lib/copy-acl.c (qcopy_acl): Likewise.
46641
46642 2008-06-08  Bruno Haible  <bruno@clisp.org>
46643
46644         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
46645         declaration.
46646         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
46647         (acl_access_nontrivial): Remove MacOS X case.
46648         (file_has_acl): Use acl_extended_nontrivial.
46649         * lib/copy-acl.c (qcopy_acl): Likewise.
46650
46651 2008-06-08  Bruno Haible  <bruno@clisp.org>
46652
46653         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
46654
46655 2008-06-08  Jim Meyering  <meyering@redhat.com>
46656
46657         * modules/acl (Maintainer): Add Bruno Haible.
46658
46659 2008-06-07  Bruno Haible  <bruno@clisp.org>
46660
46661         Improve support for Tru64 ACLs.
46662         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
46663         ACL on OSF/1.
46664
46665 2008-06-07  Bruno Haible  <bruno@clisp.org>
46666
46667         Add support for MacOS X ACLs.
46668         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
46669         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
46670         * lib/set-mode-acl.c (qset_acl): Likewise.
46671         * lib/copy-acl.c (qcopy_acl): Likewise.
46672
46673 2008-06-07  Bruno Haible  <bruno@clisp.org>
46674
46675         Fix memory leak introduced on 2008-05-22.
46676         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
46677         use.
46678
46679 2008-06-07  Bruno Haible  <bruno@clisp.org>
46680
46681         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
46682         to construct an empty ACL.
46683
46684 2008-06-07  Bruno Haible  <bruno@clisp.org>
46685
46686         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
46687         precisely.
46688         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
46689
46690 2008-06-07  Bruno Haible  <bruno@clisp.org>
46691
46692         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
46693         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
46694
46695 2008-06-07  Bruno Haible  <bruno@clisp.org>
46696
46697         * doc/posix-functions/_setjmp.texi: Explain the use of this function
46698         regardless of POSIX.
46699         * doc/posix-functions/_longjmp.texi: Likewise.
46700         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
46701         SystemV platform in this case.
46702
46703 2008-06-06  Eric Blake  <ebb9@byu.net>
46704
46705         Document abort() bugs.
46706         * doc/posix-functions/abort.texi (abort): Mention anomalies.
46707
46708         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
46709         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
46710         sigsetjmp.
46711         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
46712         siglongjmp, but only as a macro.
46713         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
46714         is obsolete.
46715         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
46716
46717         Tweak documentation to cover cygwin argz bugs.
46718         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
46719         argz bug fix; no code change needed since no cygwin releases
46720         occurred between the last fix and the bug being tested.
46721         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
46722         module and recently fixed cygwin bugs.
46723         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
46724         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
46725         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
46726         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
46727         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
46728         Likewise.
46729         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
46730         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
46731         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
46732         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
46733         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
46734         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
46735         Likewise.
46736
46737         Avoid gcc warning on cygwin.
46738         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
46739         !ACL_NO_TRIVIAL]: Avoid unused variable.
46740
46741 2008-06-05  Eric Blake  <ebb9@byu.net>
46742
46743         Be tolerant of UNKNOWN version in gnulib-tool test dir.
46744         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
46745         git-version-gen fails to come up with a version.
46746         Reported by Simon Josefsson.
46747
46748 2008-06-05  Jim Meyering  <meyering@redhat.com>
46749             Paul Eggert  <eggert@cs.ucla.edu>
46750
46751         utimens.c: work around a probable Linux kernel bug
46752         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
46753         appears to be a kernel bug that causes utimensat to return 280
46754         instead of 0, indicating success.
46755
46756 2008-06-04  Bruno Haible  <bruno@clisp.org>
46757
46758         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
46759         2008-06-01 commit.
46760
46761 2008-06-04  Bruno Haible  <bruno@clisp.org>
46762
46763         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
46764         * lib/file-has-acl.c (acl_access_nontrivial): New function.
46765         (file_has_acl): Use it. Save errno afterwards.
46766         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
46767
46768 2008-06-03  Bruno Haible  <bruno@clisp.org>
46769
46770         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
46771         draft code. Simplify #ifs.
46772         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
46773         Put Solaris code after POSIX-draft code. Fix comments regarding
46774         Solaris 10, HP-UX. Mention Cygwin.
46775         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
46776
46777 2008-06-03  Eric Blake  <ebb9@byu.net>
46778
46779         Provide fallback for older kernels.
46780         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
46781         Provide runtime fallback if kernel lacks support.
46782         Reported by Mike Frysinger.
46783
46784 2008-06-02  Bruno Haible  <bruno@clisp.org>
46785
46786         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
46787         it exists.
46788
46789 2008-06-02  Bruno Haible  <bruno@clisp.org>
46790
46791         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
46792         * lib/copy-acl.c (qcopy_acl): Update comment.
46793
46794 2008-06-02  Bruno Haible  <bruno@clisp.org>
46795
46796         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
46797         like ACL APIs.
46798
46799 2008-06-02  Bruno Haible  <bruno@clisp.org>
46800
46801         * tests/test-file-has-acl.sh: Use different code for Cygwin.
46802         * tests/test-set-mode-acl.sh: Likewise.
46803         * tests/test-copy-acl.sh: Likewise.
46804         * tests/test-copy-file.sh: Likewise.
46805
46806 2008-06-02  Bruno Haible  <bruno@clisp.org>
46807
46808         * tests/test-file-has-acl.sh: Remove unused code.
46809
46810 2008-06-01  Bruno Haible  <bruno@clisp.org>
46811
46812         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
46813         (copy_acl): Just a wrapper around qcopy_acl that emits the error
46814         messages.
46815         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
46816
46817 2008-06-01  Bruno Haible  <bruno@clisp.org>
46818
46819         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
46820         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
46821         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
46822         APIs.
46823         * modules/acl-tests (configure.ac): Remove tests now contained in
46824         m4/acl.m4.
46825
46826 2008-06-02  Jim Meyering  <meyering@redhat.com>
46827
46828         announce-gen: use a better key-server host name
46829         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
46830         it may be more consistently reliable.  Suggested by Werner Koch
46831         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
46832
46833 2008-06-01  Bruno Haible  <bruno@clisp.org>
46834
46835         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
46836         Reported by Voroskoi Andras <voroskoi@gmail.com>.
46837
46838 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
46839
46840         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
46841
46842 2008-06-01  Bruno Haible  <bruno@clisp.org>
46843
46844         New ACL tests.
46845         * tests/test-file-has-acl.sh: New file.
46846         * tests/test-file-has-acl.c: New file.
46847         * tests/test-set-mode-acl.sh: New file.
46848         * tests/test-set-mode-acl.c: New file.
46849         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
46850         * tests/test-copy-acl.c: New file.
46851         * modules/acl-tests: New file, based on modules/copy-file-tests.
46852         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
46853         (Depends-on): Add acl-tests.
46854         (configure.ac): Remove checks.
46855         (Makefile.am): Don't create test-sameacls program here any more.
46856
46857 2008-06-01  Bruno Haible  <bruno@clisp.org>
46858
46859         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
46860         * tests/test-sameacls.c: Include progname.h.
46861         (main): Invoke set_program_name. Portability fixes for MacOS X,
46862         Solaris, HP-UX.
46863
46864 2008-06-01  Bruno Haible  <bruno@clisp.org>
46865
46866         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
46867         function.
46868         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
46869
46870 2008-06-01  Bruno Haible  <bruno@clisp.org>
46871
46872         * modules/rpmatch (Depends-on): Add strdup.
46873
46874 2008-06-01  Bruno Haible  <bruno@clisp.org>
46875
46876         * lib/pipe.c: Include unistd-safer.h.
46877         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
46878         * modules/pipe (Depends-on): Add unistd-safer.
46879
46880 2008-05-30  Simon Josefsson  <simon@josefsson.org>
46881
46882         * modules/autobuild (configure.ac): Call AB_INIT.
46883
46884 2008-05-30  Simon Josefsson  <simon@josefsson.org>
46885
46886         * tests/test-getaddrinfo.c: Don't print debug messages by default.
46887         Suggested by Bruno Haible <bruno@clisp.org>.
46888
46889 2008-05-30  Simon Josefsson  <simon@josefsson.org>
46890
46891         * tests/test-base64.c: Cast size_t to unsigned long when invoking
46892         printf.  Use %lu instead of %d.  Reported by Bruno Haible
46893         <bruno@clisp.org>.
46894
46895 2008-05-29  Eric Blake  <ebb9@byu.net>
46896
46897         Prefer new POSIX 200x interfaces over futimesat.
46898         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
46899         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
46900         when available.
46901         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
46902
46903 2008-05-28  Bruno Haible  <bruno@clisp.org>
46904
46905         * modules/stpcpy (License): Change to LGPLv2+.
46906         Requested by David Lutterkort <dlutter@redhat.com>.
46907
46908 2008-05-27  Bruno Haible  <bruno@clisp.org>
46909
46910         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
46911         current mingw.
46912         Reported by Jose E. Marchesi <jemarch@gnu.org>.
46913
46914 2008-05-27  Bruno Haible  <bruno@clisp.org>
46915
46916         * modules/iconv_open (Link): New section, from module 'iconv'.
46917         * modules/striconv (Link): Likewise.
46918         * modules/striconveh (Link): Likewise.
46919         * modules/xstriconv (Link): Likewise.
46920         * modules/unicodeio (Link): Likewise.
46921         * modules/propername (Link): Likewise.
46922         Reported by Jim Meyering.
46923
46924 2008-05-26  Jim Meyering  <meyering@redhat.com>
46925
46926         sha256: do not artificially restrict buffer length to be < 2^32
46927         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
46928         uint32_t to size_t.
46929         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
46930         to match.
46931
46932         avoid unaligned access errors, e.g., on sparc
46933         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
46934         direct access through a possibly-unaligned uint64* pointer.
46935         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
46936         direct access through a possibly-unaligned uint32* pointer.
46937         Prompted by this patch from Tom "spot" Callaway:
46938         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
46939
46940         sha512.c: fix typo in comment
46941         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
46942
46943 2008-05-25  Bruno Haible  <bruno@clisp.org>
46944
46945         * lib/set-mode-acl.c: Renamed from lib/acl.c.
46946         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
46947         (Makefile.am): Update lib_SOURCES.
46948
46949 2008-05-25  Bruno Haible  <bruno@clisp.org>
46950
46951         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
46952
46953 2008-05-25  Jim Meyering  <meyering@redhat.com>
46954
46955         useless-if-before-free: freed expr may have white-space differences
46956         * build-aux/useless-if-before-free: Recognize cases in which the
46957         freed expression differs from the tested one in embedded white
46958         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
46959         $1 was used, so we can't make any regexp shy.  Improved tests now
46960         detect this.
46961
46962         useless-if-before-free: accept white space in the expression.
46963         * build-aux/useless-if-before-free: For now, any white space
46964         in the expression must be identical in the free argument.
46965
46966         useless-if-before-free: efficiency tweak
46967         * build-aux/useless-if-before-free: Make the expression-matching
46968         regexp "shy".
46969         Make the *outer* regexp shy, not the expr-matching one.
46970
46971         update code-in-comment to accept cast of free arg
46972         * build-aux/useless-if-before-free: Update regexp.
46973
46974 2008-05-25  Bruno Haible  <bruno@clisp.org>
46975
46976         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
46977         * modules/copy-file-tests (Files, Makefile.am): Update.
46978         * tests/test-copy-file.c (func_test_copy): Update.
46979
46980 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
46981
46982         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
46983
46984 2008-05-23  Bruno Haible  <bruno@clisp.org>
46985
46986         Improve support for ACLs on OSF/1.
46987         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
46988         Remove fallback for unknown flavors of ACLs.
46989
46990 2008-05-22  Bruno Haible  <bruno@clisp.org>
46991
46992         Add support for ACLs on OSF/1.
46993         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
46994         replacements.
46995         (acl_free_text): New macro fallback.
46996         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
46997         acl_free.
46998         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
46999         acl_free_text function. Require AC_C_INLINE.
47000
47001 2008-05-22  Bruno Haible  <bruno@clisp.org>
47002
47003         Make copy_acl work on MacOS X 10.5.
47004         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
47005         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
47006         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
47007         If MODE_INSIDE_ACL, don't assume that every system has the same text
47008         representation for ACLs as FreeBSD.
47009         * lib/copy-acl.c (copy_acl): Add support for platforms with
47010         !MODE_INSIDE_ACL.
47011         * lib/file-has-acl.c (file_has_acl): Likewise.
47012         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
47013         FreeBSD, MacOS X, or IRIX, respectively.
47014
47015 2008-05-22  Bruno Haible  <bruno@clisp.org>
47016
47017         * lib/acl.h: Don't include <sys/acl.h>.
47018         (GETACLCNT): Move fallback to lib/acl-internal.h.
47019         * lib/acl-internal.h: Include <sys/acl.h> here.
47020         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
47021
47022 2008-05-22  Bruno Haible  <bruno@clisp.org>
47023
47024         Split off copy_acl function to separate file.
47025         * lib/copy-acl.c: New file, extracted from lib/acl.c.
47026         * lib/acl.c (copy_acl): Moved function to separate file.
47027         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
47028         * modules/acl (Files): Add lib/copy-acl.c.
47029         (Makefiles.am): Augment lib_SOURCES.
47030
47031 2008-05-22  Bruno Haible  <bruno@clisp.org>
47032
47033         * modules/copy-file-tests: New file.
47034         * tests/test-copy-file.sh: New file.
47035         * tests/test-copy-file.c: New file.
47036         * tests/test-copy-file-sameacls.c: New file.
47037
47038 2008-05-22  Eric Blake  <ebb9@byu.net>
47039
47040         Avoid gcc warning.
47041         * tests/test-memcmp.c (main): Pass NULL indirectly.
47042
47043 2008-05-21  Bruno Haible  <bruno@clisp.org>
47044
47045         Add reference doc about ACLs.
47046         * doc/acl-resources.txt: New file.
47047         * doc/acl-cygwin.txt: New file.
47048
47049 2008-05-21  Bruno Haible  <bruno@clisp.org>
47050
47051         Avoid one more warning from gcc.
47052         * lib/vasnprintf.c (IF_LINT): Update comments.
47053         (VASNPRINTF): Use it also for the 'prefix' array initializer.
47054
47055 2008-05-21  Jim Meyering  <meyering@redhat.com>
47056
47057         avoid a warning from gcc
47058         * lib/vasnprintf.c (IF_LINT): Define.
47059         (scale10_round_decimal_long_double):
47060         Use it to avoid a "may be used uninitialized" warning.
47061         (scale10_round_decimal_double): Likewise.
47062
47063 2008-05-21  Simon Josefsson  <simon@josefsson.org>
47064
47065         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
47066         declared.
47067
47068 2008-05-20  Bruno Haible  <bruno@clisp.org>
47069
47070         * tests/test-memcmp.c (main): Test also the sign of the result. Test
47071         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
47072
47073 2008-05-20  Simon Josefsson  <simon@josefsson.org>
47074
47075         * modules/memcmp-tests: New file.
47076         * tests/test-memcmp.c: New file.
47077
47078 2008-05-19  Bruno Haible  <bruno@clisp.org>
47079
47080         * modules/propername (Notice, configure.ac): Put quoted "..." into
47081         --keyword option.
47082         * lib/propername.h: Update comments accordingly.
47083         Reported by Eric Blake.
47084
47085 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
47086
47087         * modules/getpass-gnu (Depends-on): Add fseeko.
47088
47089 2008-05-19  Simon Josefsson  <simon@josefsson.org>
47090
47091         * modules/base64-tests: New file.
47092
47093 2008-05-19  Bo Borgerson <gigabo@gmail.com>
47094
47095         * lib/base64.c (base64_decode_ctx): If a decode context structure
47096         was passed in use it to ignore newlines.  If a context structure
47097         was _not_ passed in, continue to treat newlines as garbage (this
47098         is the historical behavior).  Formerly base64_decode.
47099         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
47100         takes a decode context structure.
47101         * lib/base64.h (base64_decode): Macro for four-argument calls.
47102         (base64_decode_alloc): Likewise.
47103         * lib/base64.c (base64_decode_ctx): If a decode context structure
47104         was passed in use it to ignore newlines.  If a context structure
47105         was _not_ passed in, continue to treat newlines as garbage (this
47106         is the historical behavior).  Formerly base64_decode.
47107         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
47108         takes a decode context structure.
47109         * lib/base64.h (base64_decode): Macro for four-argument calls.
47110         (base64_decode_alloc): Likewise.
47111
47112 2008-05-19  Jim Meyering  <meyering@redhat.com>
47113
47114         avoid a warning from gcc
47115         * lib/trim.c (IF_LINT): Define.
47116         (trim2): Use it to avoid a "may be used uninitialized" warning.
47117
47118         Fix doc typo.
47119         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
47120
47121 2008-05-19  Bruno Haible  <bruno@clisp.org>
47122
47123         * doc/glibc-functions/getpass.texi: Document limits of other
47124         implementations.
47125
47126 2008-05-19  Simon Josefsson  <simon@josefsson.org>
47127             Bruno Haible <bruno@clisp.org>
47128
47129         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
47130
47131 2008-05-18  Bruno Haible  <bruno@clisp.org>
47132
47133         * modules/propername: New file, from GNU gettext.
47134         * lib/propername.h: New file, from GNU gettext.
47135         * lib/propername.c: New file, from GNU gettext.
47136         * MODULES.html.sh (Internationalization functions): Add propername.
47137
47138 2008-05-16  Jim Meyering  <meyering@redhat.com>
47139             Bruno Haible  <bruno@clisp.org>
47140
47141         Avoid some warnings from "gcc -Wshadow".
47142         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
47143
47144 2008-05-15  Eric Blake  <ebb9@byu.net>
47145
47146         Extend previous patch to cygwin 1.7.0.
47147         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
47148         fast implementation in cygwin >= 1.7.0.
47149         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
47150         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
47151
47152 2008-05-15  Bruno Haible  <bruno@clisp.org>
47153
47154         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
47155         implementation in glibc >= 2.9.
47156         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
47157         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
47158
47159 2008-05-15  Bruno Haible  <bruno@clisp.org>
47160
47161         * MODULES.html.sh (Internationalization functions): Remove linebreak.
47162         (Unicode string functions): Add unilbrk/*.
47163         Reported by Karl Berry.
47164
47165 2008-05-15  Eric Blake  <ebb9@byu.net>
47166
47167         Fix violation of <stdbool.h> replacement in regex.
47168         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
47169         * lib/regexec.c (re_search_internal): Likewise.
47170         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
47171
47172 2008-05-15  Jim Meyering  <meyering@redhat.com>
47173
47174         avoid distracting test output when git or cvs is not found
47175         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
47176         * tests/test-vc-list-files-git.sh: Likewise.
47177
47178 2008-05-15  Eric Blake  <ebb9@byu.net>
47179
47180         Glibc finally accepted the memmem speedup code, bugzilla #5514.
47181         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
47182         glibc version.
47183         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
47184         * doc/posix-functions/strstr.texi (strstr): Likewise.
47185         * lib/str-two-way.h (MAX): Sychronize with glibc.
47186
47187 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
47188
47189         * lib/regcomp.c (optimize_utf8): Add a note on why we test
47190         opr.ctx_type.
47191         (calc_first): Initialize constraint field.
47192         (duplicate_node_closure): Use it instead of special casing ANCHORS.
47193         Fix grammar.
47194         (duplicate_node): Merge constraint field for all node types.
47195         (calc_eclosure_iter): Look at constraint field for all node types.
47196         * lib/regex_internal.c (create_cd_newstate): Don't look at
47197         opr.ctx_type.
47198
47199 2008-05-14  Bruno Haible  <bruno@clisp.org>
47200
47201         Help GCC to do better code generation.
47202         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
47203         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
47204         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
47205         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
47206         Declare with attribute 'malloc' if supported.
47207
47208 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
47209
47210         use "echo STR|wc -c" rather than unportable "expr length STR"
47211         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
47212         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
47213
47214 2008-05-14  Jim Meyering  <meyering@redhat.com>
47215
47216         use dd ibs=$n count=1 ... rather than less-portable head -c$n
47217         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
47218         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
47219         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
47220         via Collin Lasse.
47221
47222 2008-05-14  Eric Blake  <ebb9@byu.net>
47223
47224         Avoid quadratic growth in gl_LIBSOURCES.
47225         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
47226         Suggested by Bruno Haible.
47227
47228         Test xmemdup0.
47229         * modules/xmemdup0-tests: New file.
47230         * tests/test-xmemdup0.c: Likewise.
47231
47232 2008-05-13  Eric Blake  <ebb9@byu.net>
47233
47234         Split xmemdup0 into its own module.
47235         * modules/xmemdup0: New file.
47236         * lib/xmemdup0.h: Likewise.
47237         * lib/xmemdup0.c: Likewise.
47238         * MODULES.html.sh (Memory management functions): Add xmemdup0.
47239         * lib/xalloc.h (xmemdup0): Remove.
47240         * lib/xmalloc.c (xmemdup0): Likewise.
47241
47242 2008-05-13  Eric Blake  <ebb9@byu.net>
47243             Bruno Haible  <bruno@clisp.org>
47244
47245         Reduce number of forks required during autoconf.
47246         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
47247         and gl_LIBSOURCES_DIR.
47248         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
47249         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
47250         m4_syscmd per file.
47251         <m4_foreach_w>: Move...
47252         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
47253
47254 2008-05-13  Eric Blake  <ebb9@byu.net>
47255
47256         * gnulib-tool: Fix various comment typos.
47257
47258 2008-05-12  Bruno Haible  <bruno@clisp.org>
47259
47260         Tailor the linebreaking algorithm.
47261         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
47262
47263 2008-05-12  Bruno Haible  <bruno@clisp.org>
47264
47265         Update to Unicode 5.0.0.
47266         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
47267         LBP_JV, LBP_JT. Redistribute values.
47268         (unilbrk_table): Change size.
47269         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
47270         Unicode TR#14 rev. 22.
47271         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
47272         LBP_JV, LBP_JT. Redistribute values.
47273         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
47274         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
47275         Update.
47276         * lib/unilbrk/lbrkprop1.h: Regenerated.
47277         * lib/unilbrk/lbrkprop2.h: Regenerated.
47278         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
47279         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
47280         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
47281         Likewise.
47282         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
47283         Likewise.
47284         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
47285         result.
47286         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
47287         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
47288         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
47289         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
47290         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
47291         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
47292
47293 2008-05-11  Bruno Haible  <bruno@clisp.org>
47294
47295         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
47296
47297 2008-05-11  Bruno Haible  <bruno@clisp.org>
47298
47299         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
47300         * modules/unilbrk/gen-lbrk: New file.
47301
47302 2008-05-11  Bruno Haible  <bruno@clisp.org>
47303
47304         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
47305         * m4/sha512.m4 (gl_SHA512): Likewise.
47306
47307 2008-05-11  Jim Meyering  <meyering@redhat.com>
47308
47309         New modules: crypto/sha256, crypto/sha512 (from coreutils)
47310         * modules/crypto/sha256: New file.
47311         * modules/crypto/sha512: Likewise.
47312         * lib/sha256.c: Likewise.
47313         * lib/sha256.h: Likewise.
47314         * lib/sha512.c: Likewise.
47315         * lib/sha512.h: Likewise.
47316         * lib/u64.h: Likewise.
47317         * m4/sha256.m4: Likewise.
47318         * m4/sha512.m4: Likewise.
47319         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
47320
47321 2008-05-10  Bruno Haible  <bruno@clisp.org>
47322
47323         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
47324         (Input/Output <stdio.h>): Add xprintf.
47325         (Signal handling <signal.h>): Add strsignal.
47326         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
47327         (Core language properties): Add func.
47328         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
47329         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
47330         strings.
47331         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
47332         (Input/output): New section.
47333         (File system functions): Add openat-die, stat-macros.
47334         (Networking functions): Add sockets.
47335         (Unicode string functions): Add unictype/*.
47336         (Support for building libraries and executables): Add gperf.
47337         (Support for building documentation): Add agpl-3.0.
47338         (Misc): Add nocrash.
47339
47340 2008-05-10  Bruno Haible  <bruno@clisp.org>
47341
47342         * modules/unictype/gen-ctype: New file.
47343
47344 2008-05-10  Jim Meyering  <meyering@redhat.com>
47345
47346         Make chdir-safer.c more efficient on a system with no symlinks.
47347         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
47348         also if ELOOP is zero.  Suggested by Bruno Haible.
47349
47350         Make chdir-safer.c slightly safer.
47351         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
47352         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
47353
47354         Avoid compile failure on systems without ELOOP (like mingw).
47355         * lib/chdir-safer.c (ELOOP): Define if not already defined.
47356         Reported by Bruno Haible.
47357
47358 2008-05-10  Bruno Haible  <bruno@clisp.org>
47359
47360         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
47361         (is_utf8_encoding): Use a case-insensitive comparison.
47362         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
47363         streq.
47364
47365 2008-05-10  Bruno Haible  <bruno@clisp.org>
47366
47367         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
47368         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
47369         * lib/unilbrk/ulc-common.h (iconv_string_length,
47370         iconv_string_keeping_offsets): Remove declarations.
47371         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
47372         Don't include <iconv.h>, streq.h, xsize.h.
47373         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
47374         conversion.
47375         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
47376         <iconv.h>, streq.h, xsize.h.
47377         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
47378         conversion.
47379         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
47380         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
47381         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
47382         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
47383
47384 2008-05-10  Bruno Haible  <bruno@clisp.org>
47385
47386         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
47387         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
47388
47389         * modules/unilbrk/u32-width-linebreaks-tests: New file.
47390         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
47391
47392         * modules/unilbrk/u16-width-linebreaks-tests: New file.
47393         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
47394
47395         * modules/unilbrk/u8-width-linebreaks-tests: New file.
47396         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
47397
47398         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
47399         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
47400
47401         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
47402         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
47403
47404         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
47405         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
47406
47407         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
47408         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
47409
47410 2008-05-10  Bruno Haible  <bruno@clisp.org>
47411
47412         Split up 'linebreak' module.
47413         * lib/unilbrk.h: New file, based on lib/linebreak.h.
47414         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
47415         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
47416         modifications.
47417         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
47418         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
47419         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
47420         lib/linebreak.c.
47421         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
47422         lib/linebreak.c.
47423         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
47424         lib/linebreak.c.
47425         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
47426         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
47427         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
47428         lib/linebreak.c.
47429         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
47430         lib/linebreak.c.
47431         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
47432         lib/linebreak.c.
47433         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
47434         lib/linebreak.c.
47435         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
47436         lib/linebreak.c.
47437         * modules/unilbrk/base: New file.
47438         * modules/unilbrk/tables: New file.
47439         * modules/unilbrk/u8-possible-linebreaks: New file.
47440         * modules/unilbrk/u16-possible-linebreaks: New file.
47441         * modules/unilbrk/u32-possible-linebreaks: New file.
47442         * modules/unilbrk/ulc-common: New file.
47443         * modules/unilbrk/ulc-possible-linebreaks: New file.
47444         * modules/unilbrk/u8-width-linebreaks: New file.
47445         * modules/unilbrk/u16-width-linebreaks: New file.
47446         * modules/unilbrk/u32-width-linebreaks: New file.
47447         * modules/unilbrk/ulc-width-linebreaks: New file.
47448         * lib/linebreak.h: Remove file.
47449         * lib/linebreak.c: Remove file.
47450         * m4/linebreak.m4: Remove file.
47451         * modules/linebreak: Remove file.
47452         * NEWS: Mention the changes.
47453
47454 2008-05-09  Eric Blake  <ebb9@byu.net>
47455
47456         Add xmemdup0.
47457         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
47458         implementation.
47459         * lib/xmalloc.c (xmemdup0): New C implementation.
47460
47461 2008-05-08  Bruno Haible  <bruno@clisp.org>
47462
47463         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
47464
47465 2008-05-07  Eric Blake  <ebb9@byu.net>
47466
47467         Support cross-compilation of <wctype.h>.
47468         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
47469         AC_CACHE_CHECK.
47470
47471 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
47472
47473         * build-aux/vc-list-files: Add support for bzr.
47474
47475 2008-05-03  Jim Meyering  <meyering@redhat.com>
47476
47477         avoid failed assertion with tight malloc
47478         * tests/test-getndelim2.c: Correct an off-by-one assertion.
47479
47480 2008-05-03  Simon Josefsson  <simon@josefsson.org>
47481
47482         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
47483         are needed from arpa/inet.h.
47484         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
47485         Reported by Bruno Haible.
47486
47487 2008-05-02  Jim Meyering  <meyering@redhat.com>
47488
47489         avoid compilation error on FreeBSD 6
47490         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
47491
47492 2008-05-01  Jim Meyering  <meyering@redhat.com>
47493
47494         useless-if-before-free: correct --help's exit status description
47495         * build-aux/useless-if-before-free (usage): Like grep, exit 0
47496         for one or more matches, etc.  Reported by Bruno Haible.
47497
47498         vc-list-files: make the stand-alone gnulib test work
47499         * modules/vc-list-files-tests (configure.ac):
47500         Define and AC_SUBST abs_aux_dir.
47501         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
47502         $(abs_top_srcdir) to each script and having each of them
47503         duplicate the work of setting PATH, set PATH here, using
47504         the new variable, abs_aux_dir instead.
47505         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
47506         * tests/test-vc-list-files-git.sh: Likewise.
47507         Reported by Bruno Haible.
47508
47509 2008-05-01  Bruno Haible  <bruno@clisp.org>
47510
47511         * lib/getndelim2.c (getndelim2): Fix newsize computation during
47512         reallocation. Rename 'done' to 'found_delimiter'.
47513
47514 2008-05-01  Jim Meyering  <meyering@redhat.com>
47515
47516         vc-list-files: accommodate /bin/sh like the one from Solaris 10
47517         * build-aux/vc-list-files: Use `...`, not $(...).
47518
47519 2008-04-30  Jim Meyering  <meyering@redhat.com>
47520
47521         add tests for vc-list-files
47522         * modules/vc-list-files-tests: New module.
47523         * tests/test-vc-list-files-cvs.sh: New file.
47524         * tests/test-vc-list-files-git.sh: New file.
47525
47526         avoid a warning from gcc
47527         * lib/getndelim2.c (IF_LINT): Define.
47528         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
47529
47530         vc-list-files: work properly with build-aux/cvsu, too
47531         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
47532         to all cvs-based clauses.
47533
47534         vc-list-files: work properly in the CVS+awk case, too
47535         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
47536
47537         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
47538         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
47539         take more than one file argument, so .  Add quotes, just in case $dir
47540         ever contains a shell meta-character.  Prompted by Soren Hansen in
47541         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
47542
47543 2008-04-29  Eric Blake  <ebb9@byu.net>
47544
47545         Optimize getndelim2 to use block operations when possible.
47546         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
47547         freadseek, and memchr2.
47548         * lib/getndelim2.c (getndelim2): Use them for block reads.
47549
47550 2008-04-29  Bruno Haible  <bruno@clisp.org>
47551
47552         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
47553         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
47554         * modules/inet_ntop (Depends-on): Add extensions.
47555         * modules/inet_pton (Depends-on): Likewise.
47556         Reported by Simon Josefsson.
47557
47558 2008-04-29  Jim Meyering  <meyering@redhat.com>
47559
47560         When the is more than one match in a block, match all of them.
47561         * build-aux/useless-if-before-free: Iterate through each block
47562         until there are no more matches.
47563
47564         Fix broken useless-if-before-free script.
47565         * build-aux/useless-if-before-free: Fix typo: missing "?" after
47566         the expression to match cast of argument to free-like function.
47567
47568 2008-04-29  Eric Blake  <ebb9@byu.net>
47569
47570         Use new header.
47571         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
47572
47573 2008-04-29  Jim Meyering  <meyering@redhat.com>
47574
47575         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
47576         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
47577         by gnulib to exist and to declare e.g., inet_ntop.
47578         Don't include "inet_ntop.h", now removed.
47579
47580         * m4/arpa_inet_h.m4: Remove trailing blanks.
47581
47582 2008-04-29  Eric Blake  <ebb9@byu.net>
47583
47584         Silence valgrind on safe reads beyond potential array bounds.
47585         * lib/rawmemchr.valgrind: New file.
47586         * lib/strchrnul.valgrind: Likewise.
47587         * modules/rawmemchr (Files): Distribute new file.
47588         * modules/strchrnul (Files): Likewise.
47589         Suggested by Bruno Haible.
47590
47591 2008-04-29  Bruno Haible  <bruno@clisp.org>
47592
47593         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
47594         (inet_ntop, inet_pton): Change portability warning's wording.
47595         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
47596         Invoke gl_CHECK_NEXT_HEADERS.
47597         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
47598         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
47599         set ARPA_INET_H.
47600         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
47601         * modules/arpa_inet (Description): No longer only for systems that
47602         lack it.
47603         (Depends-on): Add include_next.
47604         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
47605         HAVE_ARPA_INET_H.
47606
47607 2008-04-29  Jim Meyering  <meyering@redhat.com>
47608
47609         * modules/mkdir (License): Re-license as LGPLv2+.
47610
47611 2008-04-29  Bruno Haible  <bruno@clisp.org>
47612
47613         * modules/rawmemchr (Maintainer): Set to Eric.
47614         * modules/strchrnul (Maintainer): Likewise.
47615
47616 2008-04-29  Simon Josefsson  <simon@josefsson.org>
47617
47618         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
47619         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
47620
47621         * modules/arpa_inet (arpa/inet.h): Use them.
47622
47623 2008-04-28  Eric Blake  <ebb9@byu.net>
47624
47625         Test getndelim2.
47626         * modules/getndelim2-tests: New file.
47627         * tests/test-getndelim2.c: Likewise.
47628         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
47629         stream.
47630         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
47631
47632         * MODULES.html.sh: Document new module.
47633
47634 2008-04-20  Bruno Haible  <bruno@clisp.org>
47635
47636         * lib/c-stack.c (die): Use raise.
47637         * modules/c-stack (Depends-on): Add raise.
47638
47639 2008-04-28  Bruno Haible  <bruno@clisp.org>
47640
47641         Expect rpmatch to be declared.
47642         * lib/yesno.c (rpmatch): Remove declaration.
47643
47644         Declare rpmatch.
47645         * lib/stdlib.in.h (rpmatch): New declaration.
47646         * lib/rpmatch.c: Include <stdlib.h> first.
47647         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
47648         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
47649         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
47650         HAVE_RPMATCH.
47651         * modules/rpmatch (Depends-on): Add stdlib, extensions.
47652         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
47653         (Include): Set to <stdlib.h>.
47654         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
47655         HAVE_RPMATCH.
47656         * NEWS: Document the change.
47657
47658 2008-04-28  Bruno Haible  <bruno@clisp.org>
47659
47660         Change rpmatch to use nl_langinfo when appropriate.
47661         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
47662         (N_): New macro.
47663         (localized_pattern): New function/macro.
47664         (try): Remove match, nomatch arguments. Copy the pattern into safe
47665         memory before caching it.
47666         (rpmatch): Use localized_pattern. Add translator comments.
47667         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
47668         Suggested by Eric Blake.
47669         * modules/rpmatch (Depends-on): Add stdbool.
47670
47671 2008-04-28  Eric Blake  <ebb9@byu.net>
47672
47673         Add rawmemchr module, matching glibc.
47674         * modules/string (Makefile.am): New indicator.
47675         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
47676         * lib/string.in.h (rawmemchr): Declare when appropriate.
47677         * modules/rawmemchr: New file.
47678         * m4/rawmemchr.m4: Likewise.
47679         * lib/rawmemchr.c: Likewise.
47680         * modules/rawmemchr-tests: Likewise.
47681         * tests/test-rawmemchr.c: Likewise.
47682         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
47683         module.
47684         * modules/strchrnul (Depends-on): Add rawmemchr.
47685         * lib/strchrnul.c (strchrnul): Optimize a corner case.
47686
47687         Whitespace cleanup.
47688         * tests/test-strchrnul.c: Reindent.
47689         * lib/strchrnul.c: Likewise.
47690
47691         Optimize and test strchrnul.
47692         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
47693         * modules/strchrnul-tests: New file.
47694         * tests/test-strchrnul.c: Likewise.
47695
47696         Remove intprops dependency.
47697         * modules/memchr (Depends-on): Remove intprops.
47698         * modules/memrchr (Depends-on): Likewise.
47699         * modules/memchr2 (Depends-on): Likewise.
47700         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
47701         * lib/memrchr.c (__memrchr): Likewise.
47702         * lib/memrchr2.c (memchr2): Likewise.
47703         Reported by Simon Josefsson.
47704
47705 2008-04-28  Simon Josefsson  <simon@josefsson.org>
47706
47707         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
47708         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47709
47710 2008-04-28  Simon Josefsson  <simon@josefsson.org>
47711
47712         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
47713
47714         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
47715
47716         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
47717
47718         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
47719         declarations.
47720         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
47721
47722         * m4/inet_pton.m4: Don't check for header files.
47723
47724         * m4/inet_ntop.m4: Don't check for header files.
47725
47726 2008-04-28  Simon Josefsson  <simon@josefsson.org>
47727
47728         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
47729         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
47730         trigger for cygwin).
47731         Reported by Bruno Haible  <bruno@clisp.org>.
47732
47733 2008-04-28  Bruno Haible  <bruno@clisp.org>
47734
47735         * doc/posix-functions/strdup.texi: Mention mingw problem.
47736
47737 2008-04-27  Bruno Haible  <bruno@clisp.org>
47738
47739         * modules/stat-time-tests (Depends-on): Add sleep.
47740         * tests/test-stat-time.c (force_unlink): New function.
47741         (cleanup): Use it.
47742         (test_mtime): Remove the ctime related tests.
47743         (test_ctime): New function, containing the ctime related tests.
47744         (main): Call test_ctime, except on native Windows platforms.
47745
47746 2008-04-27  Bruno Haible  <bruno@clisp.org>
47747
47748         * lib/rpmatch.c (rpmatch): Add some comments.
47749         Reported by James Youngman <jay@gnu.org>.
47750
47751 2008-04-27  Bruno Haible  <bruno@clisp.org>
47752
47753         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
47754         quiet NaNs.
47755
47756 2008-04-27  Bruno Haible  <bruno@clisp.org>
47757
47758         Make test-yesno.sh work on mingw.
47759         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
47760         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
47761         (main): Set stdin to binary mode.
47762         * modules/yesno-tests (Depends-on): Add binary-io.
47763
47764 2008-04-27  Bruno Haible  <bruno@clisp.org>
47765
47766         Fix 'isfinite' on x86, x86_64, ia64 platforms.
47767         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
47768         argument that lie outside the IEEE 854 domain.
47769         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
47770         (gl_ISFINITE): Use it.
47771         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
47772
47773 2008-04-27  Bruno Haible  <bruno@clisp.org>
47774
47775         Allow local renaming in config.h.
47776         * lib/memrchr.c (memrchr): Don't undefine outside libc.
47777
47778 2008-04-27  Bruno Haible  <bruno@clisp.org>
47779
47780         * lib/memchr.c (__memchr): Change type of 'i'.
47781         * lib/memchr2.c (memchr2): Likewise.
47782
47783 2008-04-26  Eric Blake  <ebb9@byu.net>
47784         and Bruno Haible  <bruno@clisp.org>
47785
47786         Optimize and test memrchr.
47787         * modules/memrchr (Depends-on): Add intprops.
47788         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
47789         * modules/memrchr-tests: New file.
47790         * tests/test-memrchr.c: New file.
47791
47792 2008-04-26  Bruno Haible  <bruno@clisp.org>
47793
47794         Add tentative support for DragonFly BSD.
47795         * lib/stdio-impl.h: Add macros for DragonFly BSD.
47796         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
47797         fp.
47798         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
47799         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
47800         * lib/fpurge.c (fpurge): Likewise.
47801         * lib/freadable.c (freaadable): Likewise.
47802         * lib/freadahead.c (freadahead): Likewise.
47803         * lib/freading.c (freading): Likewise.
47804         * lib/freadptr.c (freadptr): Likewise.
47805         * lib/freadseek.c (freadptrinc): Likewise.
47806         * lib/fseeko.c (fseeko): Likewise.
47807         * lib/fseterr.c (fseterr): Likewise.
47808         * lib/fwritable.c (fwritable): Likewise.
47809         * lib/fwriting.c (fwriting): Likewise.
47810
47811 2008-04-26  Bruno Haible  <bruno@clisp.org>
47812
47813         * lib/stdio-impl.h: New file.
47814         * lib/fbufmode.c: Include stdio-impl.h.
47815         (fbufmode): Use fp_, remove redundant #defines.
47816         * lib/fflush.c: Include stdio-impl.h.
47817         (clear_ungetc_buffer): Remove redundant #defines.
47818         * lib/fpurge.c: Include stdio-impl.h.
47819         (fpurge): Remove redundant #defines.
47820         * lib/freadable.c: Include stdio-impl.h.
47821         (freadable): Remove redundant #defines.
47822         * lib/freadahead.c: Include stdio-impl.h.
47823         (freadahead): Remove redundant #defines.
47824         * lib/freading.c: Include stdio-impl.h.
47825         (freading): Remove redundant #defines.
47826         * lib/freadptr.c: Include stdio-impl.h.
47827         (freadptr): Remove redundant #defines.
47828         * lib/freadseek.c: Include stdio-impl.h.
47829         (freadptrinc): Remove redundant #defines.
47830         * lib/fseeko.c: Include stdio-impl.h.
47831         (rpl_fseeko): Remove redundant #defines.
47832         * lib/fseterr.c: Include stdio-impl.h.
47833         (fseterr): Remove redundant #defines.
47834         * lib/fwritable.c: Include stdio-impl.h.
47835         (fwritable: Remove redundant #defines.
47836         * lib/fwriting.c: Include stdio-impl.h.
47837         (fwriting): Remove redundant #defines.
47838         * modules/fbufmode (Files): Add lib/stdio-impl.h.
47839         * modules/fflush (Files): Likewise.
47840         * modules/fpurge (Files): Likewise.
47841         * modules/freadable (Files): Likewise.
47842         * modules/freadahead (Files): Likewise.
47843         * modules/freading (Files): Likewise.
47844         * modules/freadptr (Files): Likewise.
47845         * modules/freadseek (Files): Likewise.
47846         * modules/fseeko (Files): Likewise.
47847         * modules/fseterr (Files): Likewise.
47848         * modules/fwritable (Files): Likewise.
47849         * modules/fwriting (Files): Likewise.
47850
47851 2008-04-26  Bruno Haible  <bruno@clisp.org>
47852
47853         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
47854         restore_seek_optimization, update_fpos_cache): New functions, extracted
47855         from rpl_fflush.
47856         (rpl_fflush): Use them.
47857         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
47858         (gl_REPLACE_FFLUSH): Use it.
47859
47860 2008-04-26  Bruno Haible  <bruno@clisp.org>
47861
47862         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
47863         on Solaris.
47864         * tests/test-xstrtoimax.sh: Likewise.
47865         * tests/test-xstrtoumax.sh: Likewise.
47866         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47867
47868 2008-04-26  Bruno Haible  <bruno@clisp.org>
47869
47870         * modules/memchr-tests: New file.
47871         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
47872
47873 2008-04-26  Eric Blake  <ebb9@byu.net>
47874             Bruno Haible  <bruno@clisp.org>
47875
47876         * lib/memchr.c: Include intprops.h.
47877         (__memchr): Optimize parallel detection of matching bytes. Rename local
47878         variables. Add explanatory comments.
47879
47880 2008-04-26  Bruno Haible  <bruno@clisp.org>
47881
47882         Fix module 'memchr', broken since 2000-10-28.
47883         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
47884
47885 2008-04-26  Bruno Haible  <bruno@clisp.org>
47886
47887         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
47888         comments.
47889
47890 2008-04-25  Eric Blake  <ebb9@byu.net>
47891
47892         Use native fstatat on cygwin 1.7.0.
47893         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
47894         first.
47895
47896 2008-04-23  Eric Blake  <ebb9@byu.net>
47897
47898         Improve memchr2 performance.
47899         * lib/memchr2.c (memchr2): Further optimize parallel detection of
47900         NUL bytes.
47901         * modules/memchr2 (Depends-on): Use intprops.h.
47902
47903 2008-04-23  Simon Josefsson  <simon@josefsson.org>
47904
47905         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
47906         an inline function instead of a CPP macro.  Patch by Ben Pfaff
47907         <blp@cs.stanford.edu>.
47908
47909 2008-04-23  Simon Josefsson  <simon@josefsson.org>
47910
47911         * lib/arpa_inet.in.h: New file.
47912
47913         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
47914         (Makefile.am): Sed in substitute header file.
47915
47916         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
47917         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
47918
47919         * modules/inet_ntop (configure.ac): Use
47920         gl_ARPA_INET_MODULE_INDICATOR.
47921
47922         * modules/inet_pton (configure.ac): Use
47923         gl_ARPA_INET_MODULE_INDICATOR.
47924
47925 2008-04-22  Jim Meyering  <meyering@redhat.com>
47926
47927         * modules/verify (License): Re-license as LGPLv2+.
47928
47929 2008-04-22  Simon Josefsson  <simon@josefsson.org>
47930
47931         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
47932         parameter to void* as per POSIX standard (MinGW uses char*).
47933
47934 2008-04-21  Bruno Haible  <bruno@clisp.org>
47935
47936         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
47937         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
47938         Define to replacements if REPLACE_ISWCNTRL is 1.
47939         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
47940         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
47941         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
47942         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
47943         what it fixes.
47944         * doc/posix-functions/iswalpha.texi: Likewise.
47945         * doc/posix-functions/iswblank.texi: Likewise.
47946         * doc/posix-functions/iswcntrl.texi: Likewise.
47947         * doc/posix-functions/iswdigit.texi: Likewise.
47948         * doc/posix-functions/iswgraph.texi: Likewise.
47949         * doc/posix-functions/iswlower.texi: Likewise.
47950         * doc/posix-functions/iswprint.texi: Likewise.
47951         * doc/posix-functions/iswpunct.texi: Likewise.
47952         * doc/posix-functions/iswspace.texi: Likewise.
47953         * doc/posix-functions/iswupper.texi: Likewise.
47954         * doc/posix-functions/iswxdigit.texi: Likewise.
47955         Reported by Alain Guibert.
47956
47957 2008-04-21  Bruno Haible  <bruno@clisp.org>
47958
47959         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
47960         Patch by Alain Guibert.
47961
47962 2008-04-21  Bruno Haible  <bruno@clisp.org>
47963
47964         Fix test failures on mingw.
47965         * tests/test-xstrtol.c (print_no_progname): New function.
47966         (main): Install it in error_print_progname hook.
47967         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
47968         * tests/test-xstrtoimax.sh: Likewise.
47969         * tests/test-xstrtoumax.sh: Likewise.
47970
47971 2008-04-21  Bruno Haible  <bruno@clisp.org>
47972
47973         Fix test failure on mingw.
47974         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
47975
47976 2008-04-21  Bruno Haible  <bruno@clisp.org>
47977
47978         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
47979         Actually assign a value.
47980
47981 2008-04-20  Bruno Haible  <bruno@clisp.org>
47982
47983         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
47984         take 2.
47985         * lib/canonicalize.c (canonicalize_file_name): Elide if the
47986         'canonicalize-lgpl' module is also used.
47987         * lib/canonicalize-lgpl.c: Undo last change.
47988         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
47989
47990 2008-04-20  Bruno Haible  <bruno@clisp.org>
47991
47992         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
47993         config.h. Provide _mkdir based fallback for mingw.
47994         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
47995         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
47996         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
47997         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
47998         rather than defining mkdir in config.h.
47999         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
48000         (gl_SYS_STAT_H_DEFAULTS): New macro.
48001         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
48002         HAVE_IO_H any more.
48003         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
48004         HAVE_DECL_MKDIR and HAVE_IO_H.
48005
48006 2008-04-20  Bruno Haible  <bruno@clisp.org>
48007
48008         * lib/isapipe.c: Port to native Windows platforms.
48009
48010 2008-04-20  Bruno Haible  <bruno@clisp.org>
48011
48012         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
48013
48014 2008-04-21  Eric Blake  <ebb9@byu.net>
48015
48016         Work around preprocessors that don't handle UINTMAX_MAX.
48017         * lib/memchr2.c (memchr2): Avoid embedded #if.
48018         Reported by Alain Guibert, fix suggested by Bruno Haible.
48019
48020 2008-04-21  Simon Josefsson  <simon@josefsson.org>
48021
48022         * doc/posix-functions/strftime.texi (strftime): Explain better
48023         Windows incompatibility.  Suggested by Micah Cowan
48024         <micah@cowan.name>.
48025
48026 2008-04-20  Bruno Haible  <bruno@clisp.org>
48027
48028         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
48029         unistr/u8-mblen.
48030
48031 2008-04-20  Bruno Haible  <bruno@clisp.org>
48032
48033         Fix test failure on platforms with non-GNU iconv.
48034         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
48035         (U_TO_U8): Use it, rather than u16_to_u8.
48036         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
48037         units at the end of the input string.
48038         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
48039
48040 2008-04-20  Bruno Haible  <bruno@clisp.org>
48041
48042         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
48043         when the resulting length is 0.
48044         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
48045
48046 2008-04-20  Bruno Haible  <bruno@clisp.org>
48047
48048         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
48049         works.
48050         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
48051
48052 2008-04-20  Bruno Haible  <bruno@clisp.org>
48053
48054         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
48055         * modules/tsearch-tests (configure.ac): Test for initstate function.
48056
48057 2008-04-20  Bruno Haible  <bruno@clisp.org>
48058
48059         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
48060         for nlink_t if missing.
48061         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
48062
48063 2008-04-19  Bruno Haible  <bruno@clisp.org>
48064
48065         Work around snprintf bug on Linux libc5.
48066         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
48067         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48068         gl_SNPRINTF_SIZE1.
48069         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48070         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
48071         that test failed.
48072         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
48073         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
48074         * modules/snprintf (Files): Add m4/printf.m4.
48075         * modules/vsnprintf (Files): Likewise.
48076         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
48077         * doc/posix-functions/vsnprintf.texi: Likewise.
48078
48079 2008-04-19  Bruno Haible  <bruno@clisp.org>
48080
48081         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
48082         from 0.0058 to less than 10^-7.
48083
48084 2008-04-19  Bruno Haible  <bruno@clisp.org>
48085
48086         Fix rounding when a precision is given.
48087         * lib/vasnprintf.c (is_borderline): New function.
48088         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
48089         9...9x.
48090         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
48091         %e, %g.
48092         * tests/test-vasprintf-posix.c (test_function): Likewise.
48093         * tests/test-snprintf-posix.h (test_function): Likewise.
48094         * tests/test-sprintf-posix.h (test_function): Likewise.
48095         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
48096         * tests/test-printf-posix.h (test_function): Likewise.
48097         * tests/test-printf-posix.output: Update.
48098         Reported by John Darrington <john@darrington.wattle.id.au> via
48099         Ben Pfaff <blp@cs.stanford.edu>.
48100
48101 2008-04-18  Simon Josefsson  <simon@josefsson.org>
48102
48103         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
48104         Suggested by Bruno Haible <bruno@clisp.org>.
48105
48106 2008-04-17  Bruno Haible  <bruno@clisp.org>
48107
48108         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
48109         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
48110         implementation.
48111         Patch by Bruce Merry <bmerry@gmail.com>.
48112
48113 2008-04-17  Simon Josefsson  <simon@josefsson.org>
48114
48115         * doc/posix-functions/strftime.texi (strftime): Mention that %e
48116         doesn't work under Windows.
48117
48118 2008-04-16  Bruno Haible  <bruno@clisp.org>
48119
48120         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
48121         New macros.
48122         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
48123         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
48124         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
48125         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
48126         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
48127         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
48128         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
48129         macros.
48130         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
48131         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
48132         Northern Sotho, Uighur.
48133
48134 2008-04-16  Bruno Haible  <bruno@clisp.org>
48135
48136         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
48137         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
48138         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
48139         Reported by Daniel Bergström <daniel@octocode.com>.
48140
48141 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
48142             Bruno Haible  <bruno@clisp.org>
48143
48144         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
48145         function.
48146         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
48147         New functions, mostly extracted from gl_locale_name_default.
48148         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
48149
48150 2008-04-16  Eric Blake  <ebb9@byu.net>
48151
48152         Adjust strtod detection to catch glibc 2.7 bug.
48153         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
48154         Reported by John Gatewood Ham.
48155
48156 2008-04-16  Bruno Haible  <bruno@clisp.org>
48157
48158         Add tentative support for Linux libc5.
48159         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
48160         * lib/fpurge.c (fpurge): Likewise.
48161         * lib/freadable.c (freadable): Likewise.
48162         * lib/freadahead.c (freadahead): Likewise.
48163         * lib/freading.c (freading): Likewise.
48164         * lib/freadptr.c (freadptr): Likewise.
48165         * lib/freadseek.c (freadptrinc): Likewise.
48166         * lib/fseeko.c (rpl_fseeko): Likewise.
48167         * lib/fseterr.c (fseterr): Likewise.
48168         * lib/fwritable.c (fwritable): Likewise.
48169         * lib/fwriting.c (fwriting): Likewise.
48170         Reported by Alain Guibert <alguibert+bts@free.fr>.
48171
48172 2008-04-15  Bruno Haible  <bruno@clisp.org>
48173
48174         * modules/mathl (configure.ac): Define module indicator.
48175
48176 2008-04-15  Bruno Haible  <bruno@clisp.org>
48177
48178         * lib/logl.c (logl): Remove unused variables.
48179
48180 2008-04-15  Bruno Haible  <bruno@clisp.org>
48181
48182         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
48183         fails.
48184
48185 2008-04-15  Bruno Haible  <bruno@clisp.org>
48186
48187         * lib/trim.c (trim2): Fix argument of isspace() macro.
48188
48189 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
48190
48191         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
48192         to 0.
48193         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
48194
48195 2008-04-14  Bruno Haible  <bruno@clisp.org>
48196
48197         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
48198         AC_LANG_PROGRAM argument.
48199         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
48200         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
48201         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
48202         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
48203         * m4/math_h.m4 (gl_MATH_H): Likewise.
48204         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
48205         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48206         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
48207         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
48208         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
48209         * m4/regex.m4 (gl_REGEX): Likewise.
48210         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
48211         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
48212         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48213         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
48214         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
48215         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
48216         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
48217         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
48218
48219 2008-04-14  Jim Meyering  <meyering@redhat.com>
48220
48221         test-strtod: fix typos: s/abs/fabs/
48222         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
48223
48224 2008-04-13  Bruno Haible  <bruno@clisp.org>
48225
48226         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
48227         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
48228         module is also used and while not building the reloc-wrapper.
48229
48230 2008-04-13  Bruno Haible  <bruno@clisp.org>
48231
48232         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
48233
48234 2008-04-13  Bruno Haible  <bruno@clisp.org>
48235
48236         Fix AIX compilation failure introduced on 2008-04-02.
48237         * tests/test-frexp.c (exp): Undefine before redefining.
48238         * tests/test-frexpl.c (exp): Likewise.
48239
48240 2008-04-13  Bruno Haible  <bruno@clisp.org>
48241
48242         Work around a HP-UX stdio bug.
48243         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
48244         * tests/test-ftello.c (main): Likewise.
48245         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
48246         * doc/posix-functions/ftello.texi: Likewise.
48247
48248 2008-04-13  Bruno Haible  <bruno@clisp.org>
48249
48250         Make test-signbit pass on HP-UX/hppa.
48251         * tests/test-signbit.c (minus_zerol): New variable.
48252         (test_signbitl): Use it.
48253
48254 2008-04-13  Bruno Haible  <bruno@clisp.org>
48255
48256         Make truncl work on OSF/1 4.0.
48257         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
48258         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
48259         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
48260         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
48261         HAVE_DECL_TRUNCL.
48262         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
48263         HAVE_DECL_TRUNCL.
48264         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
48265
48266 2008-04-13  Bruno Haible  <bruno@clisp.org>
48267
48268         * lib/unictype.h: Remove trailing comma from enumeration definitions.
48269
48270 2008-04-13  Bruno Haible  <bruno@clisp.org>
48271
48272         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
48273         expression, so as to avoid HP-UX 11 cc compiler bug.
48274
48275 2008-04-13  Bruno Haible  <bruno@clisp.org>
48276
48277         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
48278
48279 2008-04-13  Bruno Haible  <bruno@clisp.org>
48280
48281         * lib/git-merge-changelog.c: Remove empty declaration outside of
48282         functions.
48283
48284 2008-04-13  Bruno Haible  <bruno@clisp.org>
48285
48286         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
48287
48288 2008-04-13  Bruno Haible  <bruno@clisp.org>
48289
48290         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
48291         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
48292         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
48293         also if it exists but lacks definitions of the SHUT_* macros.
48294         * modules/sys_socket (Description): Update.
48295         Reported by Elbert Pol <e.pol@chello.nl>.
48296
48297 2008-04-13  Bruno Haible  <bruno@clisp.org>
48298
48299         * lib/localcharset.c (OS2): Don't redefine if already defined.
48300         Reported by Elbert Pol <e.pol@chello.nl>.
48301
48302 2008-04-13  Bruno Haible  <bruno@clisp.org>
48303
48304         * lib/binary-io.h [__EMX__]: Include <io.h>.
48305         Reported by Elbert Pol <e.pol@chello.nl>.
48306
48307 2008-04-12  Bruno Haible  <bruno@clisp.org>
48308
48309         * lib/fpucw.h: Enable the definitions also for x86_64.
48310         Needed for NetBSD/x86_64.
48311         Reported by Thomas Klausner <tk@giga.or.at>.
48312
48313 2008-04-12  Bruno Haible  <bruno@clisp.org>
48314
48315         * tests/test-strtod.c: Include isnand.h.
48316         (main): Use isnand instead of isnan.
48317         Reported by Jim Meyering.
48318
48319 2008-04-12  Bruno Haible  <bruno@clisp.org>
48320
48321         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
48322         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
48323
48324 2008-04-12  Jim Meyering  <meyering@redhat.com>
48325
48326         * m4/math_h.m4 (gl_MATH_H): Fix typos.
48327
48328 2008-04-12  Bruno Haible  <bruno@clisp.org>
48329
48330         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
48331         Reported by Elbert Pol <e.pol@chello.nl>.
48332
48333 2008-04-12  Eric Blake  <ebb9@byu.net>
48334
48335         Work around Solaris 10 math.h bug.
48336         * m4/math_h.m4 (gl_MATH_H): Check for bug.
48337         (gl_MATH_H_DEFAULTS): Set up default.
48338         * modules/math (Makefile.am): Replace new indicators.
48339         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
48340         * tests/test-math.c (main): Test this.
48341         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
48342         * doc/posix-headers/math.texi (math.h): Mention bug.
48343         Reported by Nelson H. F. Beebe and Jim Meyering.
48344
48345 2008-04-11  Bruno Haible  <bruno@clisp.org>
48346
48347         Adapt to future versions of Apple GCC.
48348         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
48349         Reported by Peter O'Gorman <peter@pogma.com>.
48350
48351 2008-04-11  Bruno Haible  <bruno@clisp.org>
48352
48353         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
48354
48355 2008-04-11  Bruno Haible  <bruno@clisp.org>
48356
48357         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
48358
48359         * modules/getaddrinfo-tests (Makefile.am): Define
48360         test_getaddrinfo_LDADD.
48361
48362 2008-04-11  Bruno Haible  <bruno@clisp.org>
48363
48364         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
48365         (init): Fix syntax error.
48366         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
48367         is declared.
48368
48369 2008-04-11  Bruno Haible  <bruno@clisp.org>
48370
48371         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
48372         * modules/glob (Depends-on): Add stdbool.
48373
48374 2008-04-11  Bruno Haible  <bruno@clisp.org>
48375
48376         * lib/trim.c: Include <string.h>.
48377
48378 2008-04-11  Eric Blake  <ebb9@byu.net>
48379
48380         Avoid compile failure on OS/2.
48381         * lib/regex_internal.h (internal_function): Disable optimization
48382         on OS/2 (__EMX__), where it caused compiler error.
48383         Reported by Elbert Pol.
48384
48385 2008-04-11  Bruno Haible  <bruno@clisp.org>
48386
48387         Flush the standard error stream before aborting. Needed on mingw.
48388         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
48389         * tests/test-array_list.c (ASSERT): Likewise.
48390         * tests/test-array_oset.c (ASSERT): Likewise.
48391         * tests/test-avltree_list.c (ASSERT): Likewise.
48392         * tests/test-avltree_oset.c (ASSERT): Likewise.
48393         * tests/test-avltreehash_list.c (ASSERT): Likewise.
48394         * tests/test-binary-io.c (ASSERT): Likewise.
48395         * tests/test-byteswap.c (ASSERT): Likewise.
48396         * tests/test-c-ctype.c (ASSERT): Likewise.
48397         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
48398         * tests/test-c-strcasestr.c (ASSERT): Likewise.
48399         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
48400         * tests/test-c-strstr.c (ASSERT): Likewise.
48401         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
48402         * tests/test-canonicalize.c (ASSERT): Likewise.
48403         * tests/test-carray_list.c (ASSERT): Likewise.
48404         * tests/test-ceilf1.c (ASSERT): Likewise.
48405         * tests/test-ceilf2.c (ASSERT): Likewise.
48406         * tests/test-ceill.c (ASSERT): Likewise.
48407         * tests/test-count-one-bits.c (ASSERT): Likewise.
48408         * tests/test-fbufmode.c (ASSERT): Likewise.
48409         * tests/test-fflush2.c (ASSERT): Likewise.
48410         * tests/test-floorf1.c (ASSERT): Likewise.
48411         * tests/test-floorf2.c (ASSERT): Likewise.
48412         * tests/test-floorl.c (ASSERT): Likewise.
48413         * tests/test-fopen.c (ASSERT): Likewise.
48414         * tests/test-fpending.c (ASSERT): Likewise.
48415         * tests/test-fprintf-posix.c (ASSERT): Likewise.
48416         * tests/test-fpurge.c (ASSERT): Likewise.
48417         * tests/test-freadable.c (ASSERT): Likewise.
48418         * tests/test-freadahead.c (ASSERT): Likewise.
48419         * tests/test-freading.c (ASSERT): Likewise.
48420         * tests/test-freadptr.c (ASSERT): Likewise.
48421         * tests/test-freadptr2.c (ASSERT): Likewise.
48422         * tests/test-freadseek.c (ASSERT): Likewise.
48423         * tests/test-freopen.c (ASSERT): Likewise.
48424         * tests/test-frexp.c (ASSERT): Likewise.
48425         * tests/test-frexpl.c (ASSERT): Likewise.
48426         * tests/test-fseek.c (ASSERT): Likewise.
48427         * tests/test-fseeko.c (ASSERT): Likewise.
48428         * tests/test-fstrcmp.c (ASSERT): Likewise.
48429         * tests/test-ftell.c (ASSERT): Likewise.
48430         * tests/test-ftello.c (ASSERT): Likewise.
48431         * tests/test-func.c (ASSERT): Likewise.
48432         * tests/test-fwritable.c (ASSERT): Likewise.
48433         * tests/test-fwriting.c (ASSERT): Likewise.
48434         * tests/test-getdelim.c (ASSERT): Likewise.
48435         * tests/test-getline.c (ASSERT): Likewise.
48436         * tests/test-i-ring.c (ASSERT): Likewise.
48437         * tests/test-iconv-utf.c (ASSERT): Likewise.
48438         * tests/test-iconv.c (ASSERT): Likewise.
48439         * tests/test-isfinite.c (ASSERT): Likewise.
48440         * tests/test-isnand.c (ASSERT): Likewise.
48441         * tests/test-isnanf.c (ASSERT): Likewise.
48442         * tests/test-isnanl.h (ASSERT): Likewise.
48443         * tests/test-ldexpl.c (ASSERT): Likewise.
48444         * tests/test-linked_list.c (ASSERT): Likewise.
48445         * tests/test-linkedhash_list.c (ASSERT): Likewise.
48446         * tests/test-localename.c (ASSERT): Likewise.
48447         * tests/test-lseek.c (ASSERT): Likewise.
48448         * tests/test-mbscasecmp.c (ASSERT): Likewise.
48449         * tests/test-mbscasestr1.c (ASSERT): Likewise.
48450         * tests/test-mbscasestr2.c (ASSERT): Likewise.
48451         * tests/test-mbscasestr3.c (ASSERT): Likewise.
48452         * tests/test-mbscasestr4.c (ASSERT): Likewise.
48453         * tests/test-mbschr.c (ASSERT): Likewise.
48454         * tests/test-mbscspn.c (ASSERT): Likewise.
48455         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
48456         * tests/test-mbspbrk.c (ASSERT): Likewise.
48457         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
48458         * tests/test-mbsrchr.c (ASSERT): Likewise.
48459         * tests/test-mbsspn.c (ASSERT): Likewise.
48460         * tests/test-mbsstr1.c (ASSERT): Likewise.
48461         * tests/test-mbsstr2.c (ASSERT): Likewise.
48462         * tests/test-mbsstr3.c (ASSERT): Likewise.
48463         * tests/test-memchr2.c (ASSERT): Likewise.
48464         * tests/test-memmem.c (ASSERT): Likewise.
48465         * tests/test-open.c (ASSERT): Likewise.
48466         * tests/test-printf-frexp.c (ASSERT): Likewise.
48467         * tests/test-printf-frexpl.c (ASSERT): Likewise.
48468         * tests/test-printf-posix.c (ASSERT): Likewise.
48469         * tests/test-quotearg.c (ASSERT): Likewise.
48470         * tests/test-rbtree_list.c (ASSERT): Likewise.
48471         * tests/test-rbtree_oset.c (ASSERT): Likewise.
48472         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
48473         * tests/test-round1.c (ASSERT): Likewise.
48474         * tests/test-roundf1.c (ASSERT): Likewise.
48475         * tests/test-roundl.c (ASSERT): Likewise.
48476         * tests/test-signbit.c (ASSERT): Likewise.
48477         * tests/test-sleep.c (ASSERT): Likewise.
48478         * tests/test-snprintf-posix.c (ASSERT): Likewise.
48479         * tests/test-snprintf.c (ASSERT): Likewise.
48480         * tests/test-sprintf-posix.c (ASSERT): Likewise.
48481         * tests/test-stat-time.c (ASSERT): Likewise.
48482         * tests/test-strcasestr.c (ASSERT): Likewise.
48483         * tests/test-strerror.c (ASSERT): Likewise.
48484         * tests/test-striconv.c (ASSERT): Likewise.
48485         * tests/test-striconveh.c (ASSERT): Likewise.
48486         * tests/test-striconveha.c (ASSERT): Likewise.
48487         * tests/test-strsignal.c (ASSERT): Likewise.
48488         * tests/test-strstr.c (ASSERT): Likewise.
48489         * tests/test-strtod.c (ASSERT): Likewise.
48490         * tests/test-trunc1.c (ASSERT): Likewise.
48491         * tests/test-trunc2.c (ASSERT): Likewise.
48492         * tests/test-truncf1.c (ASSERT): Likewise.
48493         * tests/test-truncf2.c (ASSERT): Likewise.
48494         * tests/test-truncl.c (ASSERT): Likewise.
48495         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
48496         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
48497         * tests/test-vasnprintf.c (ASSERT): Likewise.
48498         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
48499         * tests/test-vasprintf.c (ASSERT): Likewise.
48500         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
48501         * tests/test-vprintf-posix.c (ASSERT): Likewise.
48502         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
48503         * tests/test-vsnprintf.c (ASSERT): Likewise.
48504         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
48505         * tests/test-wcwidth.c (ASSERT): Likewise.
48506         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
48507         * tests/test-xprintf-posix.c (ASSERT): Likewise.
48508         * tests/test-xvasprintf.c (ASSERT): Likewise.
48509         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
48510         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
48511         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
48512         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
48513         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
48514         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
48515         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
48516         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
48517         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
48518         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
48519         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
48520         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
48521         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
48522         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
48523         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
48524         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
48525         * tests/unictype/test-block_list.c (ASSERT): Likewise.
48526         * tests/unictype/test-block_of.c (ASSERT): Likewise.
48527         * tests/unictype/test-block_test.c (ASSERT): Likewise.
48528         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
48529         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
48530         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
48531         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
48532         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
48533         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
48534         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
48535         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
48536         * tests/unictype/test-combining.c (ASSERT): Likewise.
48537         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
48538         * tests/unictype/test-digit.c (ASSERT): Likewise.
48539         * tests/unictype/test-mirror.c (ASSERT): Likewise.
48540         * tests/unictype/test-numeric.c (ASSERT): Likewise.
48541         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
48542         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
48543         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
48544         * tests/unictype/test-scripts.c (ASSERT): Likewise.
48545         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
48546         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
48547         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
48548         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
48549         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
48550         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
48551         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
48552         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
48553         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
48554         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
48555         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
48556         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
48557         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
48558         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
48559         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
48560         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
48561         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
48562         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
48563         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
48564         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
48565         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
48566         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
48567         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
48568         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
48569         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
48570         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
48571         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
48572         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
48573         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
48574         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
48575         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
48576         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
48577         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
48578         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
48579         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
48580         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
48581         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
48582         Reported by Eric Blake.
48583
48584 2008-04-11  Bruno Haible  <bruno@clisp.org>
48585
48586         * lib/wchar.in.h: Tweak comment.
48587
48588 2008-04-11  Bruno Haible  <bruno@clisp.org>
48589
48590         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
48591         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
48592         gl_COMMON.
48593         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
48594
48595 2008-04-11  Bruno Haible  <bruno@clisp.org>
48596
48597         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
48598
48599 2008-04-11  Simon Josefsson  <simon@josefsson.org>
48600
48601         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
48602         of attempting to use non-existing /dev/*random.  Based on patch
48603         from Adam Strzelecki <ono@java.pl> in
48604         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
48605
48606 2008-04-08  Bruno Haible  <bruno@clisp.org>
48607
48608         Add tentative support for emx+gcc.
48609         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
48610         * lib/fpurge.c (fpurge): Likewise.
48611         * lib/freadable.c (freadable): Likewise.
48612         * lib/freadahead.c (freadahead): Likewise.
48613         * lib/freading.c (freading): Likewise.
48614         * lib/freadptr.c (freadptr): Likewise.
48615         * lib/freadseek.c (freadptrinc): Likewise.
48616         * lib/fseeko.c (rpl_fseeko): Likewise.
48617         * lib/fseterr.c (fseterr): Likewise.
48618         * lib/fwritable.c (fwritable): Likewise.
48619         * lib/fwriting.c (fwriting): Likewise.
48620         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
48621
48622 2008-04-09  Eric Blake  <ebb9@byu.net>
48623
48624         Avoid some autoconf warnings.
48625         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
48626         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
48627         * m4/afs.m4 (gl_AFS): Likewise.
48628         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
48629         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
48630         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48631         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
48632         (gl_INTEGER_TYPE_SUFFIX): Likewise.
48633         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
48634         (AC_CHECK_DECLS_ONCE): Likewise.
48635         Rename file...
48636         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
48637         gnulib-tool requires autoconf 2.59 or better.
48638         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
48639
48640 2008-04-08  Eric Blake  <ebb9@byu.net>
48641
48642         Use 'git describe --match' if present (added in git 1.5.5).
48643         * build-aux/git-version-gen: Limit result to tags that match 'v*'
48644         if possible.
48645
48646 2008-04-08  Bruno Haible  <bruno@clisp.org>
48647
48648         Add tentative support for OpenServer.
48649         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
48650         _ptr, _cnt.
48651         * lib/fpurge.c (fpurge): Likewise.
48652         * lib/freadable.c (freadable): Likewise.
48653         * lib/freadahead.c (freadahead): Likewise.
48654         * lib/freading.c (freading): Likewise.
48655         * lib/freadptr.c (freadptr): Likewise.
48656         * lib/freadseek.c (freadptrinc): Likewise.
48657         * lib/fseeko.c (rpl_fseeko): Likewise.
48658         * lib/fseterr.c (fseterr): Likewise.
48659         * lib/fwritable.c (fwritable): Likewise.
48660         * lib/fwriting.c (fwriting): Likewise.
48661         Reported by Roger Cornelius <rac@tenzing.org> and
48662         Brian K. White <brian@aljex.com>.
48663
48664 2008-04-06  Jim Meyering  <meyering@redhat.com>
48665
48666         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
48667
48668 2008-04-06  Bruno Haible  <bruno@clisp.org>
48669
48670         Avoid possible error with non-ASCII bytes in UTF-8 locales.
48671         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
48672         * tests/test-printf-posix.sh: Likewise.
48673         * tests/test-vfprintf-posix.sh: Likewise.
48674         * tests/test-vprintf-posix.sh: Likewise.
48675         * tests/test-xprintf-posix.sh: Likewise.
48676
48677 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48678
48679         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
48680         hide error from 'ls', needed on OS/2.
48681         Report by Elbert Pol <elbert.pol@gmail.com>.
48682
48683 2008-04-04  Eric Blake  <ebb9@byu.net>
48684
48685         Make test-fseeko.c failures meaningful.
48686         * tests/test-fseeko.c: Print line number on failure.
48687         * tests/test-fseek.c: Likewise.
48688         Reported by Nelson H. F. Beebe.
48689
48690         Improve strtod bug detection check.
48691         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
48692         required for Solaris 10.
48693         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
48694
48695 2008-04-04  Bruno Haible  <bruno@clisp.org>
48696
48697         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
48698         by m4/setenv.m4.
48699
48700 2008-04-03  Eric Blake  <ebb9@byu.net>
48701
48702         Ensure sane .version contents.
48703         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
48704         version string.
48705         * build-aux/git-version-gen: Improve documentation.
48706
48707         Make GNU make output nicer.
48708         * top/GNUmakefile [!_have-Makefile]: Add dependency on
48709         MAKECMDGOALS to enforce message for all command line targets.  Set
48710         srcdir for use in maint.mk.
48711
48712         Another maintainer tweak.
48713         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
48714         a target that regenerates version.
48715
48716 2008-04-03  Jim Meyering  <meyering@redhat.com>
48717
48718         vc-list-files: don't cause coreutils "make po-check" failure
48719         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
48720
48721 2008-04-03  Eric Blake  <ebb9@byu.net>
48722
48723         Allow VPATH usage of vc-list-files.
48724         * build-aux/vc-list-files (scriptversion): Add timestamp.
48725         (options): Add --help, --version, -C.
48726         (CVS): Support installed cvsu.
48727
48728 2008-04-02  Bruno Haible  <bruno@clisp.org>
48729
48730         Avoid some "statement with no effect" warnings from gcc.
48731         * tests/test-wctype.c (main): Explicitly ignore unused values.
48732         Reported by Jim Meyering.
48733
48734 2008-04-02  Jim Meyering  <meyering@redhat.com>
48735
48736         Avoid some warnings from "gcc -Wshadow".
48737         * tests/test-frexp.c (exp): Define to a different identifier.
48738         * tests/test-frexpl.c (exp): Likewise.
48739
48740 2008-04-03  Jim Meyering  <meyering@redhat.com>
48741
48742         bootstrap: remove dangling *.[ch] symlinks from lib
48743         * build-aux/bootstrap [dangling symlink removal]: Move find's
48744         -depth option to precede all others, to avoid a warning.
48745         Remove *.[ch] files too, and from "$source_base" (usually lib/).
48746
48747 2008-04-02  Bruno Haible  <bruno@clisp.org>
48748
48749         Avoid some warnings from "gcc -Wshadow".
48750         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
48751         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
48752         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
48753         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
48754         Reported by Jim Meyering.
48755
48756 2008-04-01  Bruno Haible  <bruno@clisp.org>
48757
48758         Fix test to work on IRIX 6.5 with cc.
48759         * tests/test-math.c (numeric_equal): New function.
48760         (main): Use it.
48761
48762 2008-04-01  Bruno Haible  <bruno@clisp.org>
48763
48764         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
48765
48766 2008-04-01  Bruno Haible  <bruno@clisp.org>
48767
48768         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
48769         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
48770         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
48771         (Depends-on): Remove math.
48772
48773         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
48774         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
48775         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
48776         (Depends-on): Remove math.
48777
48778         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
48779         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
48780         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
48781         (Depends-on): Remove math.
48782         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
48783         (Depends-on): Remove math.
48784
48785         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
48786         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
48787         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
48788         (Depends-on): Remove math.
48789         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
48790         (Depends-on): Remove math.
48791
48792         * tests/test-round1.c: Include nan.h.
48793         (main): Use NaNd instead of NAN.
48794         * modules/round-tests (Files): Add tests/nan.h.
48795
48796         * tests/test-trunc1.c: Include nan.h.
48797         (main): Use NaNd instead of NAN.
48798         * modules/trunc-tests (Files): Add tests/nan.h.
48799
48800         * tests/test-roundf1.c: Include nan.h.
48801         (main): Use NaNf instead of NAN.
48802         * modules/roundf-tests (Files): Add tests/nan.h.
48803
48804         * tests/test-truncf1.c: Include nan.h.
48805         (main): Use NaNf instead of NAN.
48806         * modules/truncf-tests (Files): Add tests/nan.h.
48807
48808         * tests/test-ceilf1.c: Include nan.h.
48809         (main): Use NaNf instead of NAN.
48810         * modules/ceilf-tests (Files): Add tests/nan.h.
48811
48812         * tests/test-floorf1.c: Include nan.h.
48813         (main): Use NaNf instead of NAN.
48814         * modules/floorf-tests (Files): Add tests/nan.h.
48815
48816         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
48817         (main): Use NaNf instead of NAN.
48818         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
48819
48820         * tests/test-isnand.c: Include nan.h instead of <math.h>.
48821         (main): Use NaNd instead of NAN.
48822         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
48823
48824         * tests/test-frexp.c: Include nan.h.
48825         (main): Use NaNd instead of NAN.
48826         * modules/frexp-tests (Files): Add tests/nan.h.
48827
48828         * lib/isnan.c: Don't include <math.h>.
48829         (FUNC): Don't use NAN macro.
48830         * modules/isnand-nolibm (Depends-on): Remove math.
48831         * modules/isnanf-nolibm (Depends-on): Remove math.
48832         * modules/isnanl (Depends-on): Remove math.
48833         * modules/isnanl-nolibm (Depends-on): Remove math.
48834
48835         * tests/nan.h: New file.
48836
48837 2008-04-01  Eric Blake  <ebb9@byu.net>
48838
48839         Fix typos.
48840         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
48841         values to be the right type.
48842
48843         For now, cater to gnulib strtod inaccuracies.
48844         * tests/test-strtod.c (main): Allow 1-ulp error on expected
48845         fractional results.  While not as nice from a QoI perspective, it
48846         is a quicker patch than correctly implementing decimal to binary
48847         rounding.
48848
48849 2008-03-31  Eric Blake  <ebb9@byu.net>
48850
48851         Guarantee a definition of NAN.
48852         * lib/math.in.h (NAN): Define if missing.
48853         * tests/test-math.c (main): Test it.
48854         * doc/posix-headers/math.texi (math.h): Document this.
48855         * lib/isnan.c (rpl_isnand): Use it.
48856         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
48857         * tests/test-floorf1.c (NaN): Likewise.
48858         * tests/test-frexp.c (NaN): Likewise.
48859         * tests/test-isnand.c (NaN): Likewise.
48860         * tests/test-isnanf.c (NaN): Likewise.
48861         * tests/test-round1.c (NaN): Likewise.
48862         * tests/test-roundf1.c (NaN): Likewise.
48863         * tests/test-snprintf-posix.h (NaN): Likewise.
48864         * tests/test-sprintf-posix.h (NaN): Likewise.
48865         * tests/test-trunc1.c (NaN): Likewise.
48866         * tests/test-truncf1.c (NaN): Likewise.
48867         * tests/test-vasnprintf-posix.c (NaN): Likewise.
48868         * tests/test-vasprintf-posix.c (NaN): Likewise.
48869         * modules/isnand-nolibm (Depends-on): Add math.
48870         * modules/isnanf-nolibm (Depends-on): Likewise.
48871         * modules/isnanl (Depends-on): Likewise.
48872         * modules/isnanl-nolibm (Depends-on): Likewise.
48873         * modules/snprintf-posix-tests (Depends-on): Likewise.
48874         * modules/sprintf-posix-tests (Depends-on): Likewise.
48875         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
48876         * modules/vsprintf-posix-tests (Depends-on): Likewise.
48877         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
48878         * modules/vasprintf-posix-tests (Depends-on): Likewise.
48879
48880 2008-03-31  Bruno Haible  <bruno@clisp.org>
48881
48882         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
48883         * doc/posix-functions/strtod.texi: Likewise.
48884
48885 2008-03-31  Bruno Haible  <bruno@clisp.org>
48886
48887         * tests/test-strtod.c (main): Don't use C99 syntax.
48888
48889 2008-03-31  Bruno Haible  <bruno@clisp.org>
48890
48891         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
48892         Reported by Eric Blake.
48893
48894 2008-03-31  Jim Meyering  <meyering@redhat.com>
48895
48896         Don't compare actual signbit return values.
48897         * tests/test-strtod.c (main): Rather, compare only their
48898         zero/non-zero nature.
48899
48900 2008-03-31  Eric Blake  <ebb9@byu.net>
48901
48902         More strtod documentation.
48903         * doc/posix-functions/strtod.texi (strtod): Interpret more test
48904         failures as distinct bugs.
48905
48906 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
48907
48908         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
48909         Problem reported by Erik Benada in
48910         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
48911
48912 2008-03-30  Bruno Haible  <bruno@clisp.org>
48913
48914         * tests/test-strtod.c: Add comments about which assertion fails on which
48915         platform.
48916         * doc/posix-functions/strtod.texi: Add info about many more platforms.
48917
48918 2008-03-30  Eric Blake  <ebb9@byu.net>
48919
48920         Test signbit behavior on zeros.
48921         * tests/test-signbit.c (test_signbitf): Add tests for zero.
48922         (test_signbitd, test_signbitl): Likewise.
48923
48924         More strtod touchups.
48925         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
48926         sign of negative underflow, for now.  Use .5, not .1.
48927         * doc/posix-functions/strtod.texi (strtod): Mention these
48928         limitations.
48929         Reported by Jim Meyering.
48930
48931 2008-03-30  Bruno Haible  <bruno@clisp.org>
48932
48933         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
48934         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
48935
48936 2008-03-30  Bruno Haible  <bruno@clisp.org>
48937
48938         Avoid failure when attempting to return empty iconv results on some
48939         platforms.
48940         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
48941         allocation, don't report ENOMEM when the resulting string is empty.
48942
48943 2008-03-30  Bruno Haible  <bruno@clisp.org>
48944
48945         Fix buffer overrun.
48946         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
48947         Don't consider the width for tmp_length. Check count against tmp_length
48948         before doing the padding. Ensure enough allocation during padding.
48949
48950 2008-03-30  Eric Blake  <ebb9@byu.net>
48951
48952         strtod touchups.
48953         * lib/strtod.c (strtod): Avoid compiler warnings.
48954         Reported by Jim Meyering.
48955
48956 2008-03-30  Bruno Haible  <bruno@clisp.org>
48957
48958         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
48959         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
48960         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
48961         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
48962         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
48963         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
48964         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
48965         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
48966
48967         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
48968         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
48969         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
48970         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
48971         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
48972         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
48973         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
48974         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
48975
48976         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
48977         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
48978         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
48979         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
48980         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
48981         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
48982         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
48983         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
48984
48985         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
48986         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
48987
48988         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
48989         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
48990
48991         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
48992         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
48993
48994         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
48995         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
48996         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
48997
48998         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
48999         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
49000         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
49001
49002         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
49003         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
49004         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
49005
49006         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
49007         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
49008         * modules/vasprintf (Depends-on): Add EOVERFLOW.
49009
49010         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
49011         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
49012         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
49013         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
49014         (Depends-on): Add EOVERFLOW.
49015         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
49016         (Depends-on): Add EOVERFLOW.
49017         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
49018         (Depends-on): Add EOVERFLOW.
49019         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
49020         (Depends-on): Add EOVERFLOW.
49021         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
49022         (Depends-on): Add EOVERFLOW.
49023         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
49024         (Depends-on): Add EOVERFLOW.
49025         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
49026         (Depends-on): Add EOVERFLOW.
49027         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
49028         (Depends-on): Add EOVERFLOW.
49029
49030         * lib/sprintf.c (EOVERFLOW): Remove fallback.
49031         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
49032         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
49033
49034         * lib/snprintf.c (EOVERFLOW): Remove fallback.
49035         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
49036         * modules/snprintf (Depends-on): Add EOVERFLOW.
49037
49038         * lib/poll.c (EOVERFLOW): Remove fallback.
49039         * modules/poll (Depends-on): Add EOVERFLOW.
49040
49041         * lib/getugroups.c (EOVERFLOW): Remove fallback.
49042         * modules/getugroups (Depends-on): Add EOVERFLOW.
49043
49044         * lib/getdelim.c (EOVERFLOW): Remove fallback.
49045         * modules/getdelim (Depends-on): Add EOVERFLOW.
49046
49047         * lib/ftell.c (EOVERFLOW): Remove fallback.
49048         * modules/ftell (Depends-on): Add EOVERFLOW.
49049
49050         * lib/fprintf.c (EOVERFLOW): Remove fallback.
49051         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
49052         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
49053
49054         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
49055
49056         * modules/EOVERFLOW-tests: New file.
49057         * tests/test-EOVERFLOW.c: New file.
49058
49059         * modules/EOVERFLOW: New file.
49060         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
49061
49062 2008-03-30  Bruno Haible  <bruno@clisp.org>
49063
49064         Fix bug introduced on 2007-06-10.
49065         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
49066         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
49067
49068 2008-03-30  Bruno Haible  <bruno@clisp.org>
49069
49070         Improve freadseek's efficiency after ungetc.
49071         * lib/freadseek.c: Include freadahead.h.
49072         (freadptrinc): New function, extracted from freadseek.
49073         (freadseek): Use it in a loop. Use freadahead to determine the number
49074         of loop iterations.
49075         * modules/freadseek (Depends-on): Add freadahead.
49076         (configure.ac): Require AC_C_INLINE.
49077
49078 2008-03-30  Bruno Haible  <bruno@clisp.org>
49079
49080         * lib/freadseek.c (freadseek): Don't ignore the return value of
49081         freadptr.
49082
49083 2008-03-29  Eric Blake  <ebb9@byu.net>
49084
49085         Add hex float support.
49086         * modules/strtod (Depends-on): Add c-ctype.
49087         (Link): Mention POW_LIB.
49088         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
49089         whitespace between 'e' and exponent.
49090         * tests/test-strtod.c (main): Enable hex float tests.
49091         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
49092         now provides.
49093
49094         Document various strtod bugs, with some fixes.
49095         * doc/posix-functions/strtod.texi (strtod): Document bugs with
49096         "-0x", "inf", "nan", and hex constants.
49097         * doc/posix-functions/atof.texi (atof): Likewise.
49098         * modules/stdlib (Makefile.am): Support strtod.
49099         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
49100         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
49101         detect additional strtod bugs.
49102         * lib/stdlib.in.h (rpl_strtod): Add declarations.
49103         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
49104         bool where appropriate.  Parse 'inf' and 'nan'.
49105         * tests/test-strtod.c: New file.
49106         * modules/strtod (Depends-on): Add stdbool, stdlib.
49107         (configure.ac): Turn on module indicator.
49108         * modules/strtod-tests: New module.
49109
49110 2008-03-29  Eric Blake  <ebb9@byu.net>
49111
49112         Fix ftell on mingw.
49113         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
49114         * modules/ftell-tests (Depends-on): Add binary-io.
49115         * modules/ftello-tests (Depends-on): Likewise.
49116         * tests/test-ftell.c (main): Enhance test to cover behavior after
49117         ungetc.  Enforce binary mode.
49118         * tests/test-ftello.c (main): Likewise.
49119
49120         Pass test-freadseek on cygwin.
49121         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
49122         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
49123         ungetc buffer.
49124
49125         * tests/test-fflush2.c (main): Fix typo.
49126
49127 2008-03-29  Bruno Haible  <bruno@clisp.org>
49128
49129         * tests/test-fflush2.c (main): Temporarily disable the contents of
49130         this test.
49131         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
49132         Reported by Eric Blake.
49133
49134 2008-03-28  Simon Josefsson  <simon@josefsson.org>
49135
49136         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
49137         (GC_SHA224_DIGEST_SIZE): Add.
49138
49139         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
49140         (gc_hash_digest_length): Likewise.
49141         (gc_hash_buffer): Likewise.
49142
49143 2008-03-25  Bruno Haible  <bruno@clisp.org>
49144
49145         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
49146         detail which gettext release to use.
49147         Reported by Simon Josefsson.
49148
49149 2008-03-26  Jim Meyering  <meyering@redhat.com>
49150
49151         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
49152         * modules/gnumakefile (clean-GNUmakefile): Also, use
49153         test ... && ... || : syntax rather than if-then ... fi.
49154
49155         gnumakefile: Don't double-quote-expand $(VPATH) value.
49156         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
49157
49158 2008-03-24  Eric Blake  <ebb9@byu.net>
49159
49160         Alter GNUmakefile to install into top directory.
49161         * modules/maintainer-makefile: Split, and add dependency...
49162         * modules/gnumakefile: to this new module.
49163         * build-aux/GNUmakefile: Move...
49164         * top/GNUmakefile: ...here.
49165         * build-aux/maint.mk: Move...
49166         * top/maint.mk: ...here.
49167         * MODULES.html.sh (Support for maintaining...): Document new
49168         module.
49169
49170 2008-03-23  Bruno Haible  <bruno@clisp.org>
49171
49172         * gnulib-tool: New options --vc-files, --no-vc-files.
49173         (func_usage): Document them.
49174         (vc_files): New variable.
49175         (func_import): Consider vc_files.
49176         (func_create_testdir): Set vc_files to empty.
49177         Suggested by Jim Meyering and Karl Berry.
49178
49179 2008-03-23  Bruno Haible  <bruno@clisp.org>
49180
49181         Fix regex compilation error on HP-UX 11.
49182         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
49183         * modules/regex (Files): Add m4/mbstate_t.m4.
49184         Reported by Ton Voon <ton.voon@altinity.com>.
49185
49186 2008-03-23  Bruno Haible  <bruno@clisp.org>
49187
49188         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
49189
49190 2008-03-23  Eric Blake  <ebb9@byu.net>
49191             Bruno Haible  <bruno@clisp.org>
49192
49193         Install files from top/ in the destination directory.
49194         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
49195         augmentation also for the files from top/.
49196         (func_import, func_create_testdir): Rewrite file names:
49197         top/filename -> filename.
49198
49199 2008-03-23  Bruno Haible  <bruno@clisp.org>
49200
49201         Tweak "gnulib --version" output.
49202         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
49203
49204 2008-03-23  Bruno Haible  <bruno@clisp.org>
49205
49206         Tweak "gnulib --version" output.
49207         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
49208         rather than contents of ChangeLog, when possible.
49209
49210 2008-03-21  Eric Blake  <ebb9@byu.net>
49211
49212         More --version tweaks.
49213         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
49214         date of last ChangeLog entry.
49215
49216 2008-03-21  Jim Meyering  <meyering@redhat.com>
49217
49218         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
49219
49220 2008-03-20  Eric Blake  <ebb9@byu.net>
49221
49222         VPATH fix.
49223         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
49224
49225 2008-03-20  Simon Josefsson  <simon@josefsson.org>
49226
49227         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
49228         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
49229
49230 2008-03-20  Eric Blake  <ebb9@byu.net>
49231
49232         Sync GNUmakefile with coreutils.
49233         * build-aux/GNUmakefile (have-Makefile): Rename...
49234         (_have-Makefile): ...to this, for namespace consideration.
49235         (GNUmakefile.cfg): Include, if present.
49236         (_autoreconf): Define a default.
49237         (_is-dist-target): New rule for rebuilds to pick up intra-release
49238         version.
49239         (maint-cfg.mk): Rename...
49240         (cfg.mk): ...to this.
49241
49242 2008-03-18  Jim Meyering  <meyering@redhat.com>
49243
49244         New script and module: mktempd
49245         * MODULES.html.sh (maint+release support): Add mktempd.
49246         * build-aux/mktempd: New file.
49247         * modules/mktempd: New file.
49248
49249 2008-03-15  Jim Meyering  <meyering@redhat.com>
49250
49251         Undo last change.
49252         * lib/sha1.c, lib/md5.c: 63 != ~63.
49253         Reported by Andreas Schwab.
49254
49255         sha1.c, md5.c: Hoist a redundant expression.
49256         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
49257         "ctx->buflen" only once, before calling *_process_block.
49258         * lib/md5.c (md5_process_bytes): Likewise.
49259
49260 2008-03-14  Eric Blake  <ebb9@byu.net>
49261
49262         Bump copyright year in files generated by gnulib-tool.
49263         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
49264         gnulib-tool, rather than hard-coding it.
49265
49266         Fix 'gnulib-tool --version' output to work with git.
49267         * gnulib-tool (func_gnulib_dir): New function, extracted from...
49268         (startup): ...here.
49269         (func_version): Use it to invoke git-version-gen, rather than
49270         relying on CVS keyword expansion.  Modernize wording.
49271         (cvsdatestamp, last_checkin_date, version): Kill unused
49272         variables.
49273
49274 2008-03-12  Jim Meyering  <meyering@redhat.com>
49275
49276         Recognize optional cast of the argument to free.
49277         * build-aux/useless-if-before-free: Update regexps.
49278
49279         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
49280
49281 2008-03-11  Bruno Haible  <bruno@clisp.org>
49282
49283         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
49284         by a single package.
49285         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
49286         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
49287         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
49288         Reported by Sam Steingold <sds@gnu.org>.
49289
49290 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
49291
49292         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
49293         repositories.
49294
49295 2008-03-11  Bruno Haible  <bruno@clisp.org>
49296
49297         Avoid conflicts between local macro definitions.
49298         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
49299         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
49300
49301 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
49302             Bruno Haible  <bruno@clisp.org>
49303
49304         Make va_copy work with some version of xlc on AIX 5.1.
49305         * lib/stdarg.in.h: New file.
49306         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
49307         On AIX, use a <stdarg.h> file substitute.
49308         * modules/stdarg (Files): Add lib/stdarg.in.h.
49309         (Depends-on): Add include_next.
49310         (Makefile.am): Build a stdarg.h substitute if requested.
49311         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
49312
49313 2008-03-10  Bruno Haible  <bruno@clisp.org>
49314
49315         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
49316         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
49317         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
49318
49319 2008-03-10  Bruno Haible  <bruno@clisp.org>
49320
49321         * modules/stdlib (Depends-on): Add include_next, remove
49322         absolute-header.
49323
49324 2008-03-09  Bruno Haible  <bruno@clisp.org>
49325
49326         * lib/freadahead.h (freadahead): Document more precisely.
49327         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
49328         the sum of both buffer sizes.
49329         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
49330         * NEWS: Document the change.
49331
49332 2008-03-09  Bruno Haible  <bruno@clisp.org>
49333
49334         Extend freadptr to return also the buffer size.
49335         * lib/freadptr.h (freadptr): Add sizep argument.
49336         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
49337         (freadptr): Add sizep argument. Determine buffer size like freadahead
49338         does.
49339         * tests/test-freadptr.c: Don't include freadahead.h.
49340         (main): Adapt for new calling convention of freadptr.
49341         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
49342         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
49343         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
49344         tests/test-freadptr2.sh.
49345         (Depends): Remove freadahead.
49346         (TESTS): Add test-freadptr2.sh.
49347         (check_PROGRAMS): Add test-freadptr2.
49348
49349 2008-03-09  Bruno Haible  <bruno@clisp.org>
49350
49351         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
49352         Report and solution by Simon Josefsson.
49353
49354 2008-03-06  Bruno Haible  <bruno@clisp.org>
49355
49356         Make fflush after ungetc work on BSD platforms.
49357         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
49358         * tests/test-fflush2.c: New file.
49359         * tests/test-fflush2.sh: New file.
49360         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
49361         tests/test-fflush2.c.
49362         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
49363         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
49364
49365 2008-03-06  Eric Blake  <ebb9@byu.net>
49366
49367         Likewise for ftello.
49368         * modules/ftello (Dependencies): Add extensions.
49369         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
49370
49371 2008-03-06  Bruno Haible  <bruno@clisp.org>
49372
49373         * modules/fseeko (Dependencies): Add extensions.
49374         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
49375         Needed on glibc systems.
49376
49377 2008-03-06  Bruno Haible  <bruno@clisp.org>
49378
49379         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
49380         email address.
49381         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
49382
49383 2008-03-06  Bruno Haible  <bruno@clisp.org>
49384
49385         * users.txt: Add libgnupdf.
49386
49387 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
49388
49389         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
49390         (Header File Substitutes, Function Substitutes,
49391         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
49392         (Build robot for gnulib): Fix typo.
49393
49394 2008-03-06  Bruno Haible  <bruno@clisp.org>
49395
49396         * doc/gnulib-tool.texi (VCS Issues): Small updates.
49397         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
49398
49399 2008-03-06  Bruno Haible  <bruno@clisp.org>
49400
49401         * doc/func.texi: New file, extracted from doc/gnulib.texi.
49402         * doc/gnulib.texi: Include it.
49403
49404 2008-03-06  Simon Josefsson  <simon@josefsson.org>
49405
49406         * modules/func (License): Change license to unlimited; there was
49407         no LGPL parts in the module anyway.
49408
49409 2008-03-06  Simon Josefsson  <simon@josefsson.org>
49410
49411         * modules/__func__: Renamed to modules/func.
49412         * modules/__func__-tests: Renamed to modules/func-tests.
49413         * tests/test-__func__.c: Renamed to tests/test-func.c.
49414         * m4/__func__.m4: Renamed to m4/func.m4.
49415         * doc/gnulib.texi (__func__): Section renamed to func.
49416         Suggested by Eric Blake <ebb9@byu.net>.
49417
49418 2008-03-06  Simon Josefsson  <simon@josefsson.org>
49419
49420         * doc/gnulib.texi (__func__): Use C99 terminology when talking
49421         about __func__.  Make example self-contained.  Suggested by Eric
49422         Blake <ebb9@byu.net>.
49423
49424         * tests/test-__func__.c (main): Avoid extraneous () around __func.
49425         Suggested by Eric Blake <ebb9@byu.net>.
49426
49427 2008-03-06  Simon Josefsson  <simon@josefsson.org>
49428
49429         * modules/__func__: New file.
49430         * modules/__func__-tests: New file.
49431         * tests/test-__func__.c: New file.
49432         * m4/__func__.m4: New file.
49433         * doc/gnulib.texi (__func__): Document __func__ module.
49434
49435 2008-03-05  Simon Josefsson  <simon@josefsson.org>
49436
49437         * modules/byteswap (License): Re-license as LGPLv2+.
49438
49439 2008-03-05  Simon Josefsson  <simon@josefsson.org>
49440
49441         * doc/Makefile: Add pdf target.
49442
49443 2008-03-05  Simon Josefsson  <simon@josefsson.org>
49444
49445         * modules/inline (License): Use 'unlimited', since there are only
49446         *.m4 files in this module.
49447
49448 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
49449             Bruno Haible  <bruno@clisp.org>
49450
49451         Add support for HP C 7.1 on OpenVMS 8.3.
49452         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
49453
49454 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
49455
49456         Update VMS specifics.
49457         * lib/getopt.c [VMS]: Remove include of unixlib.h.
49458
49459 2008-03-02  Jim Meyering  <meyering@redhat.com>
49460
49461         Remove the last dependency on the "free" module.
49462         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
49463         Reported by Bob Proulx.
49464
49465         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
49466
49467         Remove useless "if" tests before free.  Deprecate "free" module.
49468         * doc/posix-functions/free.texi: Mention that this
49469         module is no longer useful.
49470         * modules/free (Notice): Say this module is obsolete.
49471         * modules/readutmp (Depends-on): Remove free.
49472         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
49473         * lib/putenv.c (putenv): Likewise.
49474         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
49475         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
49476         * tests/test-c-strcasestr.c (main): Likewise.
49477         * tests/test-c-strstr.c (main): Likewise.
49478         * tests/test-mbscasestr1.c (main): Likewise.
49479         * tests/test-mbscasestr2.c (main): Likewise.
49480         * tests/test-mbsstr1.c (main): Likewise.
49481         * tests/test-mbsstr2.c (main): Likewise.
49482         * tests/test-memmem.c (main): Likewise.
49483         * tests/test-strcasestr.c (main): Likewise.
49484         * tests/test-striconv.c (main): Likewise.
49485         * tests/test-striconveh.c (main): Likewise.
49486         * tests/test-striconveha.c (main): Likewise.
49487         * tests/test-strstr.c (main): Likewise.
49488
49489         * build-aux/git-version-gen: Adjust a comment and the Usage string.
49490
49491         bootstrap: sync from coreutils again
49492         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
49493
49494 2008-03-01  Jim Meyering  <meyering@redhat.com>
49495
49496         bootstrap: sync from coreutils
49497         * build-aux/bootstrap (update_po_files): Copy a .po file into place
49498         also when the target doesn't exist.
49499
49500 2008-03-01  Eric Blake  <ebb9@byu.net>
49501
49502         Fix bugs in last patch.
49503         * lib/memchr2.c (memchr2): Fix typo.
49504         * tests/test-memchr2.c: Test previous bug, and don't use GNU
49505         extension.
49506         Reported by Bruce Korb.
49507
49508         New module 'memchr2'.
49509         * modules/memchr2: New file.
49510         * modules/memchr2-tests: Likewise.
49511         * lib/memchr2.h: Likewise.
49512         * lib/memchr2.c: Likewise, based on memchr.c.
49513         * tests/test-memchr2.c: New test.
49514         * MODULES.html.sh (String handling): Add memchr2.
49515
49516 2008-02-29  Bruno Haible  <bruno@clisp.org>
49517
49518         * modules/freadseek-tests: New file.
49519         * tests/test-freadseek.sh: New file.
49520         * tests/test-freadseek.c: New file.
49521
49522         New module 'freadseek'.
49523         * modules/freadseek: New file.
49524         * lib/freadseek.h: New file.
49525         * lib/freadseek.c: New file.
49526         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
49527
49528 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
49529
49530         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
49531         wydawca.
49532
49533         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
49534         program_invocation_name and program_invocation_short_name are
49535         present.
49536
49537 2008-02-28  Bruno Haible  <bruno@clisp.org>
49538
49539         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
49540         * tests/test-freadptr.sh: Also test non-seekable stdin.
49541
49542 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
49543
49544         * build-aux/bootstrap (source_base, m4_base)
49545         (doc_base, tests_base): New variables.
49546         (gnulib_tool_options): Do not hardcode base directories, use
49547         the above variables instead.
49548
49549 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
49550
49551         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
49552
49553 2008-02-28  Bruno Haible  <bruno@clisp.org>
49554
49555         * modules/freadptr-tests: New file.
49556         * tests/test-freadptr.sh: New file.
49557         * tests/test-freadptr.c: New file.
49558
49559         New module 'freadptr'.
49560         * modules/freadptr: New file.
49561         * lib/freadptr.h: New file.
49562         * lib/freadptr.c: New file.
49563         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
49564
49565 2008-02-26  Karl Berry  <karl@freefriends.org>
49566
49567         Sync from Libtool:
49568         * libltdl/argz.c (argz_add, argz_count): New functions.
49569         * libltdl/argz.in.h: Declare them.
49570         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
49571
49572 2008-02-22  Bruno Haible  <bruno@clisp.org>
49573
49574         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
49575         is a pointer type.  Needed for HP-UX 10.
49576         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
49577         * doc/posix-functions/gmtime_r.texi: Likewise.
49578         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
49579
49580 2008-02-24  Bruno Haible  <bruno@clisp.org>
49581
49582         * modules/environ-tests: New file.
49583         * tests/test-environ.c: New file.
49584
49585         New module 'environ'.
49586         * modules/environ: New file.
49587         * lib/unistd.in.h (environ): New declaration.
49588         * m4/environ.m4: New file.
49589         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
49590         after use.
49591         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
49592         HAVE_DECL_ENVIRON.
49593         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
49594         HAVE_DECL_ENVIRON.
49595         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
49596         wrong claim that 'environ' is missing on some systems.
49597         * modules/execute (Depends-on): Add environ.
49598         * lib/execute.c (environ): Remove fallback declaration.
49599         * modules/pipe (Depends-on): Add environ.
49600         * lib/pipe.c (environ): Remove fallback declaration.
49601         * modules/setenv (Depends-on): Add environ.
49602         * lib/setenv.c (environ): Remove fallback declaration.
49603         * modules/unsetenv (Depends-on): Add environ.
49604         * lib/unsetenv.c (environ): Remove fallback declaration.
49605         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
49606         m4/environ.m4.
49607         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
49608         (gl_PREREQ_UNSETENV): Likewise.
49609
49610 2008-02-24  Bruno Haible  <bruno@clisp.org>
49611
49612         * doc/posix-functions/environ.texi: Document the MacOS X problem.
49613
49614 2008-02-20  Bob Proulx  <bob@proulx.com>
49615
49616         Enable use of older two part flavor 'git describe'.
49617         * build-aux/git-version-gen: If using the older two part flavor of
49618         git version then recreate the third part now present in the
49619         newer three part flavor of git describe.
49620
49621 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
49622
49623         * lib/fts.c (fts_build): Typo correction to comment.
49624
49625 2008-02-17  Bruno Haible  <bruno@clisp.org>
49626
49627         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
49628         generating no-op conflicts.
49629
49630 2008-02-17  Bruno Haible  <bruno@clisp.org>
49631
49632         Speed up by 10%.
49633         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
49634         result_entries, rather than an index-based loop.
49635
49636 2008-02-17  Bruno Haible  <bruno@clisp.org>
49637
49638         Speed up by 25%.
49639         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
49640         'hashcode_cached'.
49641         (entry_create): New function.
49642         (entry_hashcode): Use the cached hashcode if possible.
49643         (read_changelog_file, try_split_merged_entry): Use entry_create.
49644
49645 2008-02-17  Bruno Haible  <bruno@clisp.org>
49646
49647         Speed up from O(n^2) to O(n) for long ChangeLog files.
49648         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
49649         (read_changelog_file): Change implementation of entries_reversed list
49650         to rbtreehash.
49651         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
49652
49653 2008-02-17  Bruno Haible  <bruno@clisp.org>
49654
49655         New option --split-merged-entry.
49656         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
49657         (find_paragraph_end, try_split_merged_entry): New functions.
49658         (long_options): Add option --split-merged-entry.
49659         (usage): Document option --split-merged-entry.
49660         (main): Implement option --split-merged-entry.
49661         Reported by Eric Blake.
49662
49663 2008-02-17  Bruno Haible  <bruno@clisp.org>
49664
49665         * lib/git-merge-changelog.c: Include c-strstr.h.
49666         (main): Support the "git pull --rebase" situation.
49667         * modules/git-merge-changelog (Depends-on): Add c-strstr.
49668         Reported by Eric Blake.
49669
49670 2008-02-16  Eric Blake  <ebb9@byu.net>
49671
49672         Avoid doubling \ in common case of "c-maybe" quoting style.
49673         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
49674         eliding outer quotes.
49675         * lib/quotearg.h: Document this.
49676         * tests/test-quotearg.c (result_strings, inputs, results_g)
49677         (flag_results, locale_results): Test it by adding a new string to
49678         each test group.
49679         (compare_strings): Test new string.
49680
49681 2008-02-13  Eric Blake  <ebb9@byu.net>
49682
49683         Avoid trigraph quoting in default output.
49684         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
49685         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
49686         unless explicitly requested.
49687         * tests/test-quotearg.c (flag_results, main): Add additional tests.
49688
49689 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
49690
49691         Don't rely on signed integer overflowing to negative value.
49692         * lib/getugroups.c (getugroups): Include <limits.h>.
49693         Instead, compare against INT_MAX, and increment only if the test passes.
49694
49695 2008-02-13  Jim Meyering  <meyering@redhat.com>
49696         and Eric Blake  <ebb9@byu.net>
49697
49698         Avoid shadowing warning and compile errors on Linux.
49699         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
49700         forwarding macros on Linux.
49701         (dcgettext): Define a stub, for Linux.
49702         (results_g, main): Avoid warnings.
49703
49704 2008-02-12  Eric Blake  <ebb9@byu.net>
49705
49706         Silence warning in last patch.
49707         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
49708
49709         Quotearg part 4: add tests, fix c-maybe colon quoting.
49710         * lib/quotearg.h: Improve documentation.
49711         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
49712         escapes when adding outer quotes.  When quoting trigraphs, use
49713         valid C notation.  When quoting NUL, omit extra characters if next
49714         character is not digit.  Alter prototype.
49715         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
49716         callers.
49717         * modules/quotearg-tests: New module.
49718         * tests/test-quotearg.c: New test.
49719
49720 2008-02-07  Eric Blake  <ebb9@byu.net>
49721
49722         Quotearg part 3: add flag to control outer quote elision.
49723         * lib/quotearg.h (c_maybe_quoting_style): New style.
49724         (enum quoting_flags): Better documentation of flags.
49725         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
49726         c-maybe style.
49727         (quotearg_buffer_restyled): Handle new flag to elide outer
49728         quotes.
49729
49730         Quotearg part 2: add flag that can control NUL elision.
49731         * lib/quotearg.h (set_quoting_flags): New prototype.
49732         * lib/quotearg.c (struct quoting_options): Add flag field.
49733         (set_quoting_flags): New function.
49734         (quotearg_buffer_restyled): Add flags parameter.
49735         (quotearg_alloc_mem): Set the flag if length cannot be returned.
49736         (quotearg_n_options): Set the flag, since length cannot be
49737         returned.
49738         (quoting_options_from_style): Default flags correctly.
49739
49740         Quotearg part 1: more wrappers, restore quotearg_char state.
49741         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
49742         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
49743         (quotearg_colon_mem): New wrappers.
49744         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
49745         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
49746         functions.
49747         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
49748         (quotearg_colon_mem): New functions.
49749
49750 2008-02-11  Bruno Haible  <bruno@clisp.org>
49751
49752         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
49753         library in the current directory: it does not work with parallel make.
49754         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49755
49756 2008-02-11  Bruno Haible  <bruno@clisp.org>
49757
49758         * .gitattributes: New file.
49759
49760 2008-02-11  Jim Meyering  <meyering@redhat.com>
49761
49762         useless-if-before-free: Fix reversed exit values.
49763         * build-aux/useless-if-before-free: Use correct values
49764         for EXIT_MATCH and EXIT_NO_MATCH.
49765
49766         * build-aux/useless-if-before-free: Close stdout carefully.
49767
49768 2008-02-10  Bruno Haible  <bruno@clisp.org>
49769
49770         New module 'git-merge-changelog'.
49771         * modules/git-merge-changelog: New file.
49772         * lib/git-merge-changelog.c: New file.
49773
49774 2008-02-10  Jim Meyering  <meyering@redhat.com>
49775
49776         useless-if-before-free: New option: --list (-l).
49777
49778         useless-if-before-free: Don't exit immediately upon open failure.
49779         * build-aux/useless-if-before-free: Exit 2 for errors.
49780         Upon failure to open a file, don't exit immediately.
49781         Rather, just warn and continue with any remaining files.
49782
49783 2008-02-10  Bruno Haible  <bruno@clisp.org>
49784
49785         New abstract list operation 'node_set_value'.
49786         * lib/gl_list.h (gl_list_node_set_value): New function.
49787         (struct gl_list_implementation): New field node_set_value.
49788         * lib/gl_list.c (gl_list_node_set_value): New function.
49789         * lib/gl_array_list.c (gl_array_node_set_value): New function.
49790         (gl_array_list_implementation): Update.
49791         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
49792         (gl_carray_list_implementation): Update.
49793         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
49794         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
49795         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
49796         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
49797         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
49798         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
49799         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
49800         Update.
49801         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
49802         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
49803         (gl_sublist_list_implementation): Update.
49804
49805 2008-02-10  Bruno Haible  <bruno@clisp.org>
49806
49807         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
49808         Needed when ELEMENT is #defined to 'some_type *'.
49809
49810 2008-02-10  Jim Meyering  <meyering@redhat.com>
49811
49812         New script and module: useless-if-before-free
49813         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
49814         * build-aux/useless-if-before-free: New file.
49815         * modules/useless-if-before-free: New file.
49816
49817         * build-aux/gitlog-to-changelog: Use committer date, not author date.
49818
49819         xstrtol_error: Fix typo.
49820         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
49821         s/exit_failure/exit_status/.
49822
49823 2008-02-09  Jim Meyering  <meyering@redhat.com>
49824
49825         New script and module: gitlog-to-changelog
49826         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
49827         * modules/gitlog-to-changelog: New file.
49828         * build-aux/gitlog-to-changelog: New file.
49829
49830 2008-02-08  Jim Meyering  <meyering@redhat.com>
49831
49832         Avoid two "parameter unused" warnings.
49833         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
49834         Mark "st" as used.
49835
49836         Use "git COMMAND", not "git-COMMAND".
49837         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
49838         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
49839         * build-aux/git-version-gen: Use "git status", not "git-status".
49840
49841 2008-02-07  Bruno Haible  <bruno@clisp.org>
49842
49843         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
49844         Avoids a crash on Windows Vista.
49845         Reported by Adam Strzelecki <ono@java.pl> via
49846         Simon Josefsson <simon@josefsson.org>.
49847
49848 2008-02-06  Bruno Haible  <bruno@clisp.org>
49849
49850         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
49851         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
49852         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
49853         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
49854         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
49855         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49856         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
49857         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
49858         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49859         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49860         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49861         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49862         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49863         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49864         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49865         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
49866         left-adjust flag.
49867         * tests/test-snprintf-posix.h (test_function): Likewise.
49868         * tests/test-sprintf-posix.h (test_function): Likewise.
49869         * tests/test-vasprintf-posix.c (test_function): Likewise.
49870         * doc/posix-functions/fprintf.texi: Update.
49871         * doc/posix-functions/printf.texi: Update.
49872         * doc/posix-functions/snprintf.texi: Update.
49873         * doc/posix-functions/sprintf.texi: Update.
49874         * doc/posix-functions/vfprintf.texi: Update.
49875         * doc/posix-functions/vprintf.texi: Update.
49876         * doc/posix-functions/vsnprintf.texi: Update.
49877         * doc/posix-functions/vsprintf.texi: Update.
49878         Reported by Peter Fales <psfales@alcatel-lucent.com>.
49879
49880 2008-02-06  Bruno Haible  <bruno@clisp.org>
49881
49882         Fix bug introduced on 2008-01-26.
49883         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
49884
49885 2008-02-06  Bruno Haible  <bruno@clisp.org>
49886
49887         Fix bug introduced on 2007-06-10.
49888         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
49889         !NEED_PRINTF_FLAG_ZERO.
49890
49891 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
49892
49893         getloadavg: use libperfstat on AIX5
49894         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
49895
49896 2008-02-03  Bruno Haible  <bruno@clisp.org>
49897
49898         * lib/diffseq.h: Add comments about required #includes.
49899         Reported by Michael Biggs <gnulib@doubleplum.net>.
49900
49901 2008-02-01  Bruno Haible  <bruno@clisp.org>
49902
49903         * users.txt: Add gnuit.
49904
49905 2008-01-31  Bruno Haible  <bruno@clisp.org>
49906
49907         * lib/md4.c (set_uint32): Mark as inline.
49908         * lib/md5.c (set_uint32): Likewise.
49909         * lib/sha1.c (set_uint32): Likewise.
49910         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
49911         * m4/md5.m4 (gl_MD5): Likewise.
49912         * m4/sha1.m4 (gl_SHA1): Likewise.
49913
49914 2008-01-31  Jim Meyering  <meyering@redhat.com>
49915
49916         Use "sizeof VAR", rather than a literal "4".
49917         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
49918         * lib/md4.c (md4_read_ctx): Likewise.
49919         * lib/sha1.c (sha1_read_ctx): Likewise.
49920
49921 2008-01-31  Simon Josefsson  <simon@josefsson.org>
49922
49923         * tests/test-sha1.c: New file, based on test-md5.c.
49924
49925         * modules/crypto/sha1-tests: New file.
49926
49927 2008-01-31  Simon Josefsson  <simon@josefsson.org>
49928
49929         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
49930
49931 2008-01-31  Jim Meyering  <meyering@redhat.com>
49932
49933         Prefer "sizeof v" over the equivalent "4".
49934         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
49935         * lib/md5.c (set_uint32): Likewise.
49936         * lib/sha1.c (set_uint32): Likewise.
49937
49938 2008-01-31  Simon Josefsson  <simon@josefsson.org>
49939
49940         * lib/sha1.c (set_uint32): Mark function as static.
49941
49942 2008-01-31  Simon Josefsson  <simon@josefsson.org>
49943
49944         md2: clarify comments to say that alignment is not required.
49945         * lib/md2.h: Remove warning about alignment in comment.
49946         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
49947         never been required.
49948
49949 2008-01-31  Simon Josefsson  <simon@josefsson.org>
49950
49951         md4: adapt alignment constraint fix from sha1.
49952         * lib/md4.c (set_uint32): New function, from sha1.c
49953         (md4_read_ctx): Use it.
49954         (md4_finish_ctx): Doc fix.
49955         * lib/md4.h: Doc fix.
49956
49957 2008-01-31  Simon Josefsson  <simon@josefsson.org>
49958
49959         md5: adapt alignment constraint fix from sha1.
49960         * lib/md5.c (set_uint32): New function, from sha1.c
49961         (md5_read_ctx): Use it.
49962         (md5_finish_ctx): Doc fix.
49963         * lib/md5.h: Doc fix.
49964
49965 2008-01-30  Peter Palfrader  <weasel@debian.org>
49966
49967         sha1: remove the result buffer alignment constraint
49968         * lib/sha1.c (set_uint32): New function.
49969         (sha1_read_ctx): Rewrite to remove the result buffer alignment
49970         constraint.
49971         (sha1_finish_ctx): Remove comment warning about alignment constraint.
49972         * lib/sha1.h: Likewise.
49973
49974 2008-01-30  Andreas Schwab  <schwab@suse.de>
49975             Bruno Haible  <bruno@clisp.org>
49976
49977         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
49978         correct definition of LDBL_MIN_EXP.
49979
49980 2008-01-30  Karl Berry  <karl@gnu.org>
49981
49982         * config/srclist-update: try to preserve x bit on updates.
49983         * config/srclistvars.sh: update for karl.
49984
49985 2008-01-29  Jim Meyering  <meyering@redhat.com>
49986
49987         vasnprintf.c: Avoid warning about unused label
49988         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
49989         "overflow" label definition and associated code with the
49990         same cpp condition that guards the sole use of that label.
49991
49992 2008-01-26  Bruno Haible  <bruno@clisp.org>
49993
49994         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
49995         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
49996         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
49997         * lib/isnanl-nolibm.h (isnanl): Likewise.
49998         Reported by Paul Eggert <eggert@cs.ucla.edu>.
49999
50000 2008-01-26  Bruno Haible  <bruno@clisp.org>
50001
50002         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
50003         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
50004
50005 2008-01-26  Bruno Haible  <bruno@clisp.org>
50006
50007         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
50008         GCC >= 4.0 built-in.
50009         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
50010
50011 2008-01-26  Bruno Haible  <bruno@clisp.org>
50012
50013         Rename isnan, applicable to 'double' only, to isnand.
50014         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
50015         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
50016         (configure.ac): Update.
50017         (Include): Replace "isnan.h" with "isnand.h".
50018         * m4/isnand.m4: Renamed from m4/isnan.m4.
50019         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
50020         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
50021         instead of isnan.c.
50022         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
50023         instead of HAVE_ISNAN_IN_LIBC.
50024         (isnand): Renamed from isnan.
50025         * lib/isnand.c: New file.
50026         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
50027         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
50028         (Makefile.am): Update.
50029         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
50030         Include isnand.h instead of isnan.h.
50031         (main): Test isnand instead of isnan.
50032         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
50033         isnan-nolibm.
50034         * modules/frexp (Depends-on): Likewise.
50035         * modules/frexp-tests (Depends-on): Likewise.
50036         * modules/frexp-nolibm (Depends-on): Likewise.
50037         * modules/frexp-nolibm-tests (Depends-on): Likewise.
50038         * modules/isfinite (Depends-on): Likewise.
50039         * modules/round-tests (Depends-on): Likewise.
50040         * modules/signbit (Depends-on): Likewise.
50041         * modules/signbit-tests (Depends-on): Likewise.
50042         * modules/snprintf-posix (Depends-on): Likewise.
50043         * modules/sprintf-posix (Depends-on): Likewise.
50044         * modules/trunc-tests (Depends-on): Likewise.
50045         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
50046         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
50047         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
50048         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
50049         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
50050         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
50051         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
50052         * modules/vasnprintf-posix (Depends-on): Likewise.
50053         * modules/vasprintf-posix (Depends-on): Likewise.
50054         * modules/vfprintf-posix (Depends-on): Likewise.
50055         * modules/vsnprintf-posix (Depends-on): Likewise.
50056         * modules/vsprintf-posix (Depends-on): Likewise.
50057         * lib/frexp.c: Include isnand.h instead of isnan.h.
50058         (ISNAN): Set to isnand instead of isnan.
50059         * lib/isfinite.c: Include isnand.h instead of isnan.h.
50060         (gl_isfinited): Use isnand instead of isnan.
50061         * lib/signbitd.c: Include isnand.h instead of isnan.h.
50062         (gl_signbitd): Use isnand instead of isnan.
50063         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
50064         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
50065         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
50066         (main): Use isnand instead of isnan.
50067         * tests/test-round1.c: Include isnand.h.
50068         (main): Use isnand instead of isnan.
50069         * tests/test-round2.c: Include isnand.h instead of isnan.h.
50070         (ISNAN): Set to isnand instead of isnan.
50071         * tests/test-trunc1.c: Include isnand.h.
50072         (main): Use isnand instead of isnan.
50073         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
50074         (equal): Use isnand instead of isnan.
50075         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
50076         isnand-nolibm.
50077         * NEWS: Mention the change.
50078
50079 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
50080             Bruno Haible  <bruno@clisp.org>
50081
50082         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
50083         the GCC builtins for signbits are present and set
50084         REPLACE_SIGNBIT_USING_GCC if so.
50085         * lib/math.in.h (signbit): Define using GCC builtins if
50086         REPLACE_SIGNBIT_USING_GCC is set.
50087         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
50088         REPLACE_SIGNBIT_USING_GCC.
50089         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
50090
50091 2008-01-25  Jim Meyering  <meyering@redhat.com>
50092
50093         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
50094         * lib/poll.c: Include <config.h>, not "config.h".
50095         * tests/test-getaddrinfo.c: Likewise.
50096
50097 2008-01-25  Simon Josefsson  <simon@josefsson.org>
50098
50099         * modules/sockets-tests: New file.
50100
50101 2008-01-24  Simon Josefsson  <simon@josefsson.org>
50102
50103         * modules/sockets: New module, can be used to call WSA_Startup and
50104         WSA_Cleanup when needed.
50105
50106         * lib/sockets.h, lib/sockets.c: New files.
50107
50108         * m4/sockets.m4: New file.
50109
50110         * tests/test-sockets.c: New file.
50111
50112 2008-01-19  Bruno Haible  <bruno@clisp.org>
50113
50114         * doc/posix-headers: Renamed from doc/headers.
50115         * doc/posix-functions: Renamed from doc/functions.
50116         * doc/gnulib.texi: Update.
50117
50118 2008-01-19  Bruno Haible  <bruno@clisp.org>
50119
50120         * doc/glibc-functions/strcasestr.texi: Include contents of
50121         doc/functions/strcasestr.texi, fixing the list of platforms.
50122         * doc/functions/strcasestr.texi: Remove file.
50123
50124 2008-01-19  Bruno Haible  <bruno@clisp.org>
50125
50126         * doc/glibc-functions/memmem.texi: Include contents of
50127         doc/functions/memmem.texi.
50128         * doc/functions/memmem.texi: Remove file.
50129
50130 2008-01-18  Bruno Haible  <bruno@clisp.org>
50131
50132         * doc/glibc-functions/*.texi: New files.
50133         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
50134         to use the new files.
50135
50136 2008-01-17  Bruno Haible  <bruno@clisp.org>
50137
50138         * tests/test-gethostname.c (main): Fix printf statement.
50139
50140 2008-01-17  Simon Josefsson  <simon@josefsson.org>
50141
50142         * modules/gethostname-tests: New file.
50143
50144         * tests/test-gethostname.c: New file.
50145
50146 2008-01-17  Simon Josefsson  <simon@josefsson.org>
50147
50148         * lib/gethostname.c: Include string.h unconditionally, strncpy is
50149         used by the UNAME case.  Reported by Bruno Haible
50150         <bruno@clisp.org>.
50151
50152 2008-01-17  Eric Blake  <ebb9@byu.net>
50153
50154         Convert c-strcasestr to be more efficient.
50155         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
50156         (Depends-on): Add c-strcase, remove malloca, strnlen.
50157         * tests/test-c-strcasestr.c (main): Enhance test.
50158         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
50159
50160 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
50161
50162         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
50163         Use it in creating po/Makevars.
50164
50165 2008-01-15  Simon Josefsson  <simon@josefsson.org>
50166
50167         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
50168         Applications that requires it should initialize libgcrypt
50169         manually.
50170
50171 2008-01-16  Simon Josefsson  <simon@josefsson.org>
50172
50173         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
50174
50175 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
50176
50177         Fix problem with getdate on mingw32 reported by Simon Josefsson
50178         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
50179         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
50180         tzname", when deciding whether to declare tzname.
50181         * lib/strftime.c (tzname): Likewise.
50182
50183 2008-01-15  Bruno Haible  <bruno@clisp.org>
50184
50185         Work around a MacOS X 10.5 bug in frexpl().
50186         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
50187         * doc/functions/frexpl.texi: Document the bug.
50188         Reported by Elias Pipping <pipping@gentoo.org>.
50189
50190 2008-01-14  Eric Blake  <ebb9@byu.net>
50191
50192         Touch up previous patch.
50193         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
50194         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
50195
50196         Convert strcasestr module to use Two-Way algorithm.
50197         * modules/strcasestr-simple: New module, based on the old
50198         strcasestr, but with Two-Way rather than KMP.
50199         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
50200         * lib/string.in.h (rpl_strcasestr): Declare.
50201         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
50202         performance.
50203         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
50204         * modules/string (Makefile.am): Support strcasestr.
50205         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
50206         * modules/strcasestr-tests (Depends-on): Check for alarm.
50207         * tests/test-strcasestr.c: Augment test.
50208         * lib/str-two-way.h: Clean up stray macro.
50209         * NEWS: Document new module.
50210         * MODULES.html.sh (string handling): Likewise.
50211         * doc/functions/strcasestr.texi: New file.
50212         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
50213         here, since it is not a POSIX function.
50214
50215 2008-01-14  Colin Watson  <cjwatson@debian.org>
50216             Bruno Haible  <bruno@clisp.org>
50217
50218         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
50219         works fine; if not, set REPLACE_STRSIGNAL.
50220         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
50221         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
50222         REPLACE_STRSIGNAL.
50223         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
50224         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
50225         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
50226
50227 2008-01-14  Bruno Haible  <bruno@clisp.org>
50228
50229         * modules/strsignal (Include): Change to <string.h>.
50230
50231 2008-01-14  Colin Watson  <cjwatson@debian.org>
50232
50233         * modules/argp (Notice): Add a notice recommending to change
50234         XGETTEXT_OPTIONS.
50235         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
50236
50237 2008-01-13  Colin Watson  <cjwatson@debian.org>
50238
50239         * modules/strsignal-tests: New file.
50240         * tests/test-strsignal.c: New file.
50241
50242         * lib/strsignal.c: New file, from glibc with modifications.
50243         * lib/siglist.h: New file, from glibc with modifications.
50244         * lib/string.in.h (strsignal): New declaration.
50245         * m4/strsignal.m4: New file.
50246         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
50247         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
50248         * modules/strsignal: New file.
50249         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
50250         HAVE_DECL_STRSIGNAL.
50251
50252 2008-01-13  Bruno Haible  <bruno@clisp.org>
50253
50254         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
50255         locale encoding is not ASCII. Needed for OpenBSD 4.0.
50256         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
50257         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
50258
50259 2008-01-13  Bruno Haible  <bruno@clisp.org>
50260
50261         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
50262         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
50263         * lib/argp.h (__attribute__): Likewise.
50264         * lib/c-stack.c (__attribute__): Likewise.
50265         * lib/error.h (__attribute__): Likewise.
50266         * lib/fts.c (__attribute__): Likewise.
50267         * lib/openat.h (__attribute__): Likewise.
50268         * lib/stdio.in.h (__attribute__): Likewise.
50269         * lib/string.in.h (__attribute__): Likewise.
50270         * lib/utimens.c (__attribute__): Likewise.
50271         * lib/vasnprintf.h (__attribute__): Likewise.
50272         * lib/xalloc.h (__attribute__): Likewise.
50273         * lib/xprintf.h (__attribute__): Likewise.
50274         * lib/xstrtol.h (__attribute__): Likewise.
50275         * lib/xvasprintf.h (__attribute__): Likewise.
50276
50277 2008-01-12  Bruno Haible  <bruno@clisp.org>
50278
50279         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
50280         * doc/glibc-headers/a.out.texi: New file.
50281         * doc/glibc-headers/aliases.texi: New file.
50282         * doc/glibc-headers/alloca.texi: New file.
50283         * doc/glibc-headers/ar.texi: New file.
50284         * doc/glibc-headers/argp.texi: New file.
50285         * doc/glibc-headers/argz.texi: New file.
50286         * doc/glibc-headers/byteswap.texi: New file.
50287         * doc/glibc-headers/crypt.texi: New file.
50288         * doc/glibc-headers/endian.texi: New file.
50289         * doc/glibc-headers/envz.texi: New file.
50290         * doc/glibc-headers/err.texi: New file.
50291         * doc/glibc-headers/error.texi: New file.
50292         * doc/glibc-headers/execinfo.texi: New file.
50293         * doc/glibc-headers/fpu_control.texi: New file.
50294         * doc/glibc-headers/fstab.texi: New file.
50295         * doc/glibc-headers/fts.texi: New file.
50296         * doc/glibc-headers/getopt.texi: New file.
50297         * doc/glibc-headers/ieee754.texi: New file.
50298         * doc/glibc-headers/ifaddrs.texi: New file.
50299         * doc/glibc-headers/libintl.texi: New file.
50300         * doc/glibc-headers/mcheck.texi: New file.
50301         * doc/glibc-headers/mntent.texi: New file.
50302         * doc/glibc-headers/obstack.texi: New file.
50303         * doc/glibc-headers/paths.texi: New file.
50304         * doc/glibc-headers/printf.texi: New file.
50305         * doc/glibc-headers/pty.texi: New file.
50306         * doc/glibc-headers/resolv.texi: New file.
50307         * doc/glibc-headers/shadow.texi: New file.
50308         * doc/glibc-headers/sysexits.texi: New file.
50309         * doc/glibc-headers/ttyent.texi: New file.
50310
50311 2008-01-12  Jim Meyering  <meyering@redhat.com>
50312
50313         announce-gen: emit Gnulib's git-based version string.
50314         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
50315         New option --gnulib-version=V, where V is expected to be
50316         the output of running git describe in the gnulib directory.
50317         (get_tool_versions): Request feedback on xdelta.  I suspect it's
50318         not useful, and plan to stop publishing an xdelta file with each
50319         coreutils release.
50320
50321         * build-aux/announce-gen: Also check for lzma-compressed files.
50322
50323 2008-01-11  Bruno Haible  <bruno@clisp.org>
50324
50325         * tests/test-memmem.c (main): Increase maximum allowed time.
50326         * tests/test-strstr.c (main): Likewise.
50327
50328 2008-01-11  Bruno Haible  <bruno@clisp.org>
50329
50330         * doc/functions/memmem.texi: Add more precisions about platforms.
50331         * doc/functions/strstr.texi: Likewise.
50332
50333 2008-01-10  Eric Blake  <ebb9@byu.net>
50334
50335         * m4/strstr.m4: Delete cruft from copy-n-paste.
50336         Reported by Bruno Haible.
50337
50338 2008-01-10  Bruno Haible  <bruno@clisp.org>
50339
50340         Make c-strstr rely on strstr.
50341         * lib/c-strstr.c: Don't include str-kmp.h.
50342         (c_strstr): Define in terms of strstr.
50343         * modules/c-strstr (Files): Remove lib/str-kmp.h.
50344         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
50345
50346 2008-01-10  Bruno Haible  <bruno@clisp.org>
50347
50348         * doc/gnulib.texi (String Functions in C Locale): New section.
50349         * doc/c-ctype.texi: New file.
50350         * doc/c-strcase.texi: New file.
50351         * doc/c-strcaseeq.texi: New file.
50352         * doc/c-strcasestr.texi: New file.
50353         * doc/c-strstr.texi: New file.
50354         * doc/c-strtod.texi: New file.
50355         * doc/c-strtold.texi: New file.
50356
50357 2008-01-10  Eric Blake  <ebb9@byu.net>
50358
50359         * lib/relocatable.h: Fix a comment.
50360
50361 2008-01-10  Eric Blake  <ebb9@byu.net>
50362
50363         Share two-way algorithm.
50364         * lib/str-two-way.h: New file, merged from...
50365         * lib/memmem.c: ...here...
50366         * lib/strstr.c: ...and here.
50367         * modules/memmem (Files): Use it.
50368         * modules/strstr (Files): Likewise.
50369
50370         Avoid quadratic strstr implementations.
50371         * lib/strstr.c: New file.
50372         * m4/strstr.m4: Likewise.
50373         * modules/strstr: Likewise.
50374         * modules/strstr-tests: Likewise.
50375         * tests/test-strstr.c: Likewise.
50376         * lib/string.in.h (rpl_strstr): Declare.
50377         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
50378         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
50379         * modules/string (Makefile.am): Likewise.
50380         * MODULES.html.sh (string handling): Mention new module.
50381         * doc/functions/strstr.texi (strstr): Document the bug.
50382
50383 2008-01-10  Bruno Haible  <bruno@clisp.org>
50384
50385         * lib/relocatable.h (relocate): State whether result is freshly
50386         allocated or not.
50387         * lib/relocatable.c (relocate): Return a freshly allocated string
50388         instead of a pointer to a privately held string.
50389         Reported by Sylvain Beucler <beuc@gnu.org>.
50390
50391 2008-01-10  Colin Watson  <cjwatson@debian.org>
50392
50393         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
50394         s/S_ISNLK/S_ISLNK/.
50395
50396 2008-01-09  Bruno Haible  <bruno@clisp.org>
50397
50398         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
50399         and other files.
50400         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
50401         if it's only a guess.
50402         * modules/memmem: Simplify by depending on memmem-simple.
50403
50404 2008-01-09  Bruno Haible  <bruno@clisp.org>
50405
50406         Work around OpenBSD 4.0 tdelete() bug.
50407         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
50408         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
50409         macros and don't redefine the enum values.
50410         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
50411         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
50412         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
50413
50414 2008-01-09  Bruno Haible  <bruno@clisp.org>
50415
50416         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
50417         (main): Don't perform the tests if setlocale did not install a UTF-8
50418         locale. Needed on OpenBSD 4.0.
50419         * modules/wcwidth-tests (Depends-on): Add localcharset.
50420
50421 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
50422
50423         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
50424         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
50425         * NEWS: announce this.
50426         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
50427
50428 2008-01-09  Simon Josefsson  <simon@josefsson.org>
50429         and Eric Blake  <ebb9@byu.net>
50430
50431         Add memmem-simple module.
50432         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
50433         (gl_FUNC_MEMMEM): Separate performance from presence checks.
50434         * modules/memmem-simple: New file.
50435         * modules/memmem (Description): Tweak.
50436         * MODULES.html.sh (string handling): Mention new module.
50437         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
50438         addressed by memmem-simple.
50439         * NEWS: Document the difference.
50440
50441 2008-01-09  Eric Blake  <ebb9@byu.net>
50442
50443         Give gcc some memmem optimization hints.
50444         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
50445         (strcasestr): Declare as pure.
50446         * modules/memmem (Maintainer): Claim my implementation.
50447
50448 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50449
50450         Support AIX 6.1 and higher.
50451         * build-aux/config.libpath: Likewise.
50452         * build-aux/config.rpath: Likewise.
50453
50454 2008-01-08  Jim Meyering  <meyering@redhat.com>
50455             Bruno Haible  <bruno@clisp.org>
50456
50457         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
50458         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
50459         Reported by Peter Fales in
50460         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
50461
50462 2008-01-08  Bruno Haible  <bruno@clisp.org>
50463
50464         * modules/unictype/category-of (Depends-on): Add
50465         unictype/category-none.
50466         * modules/unictype/category-and-tests (Depends-on): Add
50467         unictype/category-{L,N,Lu,Nd}.
50468         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
50469         * modules/unictype/category-or-tests (Depends-on): Add
50470         unictype/category-{L,N}.
50471         * modules/unictype/category-name-tests (Depends-on): Add
50472         unictype/category-{Z,Nl}.
50473         Reported by Simon Josefsson.
50474
50475 2008-01-08  Bruno Haible  <bruno@clisp.org>
50476
50477         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
50478         convention better.
50479         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
50480         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
50481         Reported by Peter Miller <millerp@canb.auug.org.au>.
50482
50483 2008-01-08  Eric Blake  <ebb9@byu.net>
50484
50485         Rewrite memmem to guarantee linear complexity without malloc.
50486         * lib/memmem.c (memmem): Use Two-Way rather than
50487         Knuth-Morris-Pratt, to allow O(1) space usage.
50488         (critical_factorization, two_way_short_needle)
50489         (two_way_long_needle): New functions.
50490         (knuth_morris_pratt): Delete.
50491         * modules/memmem (Depends-on): No longer need malloca or stdbool.
50492         Add stdint.
50493         * tests/test-memmem.c (main): Add tests for periodic needle and
50494         sublinear performance.
50495         * doc/functions/memmem.texi (memmem): Document other deficiencies
50496         in cygwin and older glibc.
50497
50498 2008-01-08  Bruno Haible  <bruno@clisp.org>
50499
50500         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
50501         augmentation.
50502
50503 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
50504
50505         Add a configure time option: --disable-acl.
50506         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
50507         AC_ARG_ENABLE(acl).
50508
50509 2008-01-06  Simon Josefsson  <simon@josefsson.org>
50510
50511         * tests/test-localename.c: Don't include obsolete "setenv.h".
50512
50513         * modules/localename-tests (Depends-on): Need unsetenv.
50514
50515 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50516
50517         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
50518
50519 2008-01-06  Colin Watson  <cjwatson@debian.org>
50520
50521         * users.txt: Add man-db.
50522
50523 2008-01-07  Bruno Haible  <bruno@clisp.org>
50524
50525         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
50526         previous section name.
50527
50528 2008-01-07  Bruno Haible  <bruno@clisp.org>
50529
50530         * lib/progname.c (set_program_name): Don't strip off a leading
50531         "lt-" prefix outside a .libs directory.
50532         Suggested by Paul Eggert.
50533
50534 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
50535             Bruno Haible  <bruno@clisp.org>
50536
50537         Improve memory cleanup in 'relocatable' module.
50538         * lib/relocatable.h (compute_curr_prefix): Change return type to
50539         'char *'.
50540         * lib/relocatable.c (compute_curr_prefix): Change return type to
50541         'char *'. Free curr_installdir after use.
50542         (relocate): Free curr_prefix_better after use.
50543         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
50544
50545 2008-01-01  Bruno Haible  <bruno@clisp.org>
50546
50547         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
50548         failure on older glibc systems.
50549         Reported by Peter Fales <psfales@alcatel-lucent.com>.
50550
50551 2008-01-05  Eric Blake  <ebb9@byu.net>
50552
50553         Avoid quadratic system memmem.
50554         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
50555         Reported by Ralf Wildenhues.
50556
50557         Fix memmem test for mingw.
50558         * modules/memmem-tests (configure.ac): Check for alarm.
50559         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
50560         it.
50561         * doc/functions/memmem.texi: New file.
50562         * doc/gnulib.texi (Function Substitutes): Add memmem.
50563         Reported by Bruno Haible.
50564
50565 2008-01-04  Bruno Haible  <bruno@clisp.org>
50566
50567         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
50568         Require gl_HEADER_STRINGS_H_DEFAULTS, not
50569         gl_HEADER_STRING_H_DEFAULTS.
50570
50571 2008-01-04  Eric Blake  <ebb9@byu.net>
50572
50573         Shorten duration of memmem test.
50574         * tests/test-memmem.c (main): Use alarm to declare failure if test
50575         is taking too long.
50576         Reported by Ralf Wildenhues.
50577
50578 2007-12-21  Simon Josefsson  <simon@josefsson.org>
50579
50580         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
50581         string, needed by strerror.
50582
50583 2008-01-03  Colin Watson  <cjwatson@debian.org>
50584             Bruno Haible  <bruno@clisp.org>
50585
50586         * doc/gnulib-tool.texi (Localization): New section.
50587
50588 2008-01-02  Bruno Haible  <bruno@clisp.org>
50589
50590         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
50591         variables to 'unsigned char *' type.
50592         Reported by Paul Eggert.
50593
50594 2008-01-02  Jim Meyering  <jim@meyering.net>
50595
50596         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
50597
50598 2007-12-31  Jim Meyering  <jim@meyering.net>
50599
50600         Avoid use of private FTS type name.
50601         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
50602
50603 2007-12-30  Karl Berry  <karl@gnu.org>
50604
50605         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
50606         work around defect in Texinfo and/or the standalone Info browser.
50607
50608 2007-12-30  Bruno Haible  <bruno@clisp.org>
50609
50610         Unify 5 copies of the KMP code.
50611         * lib/str-kmp.h: New file.
50612         * lib/c-strcasestr.c: Include str-kmp.h.
50613         (knuth_morris_pratt): Remove function.
50614         (c_strcasestr): Update.
50615         * lib/c-strstr.c: Include str-kmp.h.
50616         (knuth_morris_pratt): Remove function.
50617         (c_strcasestr): Update.
50618         * lib/mbscasestr.c: Include str-kmp.h.
50619         (knuth_morris_pratt_unibyte): Remove function.
50620         * lib/mbsstr.c: Include str-kmp.h.
50621         (knuth_morris_pratt_unibyte): Remove function.
50622         * lib/strcasestr.c: Include str-kmp.h.
50623         (knuth_morris_pratt): Remove function.
50624         (strcasestr): Update.
50625         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
50626         * modules/c-strstr (Files): Likewise.
50627         * modules/mbscasestr (Files): Likewise.
50628         * modules/mbsstr (Files): Likewise.
50629         * modules/strcasestr (Files): Likewise.
50630         Suggested by Paul Eggert.
50631
50632 2007-12-30  Bruno Haible  <bruno@clisp.org>
50633
50634         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
50635         defined.
50636
50637 2007-12-30  Bruno Haible  <bruno@clisp.org>
50638
50639         * lib/xmalloca.h: Include xalloc.h.
50640         (xnmalloca): New macro.
50641
50642 2007-12-30  Bruno Haible  <bruno@clisp.org>
50643
50644         * lib/malloca.h (nmalloca): New macro.
50645         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
50646         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
50647         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
50648         knuth_morris_pratt_multibyte): Likewise.
50649         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
50650         knuth_morris_pratt_multibyte): Likewise.
50651         * lib/memmem.c (knuth_morris_pratt): Likewise.
50652         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
50653
50654 2007-12-25  Bruno Haible  <bruno@clisp.org>
50655
50656         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
50657         * lib/glob.c: Don't include openat.h.
50658         (link_exists2_p): Add back the code that deals with the
50659         !GLOB_ALTDIRFUNC case.
50660         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
50661         let it do the filename concatenation.
50662         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
50663         * modules/glob (Depends-on): Remove openat.
50664
50665 2007-12-31  Bruno Haible  <bruno@clisp.org>
50666
50667         * modules/dirfd (License): Change to LGPLv2+.
50668         Approved by Jim Meyering.
50669
50670 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
50671
50672         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
50673         when multiplying M by sizeof (size_t).
50674
50675 2007-12-10  Martin Lambers  <marlam@marlam.de>
50676
50677         Override getpagesize on mingw.
50678         * lib/getpagesize.c: New file.
50679         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
50680         * modules/getpagesize (Files): Add lib/getpagesize.c.
50681         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
50682         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50683         REPLACE_GETPAGESIZE.
50684         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
50685
50686 2007-12-25  Bruno Haible  <bruno@clisp.org>
50687
50688         * modules/localcharset (Notice): New field.
50689         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
50690         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
50691
50692 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
50693             Bruno Haible  <bruno@clisp.org>
50694
50695         Avoid using the syntax symbol() in formatted documentation.
50696         * MODULES.html.sh (func_module): When replacing symbol() with a
50697         hyperlink, remove the parentheses. Show an error if some remain.
50698         Recognize and render the '...' syntax.
50699         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
50700         Rework. Add paragraph about GCC's inlining.
50701         * doc/alloca.texi: Likewise.
50702         * doc/error.texi: Remove parentheses from symbol reference.
50703         * doc/gnulib-intro.texi: Likewise.
50704         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
50705         * modules/fnmatch (Description): Reword to say "the ... function".
50706         * modules/full-read (Description): Likewise.
50707         * modules/full-write (Description): Likewise.
50708         * modules/safe-read (Description): Likewise.
50709         * modules/safe-write (Description): Likewise.
50710         * modules/strchrnul (Description): Likewise.
50711         * modules/trim (Description): Likewise.
50712         * modules/error (Description): Remove parentheses from symbol
50713         references.
50714         * modules/verror (Description): Likewise.
50715         Reported by Karl Berry.
50716
50717 2007-12-25  Bruno Haible  <bruno@clisp.org>
50718
50719         Fixup after 2007-10-16 commit.
50720         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
50721
50722 2007-12-24  Bruno Haible  <bruno@clisp.org>
50723
50724         Make --enable-relocatable work with DESTDIR.
50725         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
50726         to compute installdir from destprog.
50727         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
50728         also set the RELOC_DESTDIR variable.
50729         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
50730
50731 2007-12-24  Bruno Haible  <bruno@clisp.org>
50732
50733         Fix link error due to xalloc_die().
50734         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
50735         of xreadlink.
50736         * lib/relocwrapper.c: Update comments.
50737         * build-aux/install-reloc: Remove xreadlink.c from file list.
50738         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
50739         xreadlink.c.
50740         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
50741
50742 2007-12-24  Bruno Haible  <bruno@clisp.org>
50743
50744         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
50745         * lib/setenv.h: Remove file.
50746         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
50747         lib/setenv.h.
50748         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
50749         (Depends-on): Add stdlib.
50750         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
50751         gl_FUNC_UNSETENV.
50752         (Include): Replace setenv.h with <stdlib.h>.
50753         * modules/unsetenv: New file.
50754         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
50755         * lib/unsetenv.c: Include <stdlib.h> first.
50756         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
50757         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
50758         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
50759         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
50760         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
50761         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
50762         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
50763         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
50764         * doc/functions/unsetenv.texi: Update.
50765         * modules/xsetenv (Depends-on): Add unsetenv.
50766         * modules/getdate (Depends-on): Likewise.
50767         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
50768         * lib/xsetenv.c: Don't include setenv.h.
50769         * lib/getdate.y: Likewise.
50770         * lib/relocwrapper.c: Likewise.
50771         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
50772         (Depends-on): Add stdlib.
50773         * NEWS: Mention the changes.
50774         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
50775
50776 2007-12-23  Bruno Haible  <bruno@clisp.org>
50777
50778         * lib/memmem.c (memmem): Use lowercase variable names. Tab
50779         indentation.
50780
50781 2007-12-23  Bruno Haible  <bruno@clisp.org>
50782
50783         * lib/c-strcasestr.c: Add more comments.
50784         * lib/c-strstr.c: Likewise.
50785         * lib/mbscasestr.c: Likewise.
50786         * lib/mbsstr.c: Likewise.
50787         * lib/strcasestr.c: Likewise.
50788         * lib/memmem.c: Likewise.
50789
50790 2007-12-23  Bruno Haible  <bruno@clisp.org>
50791
50792         * tests/test-memmem.c: Include <string.h> first.
50793
50794 2007-12-22  Bruno Haible  <bruno@clisp.org>
50795
50796         * gnulib-tool (func_create_testdir): Change $auxdir while generating
50797         the contents of $testsbase.
50798         Reported by Ralf Wildenhues.
50799
50800 2007-12-22  Bruno Haible  <bruno@clisp.org>
50801
50802         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
50803         two variables local_ldadd_before, local_ldadd_last.
50804
50805 2007-12-20  Eric Blake  <ebb9@byu.net>
50806
50807         Work around circular library issue when cross-compiling.
50808         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
50809         that progname.o does not need to pull in rpl_memcmp.
50810
50811 2007-12-19  Eric Blake  <ebb9@byu.net>
50812
50813         Fix memmem to avoid O(n^2) worst-case complexity.
50814         * lib/memmem.c (knuth_morris_pratt): New function.
50815         (memmem): Use it if first few naive iterations fail.
50816         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
50817         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
50818         * modules/memchr (License): Likewise.
50819         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
50820         malloca.
50821         * tests/test-memmem.c: Rewrite, borrowing ideas from
50822         test-mbsstr1.c; the old version wouldn't even compile!
50823         * modules/memmem-tests: New file.
50824         * lib/string.in.h (rpl_memmem): Add declaration.
50825         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
50826         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
50827         REPLACE_MEMMEM.
50828
50829 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
50830
50831         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
50832         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
50833         before any system include files, and undef after them all.  This
50834         should fix a problem on VMS reported by John E. Malmberg in
50835         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
50836
50837 2007-12-17  Eric Blake  <ebb9@byu.net>
50838
50839         Revert addition of verify, for BSD/OS.
50840         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
50841         can't handle large files, for the sake of obsolete platforms.
50842         * modules/fseeko (Depends-on): Remove verify.
50843         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
50844         * doc/functions/ftello.texi (ftello): Likewise.
50845         * doc/functions/fgetpos.texi (fgetpos): Likewise.
50846         Reported by Larry Jones.
50847
50848 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
50849
50850         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
50851         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
50852
50853 2007-12-17  Jim Meyering  <meyering@redhat.com>
50854
50855         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
50856         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
50857         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
50858         * modules/getcwd (Depends-on): Add openat.
50859         Reported by Petr Salinger.
50860
50861 2007-12-17  Bruno Haible  <bruno@clisp.org>
50862
50863         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
50864         avoid a segmentation fault of the configure test on x86_64 systems.
50865
50866 2007-12-15  Jim Meyering  <meyering@redhat.com>
50867
50868         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
50869
50870 2007-12-13  Eric Blake  <ebb9@byu.net>
50871
50872         Another fseek test.
50873         * tests/test-fseek.c (main): Also test ungetc handling.
50874         * tests/test-fseeko.c (main): Likewise.
50875         * modules/fseeko (Depends-on): Add verify.
50876         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
50877         large.
50878         Reported by Larry Jones.
50879
50880         Fix fseeko on mingw.
50881         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
50882         seek.
50883
50884         Beef up fseek tests.
50885         * tests/test-fseek.c (main): Also test eof handling.
50886         * tests/test-fseeko.c (main): Likewise.
50887         Reported by Larry Jones.
50888
50889 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
50890
50891         Fix fseeko on BSD-based platforms.
50892         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
50893         successful seek.
50894
50895 2007-12-12  Eric Blake  <ebb9@byu.net>
50896
50897         Allow circular dependency of separate libtests.a
50898         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
50899         when use_libtests.
50900
50901 2007-12-11  Eric Blake  <ebb9@byu.net>
50902
50903         Fix bug with -0.0L in previous patch.
50904         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
50905         * tests/test-isnan.c (main): Also test on zeroes.
50906         * tests/test-isnanf.c (main): Likewise.
50907         * tests/test-isnanl.h (main): Likewise.
50908
50909         Detect pseudo-denormals on x86 even when cross-compiling.
50910         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
50911         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
50912         invalid bit patterns that happen to satisfy ==.
50913
50914         Avoid link failures with separate libtests.a.
50915         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
50916         last, to satisfy circular dependencies.
50917
50918 2007-12-11  Eric Blake  <ebb9@byu.net>
50919         and Bruno Haible  <bruno@clisp.org>
50920
50921         Fix OpenBSD 4.0 <float.h> handling of long double.
50922         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
50923         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
50924         * doc/headers/float.texi (float.h): Document OpenBSD bug.
50925
50926 2007-12-11  Jim Meyering  <meyering@redhat.com>
50927
50928         * users.txt: Add libvirt.
50929
50930         Support versions of autoconf prior to 2.59c.
50931         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
50932         if it is not already defined.
50933
50934 2007-12-09  Bruno Haible  <bruno@clisp.org>
50935
50936         Let 'gnulib-tool --import' collect sources needed for the tests in
50937         tests/ rather than in lib/.
50938         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
50939         argument. If true, add rules to generate libtests.a, and put libtests.a
50940         into $(LDADD). Consider source files in subdirectories and set
50941         uses_subdirs.
50942         (func_emit_initmacro_start, func_emit_initmacro_end,
50943         func_emit_initmacro_done): Pass all arguments explicitly.
50944         (func_import): Determine two module lists main_modules,
50945         testsrelated_modules. Determine use_libtests. Determine two variables
50946         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
50947         instead of just sed_transform_lib_file. Determine two variables
50948         main_files and testsrelated_files. Compute 'files' as the union of
50949         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
50950         func_add_or_update. In the generated gnulib-comp.m4, collect the
50951         object files for tests/ in different variables than those for lib/.
50952         Substitute LIBTESTS_LIBDEPS.
50953         (func_create_testdir): Combine the uses_subdirs results from
50954         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
50955
50956 2007-12-09  Bruno Haible  <bruno@clisp.org>
50957
50958         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
50959         the build-aux directory.
50960
50961 2007-12-09  Bruno Haible  <bruno@clisp.org>
50962
50963         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
50964         introduced on 2006-09-09.
50965
50966 2007-12-07  Jim Meyering  <meyering@redhat.com>
50967
50968         Let these macros work also with autoconf-2.59.
50969         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
50970         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
50971         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
50972
50973 2007-12-06  Jim Meyering  <meyering@redhat.com>
50974
50975         Avoid a configure-time syntax error in gl_FUNC_ACL.
50976         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
50977         function in each branch, before testing the cache variable.
50978
50979 2007-12-04  Eric Blake  <ebb9@byu.net>
50980
50981         Make scripts executable.
50982         * build-aux/config.guess: Add execute permissions.
50983         * build-aux/config.sub: Likewise.
50984         * build-aux/gendocs.sh: Likewise.
50985
50986         Fix frexp on mingw.
50987         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
50988         cross-compiling.
50989         * doc/functions/frexp.texi (frexp): Document the bug.
50990
50991         Make cygwin fseeko check more reliable.
50992         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
50993         version numbers, rather than unrelated feature check.
50994         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
50995         * doc/functions/ftello.texi (ftello): Likewise.
50996         Reported by Bruno Haible.
50997
50998         * m4/strerror.m4: Bump version number.
50999
51000 2007-12-03  Bruno Haible  <bruno@clisp.org>
51001
51002         * doc/functions/mprotect.texi: Mention the mingw problem.
51003
51004 2007-12-03  Eric Blake  <ebb9@byu.net>
51005
51006         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
51007         REPLACE_STRERROR is initialized before this macro.
51008
51009 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
51010
51011         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
51012         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
51013         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
51014         put -lsec in even for programs other than 'ls'.  This fixes a problem
51015         for gettext reported by Bruno Haible in
51016         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
51017         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
51018         Add support for Solaris 10.  This isn't efficient, but should get the
51019         job done for now.
51020
51021 2007-12-03  James Youngman  <jay@gnu.org>
51022
51023         * doc/regexprops-generic.texi: change "an close-group" to "a
51024         close-group" and "illegal" to "not allowed".
51025
51026 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51027
51028         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
51029         pr_byname.h. Needed for the rare case when the maintainer has done
51030         "make maintainer-clean" in the source directory and then attempts a
51031         build outside the source directory.
51032         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
51033         scripts_byname.h.
51034
51035 2007-12-02  Martin Lambers <marlam@marlam.de>
51036             Bruno Haible  <bruno@clisp.org>
51037
51038         * lib/getpagesize.h: Remove file.
51039         * lib/unistd.in.h: Include declaration of getpagesize here.
51040         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
51041         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
51042         HAVE_SYS_PARAM_H.
51043         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
51044         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
51045         * modules/getpagesize (Files): Remove lib/getpagesize.h.
51046         (Depends-on): Add unistd.
51047         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51048         (Include): Use <unistd.h> instead of getpagesize.h.
51049         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
51050         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
51051         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
51052         gl_GETPAGESIZE invocation, already handled by module dependency.
51053         * lib/pagealign_alloc.c: Don't include getpagesize.h.
51054
51055 2007-12-02  Bruno Haible  <bruno@clisp.org>
51056
51057         * modules/strings-tests: New file.
51058         * tests/test-strings.c: New file.
51059
51060         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
51061         * lib/strings.in.h: New file.
51062         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
51063         * m4/strings_h.m4: New file.
51064         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
51065         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
51066         * modules/strings: New file.
51067         * modules/string (Makefile.am): Update.
51068         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
51069         Reported by Karl Berry.
51070
51071 2007-12-01  Eric Blake  <ebb9@byu.net>
51072
51073         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
51074         accomodate fix in cygwin 1.5.25.
51075
51076 2007-12-01  Jim Meyering  <meyering@redhat.com>
51077
51078         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
51079         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
51080         that would inhibit utf8-optimization of a regexp containing line-
51081         or buffer-anchors, e.g., `^', `$'.
51082
51083 2007-11-30  Bruno Haible  <bruno@clisp.org>
51084
51085         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
51086         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
51087         glthread_recursive_lock_init.
51088         * lib/lock.c (glthread_recursive_lock_init)
51089         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
51090         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51091
51092 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
51093
51094         New function qset_acl, like set_acl but with syscall semantics.
51095         * lib/acl.h (qset_acl): New decl.
51096         * lib/acl.c (qset_acl): New function.
51097         (set_acl): Use new function.  Use more-consistent diagnostics.
51098
51099 2007-11-28  Jim Meyering  <meyering@redhat.com>
51100
51101         * modules/physmem (License): Change from GPL to LGPLv2+.
51102
51103 2007-11-26  Bruno Haible  <bruno@clisp.org>
51104
51105         * lib/vasnprintf.c (decode_long_double): Don't abort if the
51106         'long double' type has excess precision.
51107         Reported by Jim Meyering in
51108         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
51109
51110 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51111
51112         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
51113         Sync from <http://gnu.org/licenses>.
51114         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
51115         with license text from same location.
51116         * doc/maintain.texi, doc/standards.texi:  Sync from
51117         <http://savannah.gnu.org/projects/gnustandards>.
51118
51119 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
51120         and Jim Meyering  <meyering@redhat.com>
51121
51122         Adjust getdate' grammar to accept a slightly more regular language.
51123         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
51124         Before, the former was rejected.
51125         * lib/getdate.y (digits_to_date_time): New function, factored
51126         out of ...
51127         (number): ...here.  Just call digits_to_date_time.
51128         (hybrid): New non-terminal to handle an <unsigned number,
51129         signed relative offset> sequence consistently.
51130
51131 2007-11-18  Jim Meyering  <meyering@redhat.com>
51132
51133         Pull my changes from coreutils:
51134         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
51135         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
51136         use of $gnulib_tool_option_extras, so that it's separated from the
51137         preceding argument.
51138
51139         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
51140         * build-aux/bootstrap (cp_mark_as_generated): Create any required
51141         parent destination directories before copying a file into place.
51142
51143 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
51144
51145         bootstrap: work also with 4-argument variant of AC_INIT
51146         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
51147
51148 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
51149
51150         Port test-getaddrinfo to Solaris.
51151         Problem reported by Bruno Haible in
51152         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
51153         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
51154         explanation of setting 'hints'.
51155         Don't reject an implementation merely because it returns EAI_SERVICE.
51156         (EAI_SERVICE): Define to 0 if not defined.
51157
51158 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
51159
51160         The license of gnu-make and posix-shell is now "GPLed build tool".
51161         * modules/gnu-make (License): Likewise.
51162         * modules/posix-shell (License): Likewise.
51163
51164         New module posix-shell, for determining a POSIX shell
51165         or perhaps something that is close enough to a POSIX shell.
51166         * m4/posix-shell.m4: New file.
51167         * modules/posix-shell: New file.
51168
51169         * MODULES.html.sh: Mention new module.
51170
51171         New module gnu-make, for determining whether we're using GNU Make.
51172         * m4/gnu-make.m4: New file.
51173         * modules/gnu-make: New file.
51174         * MODULES.html.sh: Mention new module.
51175
51176 2007-11-14  Jim Meyering  <meyering@redhat.com>
51177
51178         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
51179         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
51180         use this macro to create a function _definition_.
51181         Remove useless "#undef ARGMATCH_DIE".
51182
51183 2007-11-14  Bruno Haible  <bruno@clisp.org>
51184
51185         * lib/config.charset: Update for OpenBSD 4.1.
51186         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
51187
51188 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
51189
51190         Document 64-bit #if problems in stdint.texi.
51191         * doc/headers/stdint.texi (stdint.h): Mention problems with
51192         64-bit-#if, and how to work around them.
51193
51194         Don't insist on 'long long int' support in the preprocessor.  It
51195         breaks too many things.  For example, PRIdMAX still uses a 'long
51196         long int' format with the latest Sun compiler, even though
51197         HAVE_LONG_LONG_INT isn't defined due to that compiler's
51198         preprocessor problem.  This causes the latest coreutils to dump
51199         core on Solaris 10 sparc with the Sun C compiler.
51200         Instead, fix the 2007-10-16 problem in a different way, by evaluating
51201         the troublesome expressions at configure-time, not at #if-time.
51202         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
51203         preprocessor.
51204         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
51205         compile-time C checks, done at 'configure'-time.
51206         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
51207         * modules/inttypes (Makefile): Substitute the new symbols that
51208         gl_INTTYPES_H now generates.
51209         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
51210
51211 2007-11-12  Bruno Haible  <bruno@clisp.org>
51212
51213         Tests for Unicode character classification functions.
51214
51215         * modules/unictype/bidicategory-byname-tests: New file.
51216         * modules/unictype/bidicategory-name-tests: New file.
51217         * modules/unictype/bidicategory-of-tests: New file.
51218         * modules/unictype/bidicategory-test-tests: New file.
51219         * modules/unictype/block-list-tests: New file.
51220         * modules/unictype/block-of-tests: New file.
51221         * modules/unictype/block-test-tests: New file.
51222         * modules/unictype/category-C-tests: New file.
51223         * modules/unictype/category-Cc-tests: New file.
51224         * modules/unictype/category-Cf-tests: New file.
51225         * modules/unictype/category-Cn-tests: New file.
51226         * modules/unictype/category-Co-tests: New file.
51227         * modules/unictype/category-Cs-tests: New file.
51228         * modules/unictype/category-L-tests: New file.
51229         * modules/unictype/category-Ll-tests: New file.
51230         * modules/unictype/category-Lm-tests: New file.
51231         * modules/unictype/category-Lo-tests: New file.
51232         * modules/unictype/category-Lt-tests: New file.
51233         * modules/unictype/category-Lu-tests: New file.
51234         * modules/unictype/category-M-tests: New file.
51235         * modules/unictype/category-Mc-tests: New file.
51236         * modules/unictype/category-Me-tests: New file.
51237         * modules/unictype/category-Mn-tests: New file.
51238         * modules/unictype/category-N-tests: New file.
51239         * modules/unictype/category-Nd-tests: New file.
51240         * modules/unictype/category-Nl-tests: New file.
51241         * modules/unictype/category-No-tests: New file.
51242         * modules/unictype/category-P-tests: New file.
51243         * modules/unictype/category-Pc-tests: New file.
51244         * modules/unictype/category-Pd-tests: New file.
51245         * modules/unictype/category-Pe-tests: New file.
51246         * modules/unictype/category-Pf-tests: New file.
51247         * modules/unictype/category-Pi-tests: New file.
51248         * modules/unictype/category-Po-tests: New file.
51249         * modules/unictype/category-Ps-tests: New file.
51250         * modules/unictype/category-S-tests: New file.
51251         * modules/unictype/category-Sc-tests: New file.
51252         * modules/unictype/category-Sk-tests: New file.
51253         * modules/unictype/category-Sm-tests: New file.
51254         * modules/unictype/category-So-tests: New file.
51255         * modules/unictype/category-Z-tests: New file.
51256         * modules/unictype/category-Zl-tests: New file.
51257         * modules/unictype/category-Zp-tests: New file.
51258         * modules/unictype/category-Zs-tests: New file.
51259         * modules/unictype/category-and-not-tests: New file.
51260         * modules/unictype/category-and-tests: New file.
51261         * modules/unictype/category-byname-tests: New file.
51262         * modules/unictype/category-name-tests: New file.
51263         * modules/unictype/category-none-tests: New file.
51264         * modules/unictype/category-of-tests: New file.
51265         * modules/unictype/category-or-tests: New file.
51266         * modules/unictype/category-test-withtable-tests: New file.
51267         * modules/unictype/combining-class-tests: New file.
51268         * modules/unictype/ctype-alnum-tests: New file.
51269         * modules/unictype/ctype-alpha-tests: New file.
51270         * modules/unictype/ctype-blank-tests: New file.
51271         * modules/unictype/ctype-cntrl-tests: New file.
51272         * modules/unictype/ctype-digit-tests: New file.
51273         * modules/unictype/ctype-graph-tests: New file.
51274         * modules/unictype/ctype-lower-tests: New file.
51275         * modules/unictype/ctype-print-tests: New file.
51276         * modules/unictype/ctype-punct-tests: New file.
51277         * modules/unictype/ctype-space-tests: New file.
51278         * modules/unictype/ctype-upper-tests: New file.
51279         * modules/unictype/ctype-xdigit-tests: New file.
51280         * modules/unictype/decimal-digit-tests: New file.
51281         * modules/unictype/digit-tests: New file.
51282         * modules/unictype/mirror-tests: New file.
51283         * modules/unictype/numeric-tests: New file.
51284         * modules/unictype/property-alphabetic-tests: New file.
51285         * modules/unictype/property-ascii-hex-digit-tests: New file.
51286         * modules/unictype/property-bidi-arabic-digit-tests: New file.
51287         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
51288         * modules/unictype/property-bidi-block-separator-tests: New file.
51289         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
51290         * modules/unictype/property-bidi-common-separator-tests: New file.
51291         * modules/unictype/property-bidi-control-tests: New file.
51292         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
51293         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
51294         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
51295         * modules/unictype/property-bidi-european-digit-tests: New file.
51296         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
51297         * modules/unictype/property-bidi-left-to-right-tests: New file.
51298         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
51299         * modules/unictype/property-bidi-other-neutral-tests: New file.
51300         * modules/unictype/property-bidi-pdf-tests: New file.
51301         * modules/unictype/property-bidi-segment-separator-tests: New file.
51302         * modules/unictype/property-bidi-whitespace-tests: New file.
51303         * modules/unictype/property-byname-tests: New file.
51304         * modules/unictype/property-combining-tests: New file.
51305         * modules/unictype/property-composite-tests: New file.
51306         * modules/unictype/property-currency-symbol-tests: New file.
51307         * modules/unictype/property-dash-tests: New file.
51308         * modules/unictype/property-decimal-digit-tests: New file.
51309         * modules/unictype/property-default-ignorable-code-point-tests: New file.
51310         * modules/unictype/property-deprecated-tests: New file.
51311         * modules/unictype/property-diacritic-tests: New file.
51312         * modules/unictype/property-extender-tests: New file.
51313         * modules/unictype/property-format-control-tests: New file.
51314         * modules/unictype/property-grapheme-base-tests: New file.
51315         * modules/unictype/property-grapheme-extend-tests: New file.
51316         * modules/unictype/property-grapheme-link-tests: New file.
51317         * modules/unictype/property-hex-digit-tests: New file.
51318         * modules/unictype/property-hyphen-tests: New file.
51319         * modules/unictype/property-id-continue-tests: New file.
51320         * modules/unictype/property-id-start-tests: New file.
51321         * modules/unictype/property-ideographic-tests: New file.
51322         * modules/unictype/property-ids-binary-operator-tests: New file.
51323         * modules/unictype/property-ids-trinary-operator-tests: New file.
51324         * modules/unictype/property-ignorable-control-tests: New file.
51325         * modules/unictype/property-iso-control-tests: New file.
51326         * modules/unictype/property-join-control-tests: New file.
51327         * modules/unictype/property-left-of-pair-tests: New file.
51328         * modules/unictype/property-line-separator-tests: New file.
51329         * modules/unictype/property-logical-order-exception-tests: New file.
51330         * modules/unictype/property-lowercase-tests: New file.
51331         * modules/unictype/property-math-tests: New file.
51332         * modules/unictype/property-non-break-tests: New file.
51333         * modules/unictype/property-not-a-character-tests: New file.
51334         * modules/unictype/property-numeric-tests: New file.
51335         * modules/unictype/property-other-alphabetic-tests: New file.
51336         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
51337         * modules/unictype/property-other-grapheme-extend-tests: New file.
51338         * modules/unictype/property-other-id-continue-tests: New file.
51339         * modules/unictype/property-other-id-start-tests: New file.
51340         * modules/unictype/property-other-lowercase-tests: New file.
51341         * modules/unictype/property-other-math-tests: New file.
51342         * modules/unictype/property-other-uppercase-tests: New file.
51343         * modules/unictype/property-paired-punctuation-tests: New file.
51344         * modules/unictype/property-paragraph-separator-tests: New file.
51345         * modules/unictype/property-pattern-syntax-tests: New file.
51346         * modules/unictype/property-pattern-white-space-tests: New file.
51347         * modules/unictype/property-private-use-tests: New file.
51348         * modules/unictype/property-punctuation-tests: New file.
51349         * modules/unictype/property-quotation-mark-tests: New file.
51350         * modules/unictype/property-radical-tests: New file.
51351         * modules/unictype/property-sentence-terminal-tests: New file.
51352         * modules/unictype/property-soft-dotted-tests: New file.
51353         * modules/unictype/property-space-tests: New file.
51354         * modules/unictype/property-terminal-punctuation-tests: New file.
51355         * modules/unictype/property-test-tests: New file.
51356         * modules/unictype/property-titlecase-tests: New file.
51357         * modules/unictype/property-unassigned-code-value-tests: New file.
51358         * modules/unictype/property-unified-ideograph-tests: New file.
51359         * modules/unictype/property-uppercase-tests: New file.
51360         * modules/unictype/property-variation-selector-tests: New file.
51361         * modules/unictype/property-white-space-tests: New file.
51362         * modules/unictype/property-xid-continue-tests: New file.
51363         * modules/unictype/property-xid-start-tests: New file.
51364         * modules/unictype/property-zero-width-tests: New file.
51365         * modules/unictype/scripts-tests: New file.
51366         * modules/unictype/syntax-c-ident-tests: New file.
51367         * modules/unictype/syntax-c-whitespace-tests: New file.
51368         * modules/unictype/syntax-java-ident-tests: New file.
51369         * modules/unictype/syntax-java-whitespace-tests: New file.
51370         * tests/unictype/test-bidi_byname.c: New file.
51371         * tests/unictype/test-bidi_name.c: New file.
51372         * tests/unictype/test-bidi_of.c: New file.
51373         * tests/unictype/test-bidi_test.c: New file.
51374         * tests/unictype/test-block_list.c: New file.
51375         * tests/unictype/test-block_of.c: New file.
51376         * tests/unictype/test-block_test.c: New file.
51377         * tests/unictype/test-categ_and.c: New file.
51378         * tests/unictype/test-categ_and_not.c: New file.
51379         * tests/unictype/test-categ_byname.c: New file.
51380         * tests/unictype/test-categ_name.c: New file.
51381         * tests/unictype/test-categ_none.c: New file.
51382         * tests/unictype/test-categ_of.c: New file.
51383         * tests/unictype/test-categ_or.c: New file.
51384         * tests/unictype/test-categ_test_withtable.c: New file.
51385         * tests/unictype/test-combining.c: New file.
51386         * tests/unictype/test-decdigit.c: New file.
51387         * tests/unictype/test-digit.c: New file.
51388         * tests/unictype/test-mirror.c: New file.
51389         * tests/unictype/test-numeric.c: New file.
51390         * tests/unictype/test-pr_byname.c: New file.
51391         * tests/unictype/test-pr_test.c: New file.
51392         * tests/unictype/test-predicate-part1.h: New file.
51393         * tests/unictype/test-predicate-part2.h: New file.
51394         * tests/unictype/test-scripts.c: New file.
51395         * tests/unictype/test-sy_c_ident.c: New file.
51396         * tests/unictype/test-sy_java_ident.c: New file.
51397
51398         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
51399         for Unicode 5.0.0.
51400         * tests/unictype/test-categ_Cc.c: Likewise.
51401         * tests/unictype/test-categ_Cf.c: Likewise.
51402         * tests/unictype/test-categ_Cn.c: Likewise.
51403         * tests/unictype/test-categ_Co.c: Likewise.
51404         * tests/unictype/test-categ_Cs.c: Likewise.
51405         * tests/unictype/test-categ_L.c: Likewise.
51406         * tests/unictype/test-categ_Ll.c: Likewise.
51407         * tests/unictype/test-categ_Lm.c: Likewise.
51408         * tests/unictype/test-categ_Lo.c: Likewise.
51409         * tests/unictype/test-categ_Lt.c: Likewise.
51410         * tests/unictype/test-categ_Lu.c: Likewise.
51411         * tests/unictype/test-categ_M.c: Likewise.
51412         * tests/unictype/test-categ_Mc.c: Likewise.
51413         * tests/unictype/test-categ_Me.c: Likewise.
51414         * tests/unictype/test-categ_Mn.c: Likewise.
51415         * tests/unictype/test-categ_N.c: Likewise.
51416         * tests/unictype/test-categ_Nd.c: Likewise.
51417         * tests/unictype/test-categ_Nl.c: Likewise.
51418         * tests/unictype/test-categ_No.c: Likewise.
51419         * tests/unictype/test-categ_P.c: Likewise.
51420         * tests/unictype/test-categ_Pc.c: Likewise.
51421         * tests/unictype/test-categ_Pd.c: Likewise.
51422         * tests/unictype/test-categ_Pe.c: Likewise.
51423         * tests/unictype/test-categ_Pf.c: Likewise.
51424         * tests/unictype/test-categ_Pi.c: Likewise.
51425         * tests/unictype/test-categ_Po.c: Likewise.
51426         * tests/unictype/test-categ_Ps.c: Likewise.
51427         * tests/unictype/test-categ_S.c: Likewise.
51428         * tests/unictype/test-categ_Sc.c: Likewise.
51429         * tests/unictype/test-categ_Sk.c: Likewise.
51430         * tests/unictype/test-categ_Sm.c: Likewise.
51431         * tests/unictype/test-categ_So.c: Likewise.
51432         * tests/unictype/test-categ_Z.c: Likewise.
51433         * tests/unictype/test-categ_Zl.c: Likewise.
51434         * tests/unictype/test-categ_Zp.c: Likewise.
51435         * tests/unictype/test-categ_Zs.c: Likewise.
51436         * tests/unictype/test-ctype_alnum.c: Likewise.
51437         * tests/unictype/test-ctype_alpha.c: Likewise.
51438         * tests/unictype/test-ctype_blank.c: Likewise.
51439         * tests/unictype/test-ctype_cntrl.c: Likewise.
51440         * tests/unictype/test-ctype_digit.c: Likewise.
51441         * tests/unictype/test-ctype_graph.c: Likewise.
51442         * tests/unictype/test-ctype_lower.c: Likewise.
51443         * tests/unictype/test-ctype_print.c: Likewise.
51444         * tests/unictype/test-ctype_punct.c: Likewise.
51445         * tests/unictype/test-ctype_space.c: Likewise.
51446         * tests/unictype/test-ctype_upper.c: Likewise.
51447         * tests/unictype/test-ctype_xdigit.c: Likewise.
51448         * tests/unictype/test-decdigit.h: Likewise.
51449         * tests/unictype/test-digit.h: Likewise.
51450         * tests/unictype/test-numeric.h: Likewise.
51451         * tests/unictype/test-pr_alphabetic.c: Likewise.
51452         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
51453         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
51454         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
51455         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
51456         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
51457         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
51458         * tests/unictype/test-pr_bidi_control.c: Likewise.
51459         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
51460         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
51461         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
51462         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
51463         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
51464         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
51465         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
51466         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
51467         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
51468         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
51469         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
51470         * tests/unictype/test-pr_combining.c: Likewise.
51471         * tests/unictype/test-pr_composite.c: Likewise.
51472         * tests/unictype/test-pr_currency_symbol.c: Likewise.
51473         * tests/unictype/test-pr_dash.c: Likewise.
51474         * tests/unictype/test-pr_decimal_digit.c: Likewise.
51475         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
51476         * tests/unictype/test-pr_deprecated.c: Likewise.
51477         * tests/unictype/test-pr_diacritic.c: Likewise.
51478         * tests/unictype/test-pr_extender.c: Likewise.
51479         * tests/unictype/test-pr_format_control.c: Likewise.
51480         * tests/unictype/test-pr_grapheme_base.c: Likewise.
51481         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
51482         * tests/unictype/test-pr_grapheme_link.c: Likewise.
51483         * tests/unictype/test-pr_hex_digit.c: Likewise.
51484         * tests/unictype/test-pr_hyphen.c: Likewise.
51485         * tests/unictype/test-pr_id_continue.c: Likewise.
51486         * tests/unictype/test-pr_id_start.c: Likewise.
51487         * tests/unictype/test-pr_ideographic.c: Likewise.
51488         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
51489         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
51490         * tests/unictype/test-pr_ignorable_control.c: Likewise.
51491         * tests/unictype/test-pr_iso_control.c: Likewise.
51492         * tests/unictype/test-pr_join_control.c: Likewise.
51493         * tests/unictype/test-pr_left_of_pair.c: Likewise.
51494         * tests/unictype/test-pr_line_separator.c: Likewise.
51495         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
51496         * tests/unictype/test-pr_lowercase.c: Likewise.
51497         * tests/unictype/test-pr_math.c: Likewise.
51498         * tests/unictype/test-pr_non_break.c: Likewise.
51499         * tests/unictype/test-pr_not_a_character.c: Likewise.
51500         * tests/unictype/test-pr_numeric.c: Likewise.
51501         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
51502         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
51503         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
51504         * tests/unictype/test-pr_other_id_continue.c: Likewise.
51505         * tests/unictype/test-pr_other_id_start.c: Likewise.
51506         * tests/unictype/test-pr_other_lowercase.c: Likewise.
51507         * tests/unictype/test-pr_other_math.c: Likewise.
51508         * tests/unictype/test-pr_other_uppercase.c: Likewise.
51509         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
51510         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
51511         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
51512         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
51513         * tests/unictype/test-pr_private_use.c: Likewise.
51514         * tests/unictype/test-pr_punctuation.c: Likewise.
51515         * tests/unictype/test-pr_quotation_mark.c: Likewise.
51516         * tests/unictype/test-pr_radical.c: Likewise.
51517         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
51518         * tests/unictype/test-pr_soft_dotted.c: Likewise.
51519         * tests/unictype/test-pr_space.c: Likewise.
51520         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
51521         * tests/unictype/test-pr_titlecase.c: Likewise.
51522         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
51523         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
51524         * tests/unictype/test-pr_uppercase.c: Likewise.
51525         * tests/unictype/test-pr_variation_selector.c: Likewise.
51526         * tests/unictype/test-pr_white_space.c: Likewise.
51527         * tests/unictype/test-pr_xid_continue.c: Likewise.
51528         * tests/unictype/test-pr_xid_start.c: Likewise.
51529         * tests/unictype/test-pr_zero_width.c: Likewise.
51530         * tests/unictype/test-sy_c_whitespace.c: Likewise.
51531         * tests/unictype/test-sy_java_whitespace.c: Likewise.
51532
51533 2007-11-12  Bruno Haible  <bruno@clisp.org>
51534
51535         Unicode character classification functions.
51536         * lib/unictype.h: New file.
51537         * modules/unictype/base: New file.
51538         * modules/unictype/category-L: New file.
51539         * modules/unictype/category-Lu: New file.
51540         * modules/unictype/category-Ll: New file.
51541         * modules/unictype/category-Lt: New file.
51542         * modules/unictype/category-Lm: New file.
51543         * modules/unictype/category-Lo: New file.
51544         * modules/unictype/category-M: New file.
51545         * modules/unictype/category-Mn: New file.
51546         * modules/unictype/category-Mc: New file.
51547         * modules/unictype/category-Me: New file.
51548         * modules/unictype/category-N: New file.
51549         * modules/unictype/category-Nd: New file.
51550         * modules/unictype/category-Nl: New file.
51551         * modules/unictype/category-No: New file.
51552         * modules/unictype/category-P: New file.
51553         * modules/unictype/category-Pc: New file.
51554         * modules/unictype/category-Pd: New file.
51555         * modules/unictype/category-Ps: New file.
51556         * modules/unictype/category-Pe: New file.
51557         * modules/unictype/category-Pi: New file.
51558         * modules/unictype/category-Pf: New file.
51559         * modules/unictype/category-Po: New file.
51560         * modules/unictype/category-S: New file.
51561         * modules/unictype/category-Sm: New file.
51562         * modules/unictype/category-Sc: New file.
51563         * modules/unictype/category-Sk: New file.
51564         * modules/unictype/category-So: New file.
51565         * modules/unictype/category-Z: New file.
51566         * modules/unictype/category-Zs: New file.
51567         * modules/unictype/category-Zl: New file.
51568         * modules/unictype/category-Zp: New file.
51569         * modules/unictype/category-C: New file.
51570         * modules/unictype/category-Cc: New file.
51571         * modules/unictype/category-Cf: New file.
51572         * modules/unictype/category-Cs: New file.
51573         * modules/unictype/category-Co: New file.
51574         * modules/unictype/category-Cn: New file.
51575         * modules/unictype/category-or: New file.
51576         * modules/unictype/category-of: New file.
51577         * modules/unictype/category-test: New file.
51578         * modules/unictype/category-test-withtable: New file.
51579         * modules/unictype/category-byname: New file.
51580         * modules/unictype/category-none: New file.
51581         * modules/unictype/category-and: New file.
51582         * modules/unictype/category-and-not: New file.
51583         * modules/unictype/category-name: New file.
51584         * modules/unictype/combining-class: New file.
51585         * modules/unictype/category-all: New file.
51586         * modules/unictype/bidicategory-all: New file.
51587         * modules/unictype/bidicategory-byname: New file.
51588         * modules/unictype/bidicategory-name: New file.
51589         * modules/unictype/bidicategory-of: New file.
51590         * modules/unictype/bidicategory-test: New file.
51591         * modules/unictype/decimal-digit: New file.
51592         * modules/unictype/digit: New file.
51593         * modules/unictype/numeric: New file.
51594         * modules/unictype/mirror: New file.
51595         * modules/unictype/property-white-space: New file.
51596         * modules/unictype/property-alphabetic: New file.
51597         * modules/unictype/property-other-alphabetic: New file.
51598         * modules/unictype/property-not-a-character: New file.
51599         * modules/unictype/property-default-ignorable-code-point: New file.
51600         * modules/unictype/property-other-default-ignorable-code-point: New
51601         file.
51602         * modules/unictype/property-deprecated: New file.
51603         * modules/unictype/property-logical-order-exception: New file.
51604         * modules/unictype/property-variation-selector: New file.
51605         * modules/unictype/property-private-use: New file.
51606         * modules/unictype/property-unassigned-code-value: New file.
51607         * modules/unictype/property-uppercase: New file.
51608         * modules/unictype/property-other-uppercase: New file.
51609         * modules/unictype/property-lowercase: New file.
51610         * modules/unictype/property-other-lowercase: New file.
51611         * modules/unictype/property-titlecase: New file.
51612         * modules/unictype/property-soft-dotted: New file.
51613         * modules/unictype/property-id-start: New file.
51614         * modules/unictype/property-other-id-start: New file.
51615         * modules/unictype/property-id-continue: New file.
51616         * modules/unictype/property-other-id-continue: New file.
51617         * modules/unictype/property-xid-start: New file.
51618         * modules/unictype/property-xid-continue: New file.
51619         * modules/unictype/property-pattern-white-space: New file.
51620         * modules/unictype/property-pattern-syntax: New file.
51621         * modules/unictype/property-join-control: New file.
51622         * modules/unictype/property-grapheme-base: New file.
51623         * modules/unictype/property-grapheme-extend: New file.
51624         * modules/unictype/property-other-grapheme-extend: New file.
51625         * modules/unictype/property-grapheme-link: New file.
51626         * modules/unictype/property-bidi-control: New file.
51627         * modules/unictype/property-bidi-left-to-right: New file.
51628         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
51629         * modules/unictype/property-bidi-arabic-right-to-left: New file.
51630         * modules/unictype/property-bidi-european-digit: New file.
51631         * modules/unictype/property-bidi-eur-num-separator: New file.
51632         * modules/unictype/property-bidi-eur-num-terminator: New file.
51633         * modules/unictype/property-bidi-arabic-digit: New file.
51634         * modules/unictype/property-bidi-common-separator: New file.
51635         * modules/unictype/property-bidi-block-separator: New file.
51636         * modules/unictype/property-bidi-segment-separator: New file.
51637         * modules/unictype/property-bidi-whitespace: New file.
51638         * modules/unictype/property-bidi-non-spacing-mark: New file.
51639         * modules/unictype/property-bidi-boundary-neutral: New file.
51640         * modules/unictype/property-bidi-pdf: New file.
51641         * modules/unictype/property-bidi-embedding-or-override: New file.
51642         * modules/unictype/property-bidi-other-neutral: New file.
51643         * modules/unictype/property-hex-digit: New file.
51644         * modules/unictype/property-ascii-hex-digit: New file.
51645         * modules/unictype/property-ideographic: New file.
51646         * modules/unictype/property-unified-ideograph: New file.
51647         * modules/unictype/property-radical: New file.
51648         * modules/unictype/property-ids-binary-operator: New file.
51649         * modules/unictype/property-ids-trinary-operator: New file.
51650         * modules/unictype/property-zero-width: New file.
51651         * modules/unictype/property-space: New file.
51652         * modules/unictype/property-non-break: New file.
51653         * modules/unictype/property-iso-control: New file.
51654         * modules/unictype/property-format-control: New file.
51655         * modules/unictype/property-dash: New file.
51656         * modules/unictype/property-hyphen: New file.
51657         * modules/unictype/property-punctuation: New file.
51658         * modules/unictype/property-line-separator: New file.
51659         * modules/unictype/property-paragraph-separator: New file.
51660         * modules/unictype/property-quotation-mark: New file.
51661         * modules/unictype/property-sentence-terminal: New file.
51662         * modules/unictype/property-terminal-punctuation: New file.
51663         * modules/unictype/property-currency-symbol: New file.
51664         * modules/unictype/property-math: New file.
51665         * modules/unictype/property-other-math: New file.
51666         * modules/unictype/property-paired-punctuation: New file.
51667         * modules/unictype/property-left-of-pair: New file.
51668         * modules/unictype/property-combining: New file.
51669         * modules/unictype/property-composite: New file.
51670         * modules/unictype/property-decimal-digit: New file.
51671         * modules/unictype/property-numeric: New file.
51672         * modules/unictype/property-diacritic: New file.
51673         * modules/unictype/property-extender: New file.
51674         * modules/unictype/property-ignorable-control: New file.
51675         * modules/unictype/property-test: New file.
51676         * modules/unictype/property-byname: New file.
51677         * modules/unictype/property-all: New file.
51678         * modules/unictype/scripts: New file.
51679         * modules/unictype/scripts-all: New file.
51680         * modules/unictype/block-of: New file.
51681         * modules/unictype/block-test: New file.
51682         * modules/unictype/block-list: New file.
51683         * modules/unictype/block-all: New file.
51684         * modules/unictype/syntax-c-whitespace: New file.
51685         * modules/unictype/syntax-java-whitespace: New file.
51686         * modules/unictype/syntax-c-ident: New file.
51687         * modules/unictype/syntax-java-ident: New file.
51688         * modules/unictype/ctype-alnum: New file.
51689         * modules/unictype/ctype-alpha: New file.
51690         * modules/unictype/ctype-cntrl: New file.
51691         * modules/unictype/ctype-digit: New file.
51692         * modules/unictype/ctype-graph: New file.
51693         * modules/unictype/ctype-lower: New file.
51694         * modules/unictype/ctype-print: New file.
51695         * modules/unictype/ctype-punct: New file.
51696         * modules/unictype/ctype-space: New file.
51697         * modules/unictype/ctype-upper: New file.
51698         * modules/unictype/ctype-xdigit: New file.
51699         * modules/unictype/ctype-blank: New file.
51700         * lib/unictype/bidi_byname.c: New file.
51701         * lib/unictype/bidi_name.c: New file.
51702         * lib/unictype/bidi_of.c: New file.
51703         * lib/unictype/bidi_test.c: New file.
51704         * lib/unictype/bitmap.h: New file.
51705         * lib/unictype/block_test.c: New file.
51706         * lib/unictype/blocks.c: New file.
51707         * lib/unictype/categ_C.c: New file.
51708         * lib/unictype/categ_Cc.c: New file.
51709         * lib/unictype/categ_Cf.c: New file.
51710         * lib/unictype/categ_Cn.c: New file.
51711         * lib/unictype/categ_Co.c: New file.
51712         * lib/unictype/categ_Cs.c: New file.
51713         * lib/unictype/categ_L.c: New file.
51714         * lib/unictype/categ_Ll.c: New file.
51715         * lib/unictype/categ_Lm.c: New file.
51716         * lib/unictype/categ_Lo.c: New file.
51717         * lib/unictype/categ_Lt.c: New file.
51718         * lib/unictype/categ_Lu.c: New file.
51719         * lib/unictype/categ_M.c: New file.
51720         * lib/unictype/categ_Mc.c: New file.
51721         * lib/unictype/categ_Me.c: New file.
51722         * lib/unictype/categ_Mn.c: New file.
51723         * lib/unictype/categ_N.c: New file.
51724         * lib/unictype/categ_Nd.c: New file.
51725         * lib/unictype/categ_Nl.c: New file.
51726         * lib/unictype/categ_No.c: New file.
51727         * lib/unictype/categ_P.c: New file.
51728         * lib/unictype/categ_Pc.c: New file.
51729         * lib/unictype/categ_Pd.c: New file.
51730         * lib/unictype/categ_Pe.c: New file.
51731         * lib/unictype/categ_Pf.c: New file.
51732         * lib/unictype/categ_Pi.c: New file.
51733         * lib/unictype/categ_Po.c: New file.
51734         * lib/unictype/categ_Ps.c: New file.
51735         * lib/unictype/categ_S.c: New file.
51736         * lib/unictype/categ_Sc.c: New file.
51737         * lib/unictype/categ_Sk.c: New file.
51738         * lib/unictype/categ_Sm.c: New file.
51739         * lib/unictype/categ_So.c: New file.
51740         * lib/unictype/categ_Z.c: New file.
51741         * lib/unictype/categ_Zl.c: New file.
51742         * lib/unictype/categ_Zp.c: New file.
51743         * lib/unictype/categ_Zs.c: New file.
51744         * lib/unictype/categ_and.c: New file.
51745         * lib/unictype/categ_and_not.c: New file.
51746         * lib/unictype/categ_byname.c: New file.
51747         * lib/unictype/categ_name.c: New file.
51748         * lib/unictype/categ_none.c: New file.
51749         * lib/unictype/categ_of.c: New file.
51750         * lib/unictype/categ_or.c: New file.
51751         * lib/unictype/categ_test.c: New file.
51752         * lib/unictype/combining.c: New file.
51753         * lib/unictype/ctype_alnum.c: New file.
51754         * lib/unictype/ctype_alpha.c: New file.
51755         * lib/unictype/ctype_blank.c: New file.
51756         * lib/unictype/ctype_cntrl.c: New file.
51757         * lib/unictype/ctype_digit.c: New file.
51758         * lib/unictype/ctype_graph.c: New file.
51759         * lib/unictype/ctype_lower.c: New file.
51760         * lib/unictype/ctype_print.c: New file.
51761         * lib/unictype/ctype_punct.c: New file.
51762         * lib/unictype/ctype_space.c: New file.
51763         * lib/unictype/ctype_upper.c: New file.
51764         * lib/unictype/ctype_xdigit.c: New file.
51765         * lib/unictype/decdigit.c: New file.
51766         * lib/unictype/digit.c: New file.
51767         * lib/unictype/identsyntaxmap.h: New file.
51768         * lib/unictype/mirror.c: New file.
51769         * lib/unictype/numeric.c: New file.
51770         * lib/unictype/pr_alphabetic.c: New file.
51771         * lib/unictype/pr_ascii_hex_digit.c: New file.
51772         * lib/unictype/pr_bidi_arabic_digit.c: New file.
51773         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
51774         * lib/unictype/pr_bidi_block_separator.c: New file.
51775         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
51776         * lib/unictype/pr_bidi_common_separator.c: New file.
51777         * lib/unictype/pr_bidi_control.c: New file.
51778         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
51779         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
51780         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
51781         * lib/unictype/pr_bidi_european_digit.c: New file.
51782         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
51783         * lib/unictype/pr_bidi_left_to_right.c: New file.
51784         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
51785         * lib/unictype/pr_bidi_other_neutral.c: New file.
51786         * lib/unictype/pr_bidi_pdf.c: New file.
51787         * lib/unictype/pr_bidi_segment_separator.c: New file.
51788         * lib/unictype/pr_bidi_whitespace.c: New file.
51789         * lib/unictype/pr_byname.c: New file.
51790         * lib/unictype/pr_byname.gperf: New file.
51791         * lib/unictype/pr_combining.c: New file.
51792         * lib/unictype/pr_composite.c: New file.
51793         * lib/unictype/pr_currency_symbol.c: New file.
51794         * lib/unictype/pr_dash.c: New file.
51795         * lib/unictype/pr_decimal_digit.c: New file.
51796         * lib/unictype/pr_default_ignorable_code_point.c: New file.
51797         * lib/unictype/pr_deprecated.c: New file.
51798         * lib/unictype/pr_diacritic.c: New file.
51799         * lib/unictype/pr_extender.c: New file.
51800         * lib/unictype/pr_format_control.c: New file.
51801         * lib/unictype/pr_grapheme_base.c: New file.
51802         * lib/unictype/pr_grapheme_extend.c: New file.
51803         * lib/unictype/pr_grapheme_link.c: New file.
51804         * lib/unictype/pr_hex_digit.c: New file.
51805         * lib/unictype/pr_hyphen.c: New file.
51806         * lib/unictype/pr_id_continue.c: New file.
51807         * lib/unictype/pr_id_start.c: New file.
51808         * lib/unictype/pr_ideographic.c: New file.
51809         * lib/unictype/pr_ids_binary_operator.c: New file.
51810         * lib/unictype/pr_ids_trinary_operator.c: New file.
51811         * lib/unictype/pr_ignorable_control.c: New file.
51812         * lib/unictype/pr_iso_control.c: New file.
51813         * lib/unictype/pr_join_control.c: New file.
51814         * lib/unictype/pr_left_of_pair.c: New file.
51815         * lib/unictype/pr_line_separator.c: New file.
51816         * lib/unictype/pr_logical_order_exception.c: New file.
51817         * lib/unictype/pr_lowercase.c: New file.
51818         * lib/unictype/pr_math.c: New file.
51819         * lib/unictype/pr_non_break.c: New file.
51820         * lib/unictype/pr_not_a_character.c: New file.
51821         * lib/unictype/pr_numeric.c: New file.
51822         * lib/unictype/pr_other_alphabetic.c: New file.
51823         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
51824         * lib/unictype/pr_other_grapheme_extend.c: New file.
51825         * lib/unictype/pr_other_id_continue.c: New file.
51826         * lib/unictype/pr_other_id_start.c: New file.
51827         * lib/unictype/pr_other_lowercase.c: New file.
51828         * lib/unictype/pr_other_math.c: New file.
51829         * lib/unictype/pr_other_uppercase.c: New file.
51830         * lib/unictype/pr_paired_punctuation.c: New file.
51831         * lib/unictype/pr_paragraph_separator.c: New file.
51832         * lib/unictype/pr_pattern_syntax.c: New file.
51833         * lib/unictype/pr_pattern_white_space.c: New file.
51834         * lib/unictype/pr_private_use.c: New file.
51835         * lib/unictype/pr_punctuation.c: New file.
51836         * lib/unictype/pr_quotation_mark.c: New file.
51837         * lib/unictype/pr_radical.c: New file.
51838         * lib/unictype/pr_sentence_terminal.c: New file.
51839         * lib/unictype/pr_soft_dotted.c: New file.
51840         * lib/unictype/pr_space.c: New file.
51841         * lib/unictype/pr_terminal_punctuation.c: New file.
51842         * lib/unictype/pr_test.c: New file.
51843         * lib/unictype/pr_titlecase.c: New file.
51844         * lib/unictype/pr_unassigned_code_value.c: New file.
51845         * lib/unictype/pr_unified_ideograph.c: New file.
51846         * lib/unictype/pr_uppercase.c: New file.
51847         * lib/unictype/pr_variation_selector.c: New file.
51848         * lib/unictype/pr_white_space.c: New file.
51849         * lib/unictype/pr_xid_continue.c: New file.
51850         * lib/unictype/pr_xid_start.c: New file.
51851         * lib/unictype/pr_zero_width.c: New file.
51852         * lib/unictype/scripts.c: New file.
51853         * lib/unictype/sy_c_ident.c: New file.
51854         * lib/unictype/sy_c_whitespace.c: New file.
51855         * lib/unictype/sy_java_ident.c: New file.
51856         * lib/unictype/sy_java_whitespace.c: New file.
51857
51858         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
51859         Unicode 5.0.0.
51860         * lib/unictype/blocks.h: Likewise.
51861         * lib/unictype/categ_C.h: Likewise.
51862         * lib/unictype/categ_Cc.h: Likewise.
51863         * lib/unictype/categ_Cf.h: Likewise.
51864         * lib/unictype/categ_Cn.h: Likewise.
51865         * lib/unictype/categ_Co.h: Likewise.
51866         * lib/unictype/categ_Cs.h: Likewise.
51867         * lib/unictype/categ_L.h: Likewise.
51868         * lib/unictype/categ_Ll.h: Likewise.
51869         * lib/unictype/categ_Lm.h: Likewise.
51870         * lib/unictype/categ_Lo.h: Likewise.
51871         * lib/unictype/categ_Lt.h: Likewise.
51872         * lib/unictype/categ_Lu.h: Likewise.
51873         * lib/unictype/categ_M.h: Likewise.
51874         * lib/unictype/categ_Mc.h: Likewise.
51875         * lib/unictype/categ_Me.h: Likewise.
51876         * lib/unictype/categ_Mn.h: Likewise.
51877         * lib/unictype/categ_N.h: Likewise.
51878         * lib/unictype/categ_Nd.h: Likewise.
51879         * lib/unictype/categ_Nl.h: Likewise.
51880         * lib/unictype/categ_No.h: Likewise.
51881         * lib/unictype/categ_P.h: Likewise.
51882         * lib/unictype/categ_Pc.h: Likewise.
51883         * lib/unictype/categ_Pd.h: Likewise.
51884         * lib/unictype/categ_Pe.h: Likewise.
51885         * lib/unictype/categ_Pf.h: Likewise.
51886         * lib/unictype/categ_Pi.h: Likewise.
51887         * lib/unictype/categ_Po.h: Likewise.
51888         * lib/unictype/categ_Ps.h: Likewise.
51889         * lib/unictype/categ_S.h: Likewise.
51890         * lib/unictype/categ_Sc.h: Likewise.
51891         * lib/unictype/categ_Sk.h: Likewise.
51892         * lib/unictype/categ_Sm.h: Likewise.
51893         * lib/unictype/categ_So.h: Likewise.
51894         * lib/unictype/categ_Z.h: Likewise.
51895         * lib/unictype/categ_Zl.h: Likewise.
51896         * lib/unictype/categ_Zp.h: Likewise.
51897         * lib/unictype/categ_Zs.h: Likewise.
51898         * lib/unictype/categ_of.h: Likewise.
51899         * lib/unictype/combining.h: Likewise.
51900         * lib/unictype/ctype_alnum.h: Likewise.
51901         * lib/unictype/ctype_alpha.h: Likewise.
51902         * lib/unictype/ctype_blank.h: Likewise.
51903         * lib/unictype/ctype_cntrl.h: Likewise.
51904         * lib/unictype/ctype_digit.h: Likewise.
51905         * lib/unictype/ctype_graph.h: Likewise.
51906         * lib/unictype/ctype_lower.h: Likewise.
51907         * lib/unictype/ctype_print.h: Likewise.
51908         * lib/unictype/ctype_punct.h: Likewise.
51909         * lib/unictype/ctype_space.h: Likewise.
51910         * lib/unictype/ctype_upper.h: Likewise.
51911         * lib/unictype/ctype_xdigit.h: Likewise.
51912         * lib/unictype/decdigit.h: Likewise.
51913         * lib/unictype/digit.h: Likewise.
51914         * lib/unictype/mirror.h: Likewise.
51915         * lib/unictype/numeric.h: Likewise.
51916         * lib/unictype/pr_alphabetic.h: Likewise.
51917         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
51918         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
51919         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
51920         * lib/unictype/pr_bidi_block_separator.h: Likewise.
51921         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
51922         * lib/unictype/pr_bidi_common_separator.h: Likewise.
51923         * lib/unictype/pr_bidi_control.h: Likewise.
51924         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
51925         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
51926         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
51927         * lib/unictype/pr_bidi_european_digit.h: Likewise.
51928         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
51929         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
51930         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
51931         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
51932         * lib/unictype/pr_bidi_pdf.h: Likewise.
51933         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
51934         * lib/unictype/pr_bidi_whitespace.h: Likewise.
51935         * lib/unictype/pr_combining.h: Likewise.
51936         * lib/unictype/pr_composite.h: Likewise.
51937         * lib/unictype/pr_currency_symbol.h: Likewise.
51938         * lib/unictype/pr_dash.h: Likewise.
51939         * lib/unictype/pr_decimal_digit.h: Likewise.
51940         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
51941         * lib/unictype/pr_deprecated.h: Likewise.
51942         * lib/unictype/pr_diacritic.h: Likewise.
51943         * lib/unictype/pr_extender.h: Likewise.
51944         * lib/unictype/pr_format_control.h: Likewise.
51945         * lib/unictype/pr_grapheme_base.h: Likewise.
51946         * lib/unictype/pr_grapheme_extend.h: Likewise.
51947         * lib/unictype/pr_grapheme_link.h: Likewise.
51948         * lib/unictype/pr_hex_digit.h: Likewise.
51949         * lib/unictype/pr_hyphen.h: Likewise.
51950         * lib/unictype/pr_id_continue.h: Likewise.
51951         * lib/unictype/pr_id_start.h: Likewise.
51952         * lib/unictype/pr_ideographic.h: Likewise.
51953         * lib/unictype/pr_ids_binary_operator.h: Likewise.
51954         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
51955         * lib/unictype/pr_ignorable_control.h: Likewise.
51956         * lib/unictype/pr_iso_control.h: Likewise.
51957         * lib/unictype/pr_join_control.h: Likewise.
51958         * lib/unictype/pr_left_of_pair.h: Likewise.
51959         * lib/unictype/pr_line_separator.h: Likewise.
51960         * lib/unictype/pr_logical_order_exception.h: Likewise.
51961         * lib/unictype/pr_lowercase.h: Likewise.
51962         * lib/unictype/pr_math.h: Likewise.
51963         * lib/unictype/pr_non_break.h: Likewise.
51964         * lib/unictype/pr_not_a_character.h: Likewise.
51965         * lib/unictype/pr_numeric.h: Likewise.
51966         * lib/unictype/pr_other_alphabetic.h: Likewise.
51967         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
51968         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
51969         * lib/unictype/pr_other_id_continue.h: Likewise.
51970         * lib/unictype/pr_other_id_start.h: Likewise.
51971         * lib/unictype/pr_other_lowercase.h: Likewise.
51972         * lib/unictype/pr_other_math.h: Likewise.
51973         * lib/unictype/pr_other_uppercase.h: Likewise.
51974         * lib/unictype/pr_paired_punctuation.h: Likewise.
51975         * lib/unictype/pr_paragraph_separator.h: Likewise.
51976         * lib/unictype/pr_pattern_syntax.h: Likewise.
51977         * lib/unictype/pr_pattern_white_space.h: Likewise.
51978         * lib/unictype/pr_private_use.h: Likewise.
51979         * lib/unictype/pr_punctuation.h: Likewise.
51980         * lib/unictype/pr_quotation_mark.h: Likewise.
51981         * lib/unictype/pr_radical.h: Likewise.
51982         * lib/unictype/pr_sentence_terminal.h: Likewise.
51983         * lib/unictype/pr_soft_dotted.h: Likewise.
51984         * lib/unictype/pr_space.h: Likewise.
51985         * lib/unictype/pr_terminal_punctuation.h: Likewise.
51986         * lib/unictype/pr_titlecase.h: Likewise.
51987         * lib/unictype/pr_unassigned_code_value.h: Likewise.
51988         * lib/unictype/pr_unified_ideograph.h: Likewise.
51989         * lib/unictype/pr_uppercase.h: Likewise.
51990         * lib/unictype/pr_variation_selector.h: Likewise.
51991         * lib/unictype/pr_white_space.h: Likewise.
51992         * lib/unictype/pr_xid_continue.h: Likewise.
51993         * lib/unictype/pr_xid_start.h: Likewise.
51994         * lib/unictype/pr_zero_width.h: Likewise.
51995         * lib/unictype/scripts.h: Likewise.
51996         * lib/unictype/scripts_byname.gperf: Likewise.
51997         * lib/unictype/sy_c_ident.h: Likewise.
51998         * lib/unictype/sy_c_whitespace.h: Likewise.
51999         * lib/unictype/sy_java_ident.h: Likewise.
52000         * lib/unictype/sy_java_whitespace.h: Likewise.
52001
52002         * lib/unictype/Makefile: New file.
52003         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
52004         glibc.
52005         * lib/unictype/3level.h: New file, copied from glibc.
52006         * lib/unictype/3levelbit.h: New file.
52007
52008 2007-11-11  Bruno Haible  <bruno@clisp.org>
52009
52010         * modules/gperf: New file.
52011         * modules/iconv_open (Depends-on): Add it.
52012         (Makefile.am): Remove the GPERF definition.
52013
52014 2007-11-11  Bruno Haible  <bruno@clisp.org>
52015
52016         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
52017         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
52018
52019 2007-11-11  Bruno Haible  <bruno@clisp.org>
52020
52021         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
52022         (usage): Remove function.
52023
52024 2007-11-11  Bruno Haible  <bruno@clisp.org>
52025
52026         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
52027         gl_FUNC_CEILF_LIBS.
52028         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
52029         gl_FUNC_CEIL_LIBS.
52030         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
52031         gl_FUNC_CEILL_LIBS.
52032         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
52033         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
52034         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
52035
52036 2007-11-11  Bruno Haible  <bruno@clisp.org>
52037
52038         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
52039         roundf were declared but do not exist on functions.
52040         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
52041         roundl were declared but do not exist on functions.
52042         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
52043         HAVE_FLOORL_AND_CEILL, respectively.
52044         Needed for Sun C on Solaris 10.
52045
52046 2007-11-11  Bruno Haible  <bruno@clisp.org>
52047
52048         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
52049         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
52050         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
52051         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
52052         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
52053         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
52054         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
52055         HAVE_DECL_ROUNDF.
52056         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
52057         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
52058         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
52059         of HAVE_DECL_ROUND*.
52060         * modules/math (Makefile.am): Update.
52061
52062 2007-11-10  Bruno Haible  <bruno@clisp.org>
52063
52064         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
52065         ptrdiff_t as m4/intl.m4.
52066
52067 2007-11-10  Jim Meyering  <meyering@redhat.com>
52068
52069         Avoid link failure for the argmatch test.
52070         * tests/test-argmatch.c (usage): Define function to avoid a link
52071         failure: argmatch_die requires a usage function.
52072
52073 2007-11-09  Bruno Haible  <bruno@clisp.org>
52074
52075         * doc/functions/snprintf.texi: Mention BeOS deficiency.
52076         * doc/functions/vsnprintf.texi: Likewise.
52077         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
52078         with a size argument < 2.
52079
52080 2007-11-09  Bruno Haible  <bruno@clisp.org>
52081
52082         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
52083         buffer. Fixes an inefficiency introduced on 2007-11-03.
52084
52085 2007-11-09  Bruno Haible  <bruno@clisp.org>
52086
52087         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
52088         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
52089
52090 2007-11-08  Jim Meyering  <meyering@redhat.com>
52091
52092         Change cache variable name prefix "jm_" to "gl_" everywhere.
52093         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
52094         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
52095         * m4/uptime.m4: s/gl_/jm_/
52096
52097 2007-11-07  Bruno Haible  <bruno@clisp.org>
52098
52099         Update to GNU gettext 0.17.
52100         * m4/intl.m4: Update to GNU gettext 0.17.
52101         * m4/po.m4: Likewise.
52102         * modules/gettext (Files): Remove m4/ulonglong.m4.
52103         (configure.ac): Require gettext infrastructure from version 0.17.
52104
52105 2007-11-06  Bruno Haible  <bruno@clisp.org>
52106
52107         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
52108         symbolic values are not defined in a public header.
52109         * lib/freadable.c (freadable) [QNX]: Likewise.
52110         * lib/freadahead.c (freadahead) [QNX]: Likewise.
52111         * lib/freading.c (freading) [QNX]: Likewise.
52112         * lib/fseterr.c (fseterr) [QNX]: Likewise.
52113         * lib/fwritable.c (fwritable) [QNX]: Likewise.
52114         * lib/fwriting.c (fwriting) [QNX]: Likewise.
52115         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
52116         Reported by Alain Magloire.
52117
52118         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
52119
52120 2007-11-05  Bruno Haible  <bruno@clisp.org>
52121
52122         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
52123         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
52124         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
52125         Reported by Eric Blake.
52126
52127 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52128             Bruno Haible  <bruno@clisp.org>
52129
52130         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
52131         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
52132         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
52133         (malloc): Undefine also before including <stdlib.h>.
52134         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
52135         Needed on OSF/1 4.0.
52136
52137 2007-11-05  Jim Meyering  <meyering@redhat.com>
52138
52139         git-version-gen: sync from coreutils.
52140         * build-aux/git-version-gen: Add comments.
52141         Change the first '-' to '.' in the snapshot version string,
52142         e.g., 6.9-377-08144 -> 6.9.377-08144
52143         Remove first parameter.
52144         Don't declare a version "-dirty" merely because a time
52145         stamp has changed.
52146
52147 2007-11-04  Bruno Haible  <bruno@clisp.org>
52148
52149         * lib/lock.h: Protect all macro definitions containing an 'if'
52150         statement through a "do { ... } while (0)".
52151         * lib/tls.h: Likewise.
52152
52153 2007-11-04  Bruno Haible  <bruno@clisp.org>
52154
52155         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
52156
52157 2007-11-04  Bruno Haible  <bruno@clisp.org>
52158
52159         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
52160         * modules/fprintf-posix (Depends-on): Add nocrash.
52161         * modules/snprintf-posix (Depends-on): Likewise.
52162         * modules/sprintf-posix (Depends-on): Likewise.
52163         * modules/vasnprintf-posix (Depends-on): Likewise.
52164         * modules/vasprintf-posix (Depends-on): Likewise.
52165         * modules/vfprintf-posix (Depends-on): Likewise.
52166         * modules/vsnprintf-posix (Depends-on): Likewise.
52167         * modules/vsprintf-posix (Depends-on): Likewise.
52168         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52169         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52170         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52171         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52172         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52173         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52174         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52175
52176 2007-11-04  Bruno Haible  <bruno@clisp.org>
52177
52178         * modules/nocrash: New file.
52179         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
52180         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
52181
52182 2007-11-04  Bruno Haible  <bruno@clisp.org>
52183
52184         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
52185         precision handling.
52186         * tests/test-vasprintf-posix.c (test_function): Likewise.
52187         * tests/test-snprintf-posix.h (test_function): Likewise.
52188         * tests/test-sprintf-posix.h (test_function): Likewise.
52189
52190         Fix *printf behaviour for large precisions on mingw and BeOS.
52191         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
52192         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
52193         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
52194         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
52195         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52196         gl_PRINTF_PRECISION and test its result. Invoke
52197         gl_PREREQ_VASNPRINTF_PRECISION.
52198         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
52199         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52200         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52201         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52202         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52203         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52204         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52205         * doc/functions/fprintf.texi: Update.
52206         * doc/functions/printf.texi: Update.
52207         * doc/functions/snprintf.texi: Update.
52208         * doc/functions/sprintf.texi: Update.
52209         * doc/functions/vfprintf.texi: Update.
52210         * doc/functions/vprintf.texi: Update.
52211         * doc/functions/vsnprintf.texi: Update.
52212         * doc/functions/vsprintf.texi: Update.
52213
52214 2007-11-04  Bruno Haible  <bruno@clisp.org>
52215
52216         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
52217
52218 2007-11-04  Bruno Haible  <bruno@clisp.org>
52219
52220         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
52221         Reported by Sylvain Beucler <beuc@gnu.org>.
52222
52223 2007-11-03  Bruno Haible  <bruno@clisp.org>
52224
52225         * tests/test-fprintf-posix2.sh: New file.
52226         * tests/test-fprintf-posix2.c: New file.
52227         * modules/fprintf-posix-tests (Files): Add them.
52228         (TESTS): Add test-fprintf-posix2.sh.
52229         (configure.ac): Check for getrlimit and setrlimit.
52230         (check_PROGRAMS): Add test-fprintf-posix2.
52231
52232         * tests/test-printf-posix2.sh: New file.
52233         * tests/test-printf-posix2.c: New file.
52234         * modules/printf-posix-tests (Files): Add them.
52235         (TESTS): Add test-printf-posix2.sh.
52236         (configure.ac): Check for getrlimit and setrlimit.
52237         (check_PROGRAMS): Add test-printf-posix2.
52238
52239         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
52240         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
52241         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
52242         (decode_double): New function, copied from decode_long_double.
52243         (scale10_round_decimal_decoded): New function, extracted from
52244         scale10_round_decimal_long_double.
52245         (scale10_round_decimal_long_double): Use it.
52246         (scale10_round_decimal_double): New function.
52247         (floorlog10): New function.
52248         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
52249         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
52250         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
52251         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
52252         gl_PRINTF_ENOMEM and test its result. Invoke
52253         gl_PREREQ_VASNPRINTF_ENOMEM.
52254         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
52255         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52256         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52257         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52258         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
52259         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52260         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52261         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
52262         * modules/snprintf-posix (Depends-on): Likewise.
52263         * modules/sprintf-posix (Depends-on): Likewise.
52264         * modules/vasnprintf-posix (Depends-on): Likewise.
52265         * modules/vasprintf-posix (Depends-on): Likewise.
52266         * modules/vfprintf-posix (Depends-on): Likewise.
52267         * modules/vsnprintf-posix (Depends-on): Likewise.
52268         * modules/vsprintf-posix (Depends-on): Likewise.
52269         * doc/functions/fprintf.texi: Update.
52270         * doc/functions/printf.texi: Update.
52271         * doc/functions/snprintf.texi: Update.
52272         * doc/functions/sprintf.texi: Update.
52273         * doc/functions/vfprintf.texi: Update.
52274         * doc/functions/vprintf.texi: Update.
52275         * doc/functions/vsnprintf.texi: Update.
52276         * doc/functions/vsprintf.texi: Update.
52277
52278 2007-11-03  Bruno Haible  <bruno@clisp.org>
52279
52280         * modules/frexp-nolibm-tests: New file.
52281
52282         * modules/frexp-nolibm: New file.
52283         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
52284
52285 2007-11-03  Bruno Haible  <bruno@clisp.org>
52286
52287         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
52288         value is C99 compliant.
52289         Needed for OSF/1 5.1.
52290
52291 2007-11-03  Bruno Haible  <bruno@clisp.org>
52292
52293         Fix out-of-memory handling of vasnprintf.
52294         * lib/printf-parse.c: Include <errno.h>.
52295         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
52296         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
52297         is already set.
52298
52299 2007-11-02  Eric Blake  <ebb9@byu.net>
52300
52301         Fix tests on cygwin.
52302         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
52303
52304 2007-11-01  Bruno Haible  <bruno@clisp.org>
52305
52306         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
52307         warning.
52308         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
52309         needed for POSIX compatibility.
52310
52311 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
52312
52313         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
52314         for compatibility with GNU.
52315
52316 2007-11-01  Bruno Haible  <bruno@clisp.org>
52317
52318         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
52319         (putenv): Renamed from rpl_putenv. Change argument type from
52320         'const char *' to 'char *'.
52321         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
52322         of defining putenv in config.h, just set REPLACE_PUTENV.
52323         * modules/putenv (Depends-on): Add stdlib.
52324         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52325         (Include): Use <stdlib.h>.
52326         * lib/stdlib.in.h (putenv): New declaration.
52327         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
52328         REPLACE_PUTENV.
52329         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
52330         REPLACE_PUTENV.
52331         Needed for MacOS X 10.5.0.
52332         Reported by Peter O'Gorman <peter@pogma.com>.
52333
52334 2007-11-01  Jim Meyering  <meyering@redhat.com>
52335
52336         Treat an empty date string exactly like "0".
52337         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
52338         if the remaining date string (to be parsed) is empty, use "0".
52339         Reported by Mischa Molhoek and discussed in this thread:
52340         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
52341
52342 2007-10-31  Bruno Haible  <bruno@clisp.org>
52343
52344         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
52345         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
52346         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
52347         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
52348         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
52349         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
52350
52351 2007-10-31  Bruno Haible  <bruno@clisp.org>
52352
52353         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
52354         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
52355         (AC_TYPE_LONG_LONG_INT): Use it.
52356         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
52357         it as well.
52358         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
52359         to m4/longlong.m4.
52360         * modules/stdint (Files): Remove m4/ulonglong.m4.
52361         * modules/strtoull (Files): Use m4/longlong.m4 instead of
52362         m4/ulonglong.m4.
52363         * modules/strtoumax (Files): Likewise.
52364
52365 2007-10-30  Bruno Haible  <bruno@clisp.org>
52366
52367         * modules/xvasprintf-posix: New file.
52368         Suggested by Eric Blake.
52369
52370 2007-10-30  Bruno Haible  <bruno@clisp.org>
52371
52372         * modules/xprintf-posix-tests: New file.
52373         * tests/test-xprintf-posix.sh: New file.
52374         * tests/test-xprintf-posix.c: New file.
52375         * tests/test-xfprintf-posix.c: New file.
52376
52377         * modules/xprintf-posix: New file.
52378
52379 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52380
52381         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
52382         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
52383         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
52384
52385 2007-10-29  Bruno Haible  <bruno@clisp.org>
52386
52387         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
52388         contain the special marker '_cv_'.
52389         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
52390         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
52391         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
52392         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
52393         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
52394         Reported by Ralf Wildenhues.
52395
52396 2007-10-29  Bruno Haible  <bruno@clisp.org>
52397
52398         * gnulib-tool (func_import): When --lgpl is not specified, set
52399         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
52400         GPLv3.
52401         Reported by Simon Josefsson.
52402
52403 2007-10-28  Bruno Haible  <bruno@clisp.org>
52404
52405         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
52406         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
52407         HAVE_DECL_ISFINITE.
52408         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
52409         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
52410         HAVE_DECL_ISFINITE.
52411
52412 2007-10-28  Bruno Haible  <bruno@clisp.org>
52413
52414         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
52415         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
52416
52417 2007-10-28  Bruno Haible  <bruno@clisp.org>
52418
52419         Fix link errors with Sun C 5.0 on Solaris 10.
52420         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
52421         function is declared but not present in the compiler's libm.
52422         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
52423         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
52424         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
52425         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
52426         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
52427         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
52428         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
52429         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
52430         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
52431         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
52432         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
52433         HAVE_DECL_FLOORL.
52434
52435 2007-10-28  Bruno Haible  <bruno@clisp.org>
52436
52437         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
52438         gl_FUNC_FLOORL. Cache the result.
52439         (gl_FUNC_FLOORL): Use it.
52440         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
52441         gl_FUNC_CEILL. Cache the result.
52442         (gl_FUNC_CEILL): Use it.
52443
52444         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
52445         gl_FUNC_FLOOR. Cache the result.
52446         (gl_FUNC_FLOOR): Use it.
52447         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
52448         gl_FUNC_CEIL. Cache the result.
52449         (gl_FUNC_CEIL): Use it.
52450
52451         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
52452         gl_FUNC_FLOORF. Cache the result.
52453         (gl_FUNC_FLOORF): Use it.
52454         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
52455         gl_FUNC_CEILF. Cache the result.
52456         (gl_FUNC_CEILF): Use it.
52457
52458 2007-10-28  Bruno Haible  <bruno@clisp.org>
52459
52460         * gnulib-tool: Allow specifying the LGPL version number through
52461         --lgpl=2 or --lgpl=3.
52462         (func_usage): Document --lgpl with argument.
52463         Handle --lgpl=... arguments.
52464         (func_import): Recognize also gl_LGPL calls with an argument. When
52465         --lgpl=2 is used and the module's license is just LGPL, report an
52466         error. Set sed_transform_lib_file according to the lgpl variable. In
52467         the generated files, use --lgpl or gl_LGPL invocations with argument,
52468         if necessary.
52469         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
52470         an LGPv2+ license.
52471         * doc/gnulib-tool.texi (Modified imports): Update explanation of
52472         gl_LGPL macro.
52473
52474 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52475             Bruno Haible  <bruno@clisp.org>
52476
52477         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
52478         (u16_uctomb_aux): Likewise.
52479         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
52480         !HAVE_INLINE.
52481         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
52482
52483 2007-10-28  Bruno Haible  <bruno@clisp.org>
52484
52485         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
52486         Invoke AM_GETTEXT_OPTION if it exists.
52487         * modules/vasprintf: Likewise.
52488         * modules/verror: Likewise.
52489         * modules/xprintf: Likewise.
52490         * modules/xvasprintf: Likewise.
52491
52492 2007-10-27  Ben Pfaff  <blp@gnu.org>
52493
52494         * lib/math.in.h: Define isfinite macro and prototypes for
52495         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
52496         implementations.
52497         * m4/math_h.m4: New substitutions for isfinite module.
52498         * lib/isfinite.c: New file.
52499         * m4/isfinite.m4: New file.
52500         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
52501         * modules/isfinite: New file.
52502         * modules/isfinite-tests: New file.
52503         * tests/tests-isfinite.c: New file.
52504         * doc/functions/isfinite.texi: Mention isfinite module.
52505         * MODULES.html.sh: Mention new module.
52506
52507 2007-10-27  Ben Pfaff  <blp@gnu.org>
52508
52509         Ralf Wildenhues reported that Tru64 4.0D declares the round
52510         functions but does not have definitions.
52511         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
52512         cannot be found in any library, set the output variable to
52513         "missing" instead of "".
52514         * m4/round.m4: Also use our substitute if we cannot find round in
52515         any library, even if it is declared.
52516         * m4/roundf.m4: Likewise for roundf.
52517         * m4/roundl.m4: Likewise for roundl.
52518         * lib/math.in.h: Undefine roundf, round, roundl before defining
52519         their replacements, to allow for hypothetical systems where these
52520         may be defined as macros but not available in libraries.
52521
52522 2007-10-27  Bruno Haible  <bruno@clisp.org>
52523
52524         * doc/gnulib.texi: Invoke @firstparagraphindent.
52525         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
52526         changes in gnulib.
52527         (Source changes): New section.
52528
52529 2007-10-26  Bruno Haible  <bruno@clisp.org>
52530
52531         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
52532         borrowed from autoconf.
52533
52534 2007-10-26  Bruno Haible  <bruno@clisp.org>
52535
52536         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
52537         strerror returned the empty string. Needed on HP-UX 11.00.
52538
52539 2007-10-24  Micah Cowan  <micah@cowan.name>
52540
52541         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
52542         * build-aux/bootstrap: Remove support for now-unnecessary option,
52543         --cvs-user, and envvars CVS_USER, CVS_RSH.
52544
52545 2007-10-24  Jim Meyering  <meyering@redhat.com>
52546
52547         Avoid diagnostics from sha1sum when there is no cached checksum.
52548         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
52549         if the po.s1 file hasn't been created yet.
52550
52551         * build-aux/bootstrap: Sync from coreutils:
52552         2007-10-24  Jim Meyering  <meyering@redhat.com>
52553         Get gnulib from the git repository, not from an obsolete cvs one.
52554         * build-aux/bootstrap: Suggestion from Micah Cowan.
52555         2007-10-04  Jim Meyering  <jim@meyering.net>
52556         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
52557         (update_po_files): Work also when there are no .po files in po/.
52558
52559 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
52560
52561         * README: Append ".git" to git and cg examples.
52562         Problem reported by Benoit Sigoure.
52563
52564 2007-10-23  Micah Cowan  <micah@cowan.name>
52565
52566         * users.txt: Add wget.
52567
52568 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52569
52570         Fix linking of some unistdio tests on FreeBSD.
52571         * modules/unistdio/u16-vsnprintf-tests
52572         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
52573         * modules/unistdio/u16-vsprintf-tests
52574         (test_u16_vsnprintf1_LDADD): Likewise.
52575         * modules/unistdio/u32-vsnprintf-tests
52576         (test_u32_vsnprintf1_LDADD): Likewise.
52577         * modules/unistdio/u32-vsprintf-tests
52578         (test_u32_vsprintf1_LDADD): Likewise.
52579         * modules/unistdio/u8-vsnprintf-tests
52580         (test_u8_vsnprintf1_LDADD): Likewise.
52581         * modules/unistdio/u8-vsprintf-tests
52582         (test_u8_vsprintf1_LDADD): Likewise.
52583         * modules/unistdio/ulc-vsnprintf-tests
52584         (test_ulc_vsnprintf1_LDADD): Likewise.
52585         * modules/unistdio/ulc-vsprintf-tests
52586         (test_ulc_vsprintf1_LDADD): Likewise.
52587
52588         Fix linking of some uniconv tests on FreeBSD.
52589         * modules/uniconv/u16-conv-from-enc-tests
52590         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
52591         * modules/uniconv/u16-conv-to-enc-tests
52592         (test_u16_conv_to_enc_LDADD): Likewise.
52593         * modules/uniconv/u16-strconv-from-enc-tests
52594         (test_u16_strconv_from_enc_LDADD): Likewise.
52595         * modules/uniconv/u16-strconv-to-enc-tests
52596         (test_u16_strconv_to_enc_LDADD): Likewise.
52597         * modules/uniconv/u32-conv-from-enc-tests
52598         (test_u32_conv_from_enc_LDADD): Likewise.
52599         * modules/uniconv/u32-conv-to-enc-tests
52600         (test_u32_conv_to_enc_LDADD): Likewise.
52601         * modules/uniconv/u32-strconv-from-enc-tests
52602         (test_u32_strconv_from_enc_LDADD): Likewise.
52603         * modules/uniconv/u32-strconv-to-enc-tests
52604         (test_u32_strconv_to_enc_LDADD): Likewise.
52605         * modules/uniconv/u8-conv-from-enc-tests
52606         (test_u8_conv_from_enc_LDADD): Likewise.
52607         * modules/uniconv/u8-conv-to-enc-tests
52608         (test_u8_conv_to_enc_LDADD): Likewise.
52609         * modules/uniconv/u8-strconv-from-enc-tests
52610         (test_u8_strconv_from_enc_LDADD): Likewise.
52611         * modules/uniconv/u8-strconv-to-enc-tests
52612         (test_u8_strconv_to_enc_LDADD): Likewise.
52613
52614 2007-10-22  Bruno Haible  <bruno@clisp.org>
52615
52616         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
52617         size.
52618
52619 2007-10-22  Eric Blake  <ebb9@byu.net>
52620
52621         Tweak x*printf documentation.
52622         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
52623         variable name and comments.
52624         Suggested by Bruno Haible.
52625
52626 2007-10-22  Bruno Haible  <bruno@clisp.org>
52627
52628         * lib/acl.c (copy_acl): Fix file name in comment.
52629
52630 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
52631
52632         Fix Tru64 problem with stdbool.h.
52633         * lib/stdbool.in.h (false, true):
52634         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
52635         Don't declare as an enum in this situation; it runs afoul of Tru64.
52636         Problem reported by Steven M. Schweda in
52637         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
52638
52639 2007-10-22  Eric Blake  <ebb9@byu.net>
52640
52641         Also wrap vf?printf.
52642         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
52643         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
52644         (xvprintf, xvfprintf): New functions.
52645
52646 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52647
52648         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
52649         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
52650
52651         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
52652         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
52653
52654 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
52655
52656         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
52657         by Bruno Haible.
52658
52659 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52660
52661         * lib/getloadavg.c
52662         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
52663         Undef `sys' after including sys/table.h, for Tru64 4.0D.
52664
52665         * tests/test-i-ring.c: Work for C89.
52666
52667 2007-10-22  Bruno Haible  <bruno@clisp.org>
52668
52669         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
52670         -1u, in preprocessor expression, so that we don't test for the bug
52671         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
52672         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
52673
52674 2007-10-22  Eric Blake  <ebb9@byu.net>
52675
52676         * tests/test-yesno.sh: Silence stderr during test.
52677
52678 2007-10-22  Simon Josefsson  <simon@josefsson.org>
52679
52680         * modules/crypto/gc-camellia: New file.
52681
52682         * m4/gc-camellia.m4: New file.
52683
52684         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
52685
52686         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
52687
52688 2007-10-22  Simon Josefsson  <simon@josefsson.org>
52689
52690         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
52691         --help to stdout.  Reported by sms@antinode.org (Steven
52692         M. Schweda).
52693
52694 2007-10-22  Simon Josefsson  <simon@josefsson.org>
52695
52696         * users.txt: Fix link to libksba.
52697
52698 2007-10-21  Ben Pfaff  <blp@gnu.org>
52699
52700         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
52701         round.c roundf implementation that depends on floorf and ceilf to
52702         be tested unconditionally.
52703
52704 2007-10-21  Ben Pfaff  <blp@gnu.org>
52705
52706         * m4/check-libm-func.m4: Removed.
52707         * m4/check-math-lib.m4: New file.
52708         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
52709         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
52710         definition and lack of AC_LIBOBJ([roundf]).
52711         * m4/roundl.m4: Ditto, and similarly for roundl.
52712         * modules/round: Reference new m4 file.
52713         * modules/roundf: Ditto.
52714         * modules/roundl: Ditto.
52715         * tests/test-round2.c (main): Use ROUND instead of round.
52716         Bug report from Bruno Haible.
52717
52718 2007-10-21  Bruno Haible  <bruno@clisp.org>
52719
52720         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
52721         context.
52722
52723 2007-10-21  Bruno Haible  <bruno@clisp.org>
52724
52725         * tests/test-wcwidth.c (main): Allow negative result for some control
52726         characters.
52727
52728         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
52729         Needed on OSF/1 5.1.
52730
52731 2007-10-21  Bruno Haible  <bruno@clisp.org>
52732
52733         * tests/test-floorf1.c: Include isnanf.h.
52734         (main): Use isnanf() instead of isnan().
52735         * tests/test-ceilf1.c: Include isnanf.h.
52736         (main): Use isnanf() instead of isnan().
52737         * tests/test-truncf1.c: Include isnanf.h.
52738         (main): Use isnanf() instead of isnan().
52739         * tests/test-roundf1.c: Include isnanf.h.
52740         (main): Use isnanf() instead of isnan().
52741
52742 2007-10-21  Eric Blake  <ebb9@byu.net>
52743
52744         * users.txt: Update URL for m4.
52745
52746 2007-10-21  Bruno Haible  <bruno@clisp.org>
52747
52748         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
52749
52750 2007-10-21  Bruno Haible  <bruno@clisp.org>
52751
52752         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
52753         Git's management files if the CVS files are not present.
52754
52755 2007-10-20  Bruno Haible  <bruno@clisp.org>
52756
52757         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
52758         gcc-3.4.x.
52759
52760 2007-10-20  Ben Pfaff  <blp@gnu.org>
52761
52762         * lib/math.in.h: Declare round, roundf, roundl if we are providing
52763         implementations.
52764         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
52765         * lib/round.c: New file.
52766         * lib/roundf.c: New file.
52767         * lib/roundl.c: New file.
52768         * m4/round.m4: New file.
52769         * m4/roundf.m4: New file.
52770         * m4/roundl.m4: New file.
52771         * m4/check-libm-func-m4: New file.
52772         * modules/math: Replace round, roundf, roundl related @VARS@ in
52773         math.in.h.
52774         * modules/round: New file.
52775         * modules/round-tests: New file.
52776         * modules/roundf: New file.
52777         * modules/roundf-tests: New file.
52778         * modules/roundl: New file.
52779         * modules/roundl-tests: New file.
52780         * tests/test-round1.c: New file.
52781         * tests/test-round2.c: New file.
52782         * tests/test-roundf1.c: New file.
52783         * tests/test-roundf2.c: New file.
52784         * tests/test-roundl.c: New file.
52785         * doc/functions/round.texi: Mention round module.
52786         * doc/functions/roundf.texi: Mention roundf module.
52787         * doc/functions/roundl.texi: Mention roundl module.
52788         * MODULES.html.sh: Mention new modules.
52789         Thanks to Bruno Haible for suggestions.
52790
52791 2007-10-20  Jim Meyering  <meyering@redhat.com>
52792
52793         * lib/xprintf.c: Include <config.h> unconditionally.
52794
52795         Change xprintf's license to GPL.
52796         * modules/xprintf (License): s/LGPL/GPL/, since this module
52797         depends on modules (exit and exitfail) which are GPL.
52798         Suggestion from Bruno Haible.
52799
52800         xprintf fixes.
52801         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
52802         Use a clearer diagnostic.
52803         Patch from Bruno Haible.
52804
52805 2007-10-20  Bruno Haible  <bruno@clisp.org>
52806
52807         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
52808         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
52809         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52810
52811 2007-10-20  Bruno Haible  <bruno@clisp.org>
52812
52813         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
52814         precision in the comparison result > x - 1 or similar.
52815         * tests/test-ceilf2.c (correct_result_p): Likewise.
52816         * tests/test-truncf2.c (correct_result_p): Likewise.
52817         * tests/test-trunc2.c (correct_result_p): Likewise.
52818         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52819
52820 2007-10-20  Bruno Haible  <bruno@clisp.org>
52821
52822         * modules/ceil: New file.
52823         * m4/ceil.m4: New file.
52824         * doc/functions/ceil.texi: Mention the 'ceil' module.
52825
52826 2007-10-20  Bruno Haible  <bruno@clisp.org>
52827
52828         * modules/floor: New file.
52829         * m4/floor.m4: New file.
52830         * doc/functions/floor.texi: Mention the 'floor' module.
52831
52832 2007-10-20  Bruno Haible  <bruno@clisp.org>
52833
52834         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
52835         of %a.
52836         * modules/floorf-tests (Depends-on): Likewise.
52837         * modules/truncf-tests (Depends-on): Likewise.
52838         * modules/trunc-tests (Depends-on): Likewise.
52839         Reported by Ben Pfaff.
52840
52841 2007-10-19  Jim Meyering  <meyering@redhat.com>
52842
52843         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
52844         Don't bother testing specific errno values.  Just test ferror.
52845
52846         New module: xprintf
52847         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
52848
52849 2007-10-19  Bruno Haible  <bruno@clisp.org>
52850
52851         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
52852         syntax.
52853         * modules/javaexec (Makefile.am): Likewise.
52854         * modules/relocatable-prog (Makefile.am): Likewise.
52855         Suggested by Jim Meyering.
52856
52857 2007-10-18  Bruno Haible  <bruno@clisp.org>
52858
52859         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
52860         Reported by Jim Meyering.
52861
52862 2007-10-18  Eric Blake  <ebb9@byu.net>
52863
52864         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
52865
52866 2007-10-18  Bruno Haible  <bruno@clisp.org>
52867
52868         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
52869         the format string into writable memory. Needed in Fortify conditions.
52870
52871 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
52872             Bruno Haible  <bruno@clisp.org>
52873
52874         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
52875         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
52876         * modules/trim (Depends-on): Add mbchar.
52877         (configure.ac): Add gl_FUNC_MBRTOWC.
52878         (Makefile.am): Augment lib_SOURCES.
52879
52880 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
52881
52882         Modify glob.c to use fstatat and dirfd, to simplify it.
52883         Suggested by Eric Blake.
52884         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
52885         Don't include <stdbool.h>; not used.
52886         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
52887         (link_exists_p): Simplify implementation, since we can now assume
52888         dirfd and fstatat.
52889         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
52890
52891 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52892
52893         * gnulib-tool (func_get_dependencies): Fix sed script to
52894         match only tests.
52895
52896 2007-10-17  Bruno Haible  <bruno@clisp.org>
52897
52898         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
52899         allow locale names without encoding suffix.
52900         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
52901         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
52902
52903 2007-10-16  Bruno Haible  <bruno@clisp.org>
52904
52905         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
52906         * lib/getgroups.c (getgroups): Likewise.
52907         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
52908
52909 2007-10-16  Bruno Haible  <bruno@clisp.org>
52910
52911         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
52912         * modules/malloc-posix (License): Likewise.
52913         * modules/realloc-posix (License): Likewise.
52914         * modules/calloc-posix (License): Likewise.
52915         * modules/intprops (License): Change from GPL to LGPL, with
52916         Paul Eggert's approval.
52917
52918 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
52919
52920         Merge glibc changes into lib/glob.c.
52921
52922         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
52923         2007-10-15 04:59:03 UTC.  Here are the changes:
52924
52925         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
52926
52927         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
52928
52929         * lib/glob.c: Add some branch prediction throughout.
52930
52931         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
52932
52933         [BZ #5103]
52934         * lib/glob.c (glob): Recognize patterns starting \/.
52935
52936         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
52937
52938         [BZ #3996]
52939         * lib/glob.c (attribute_hidden): Define if not defined.
52940         (glob): Unescape dirname, filename or username when needed and not
52941         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
52942         is NULL.  Handle unescaped [ in pattern without closing ].
52943         Don't pass GLOB_CHECK down to recursive glob for directories.
52944         (__glob_pattern_type): New function.
52945         (__glob_pattern_p): Implement using __glob_pattern_type.
52946         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
52947         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
52948         Remove unreachable code.
52949
52950         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
52951
52952         * lib/glob.c (glob_in_dir): Add some comments and asserts to
52953         explain why there are no leaks.
52954
52955         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
52956
52957         [BZ #3253]
52958         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
52959         time, rather allocate increasingly bigger arrays of pointers, if
52960         possible with alloca, if too large with malloc.
52961
52962 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
52963
52964         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
52965         Problem reported by H.Merijn Brand in
52966         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
52967         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
52968         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
52969
52970 2007-10-15  Bruno Haible  <bruno@clisp.org>
52971
52972         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
52973         with explicit rpl_ prefix.
52974         * lib/fopen.c (fopen): Likewise.
52975         * lib/freopen.c (freopen): Likewise.
52976         * lib/iconv.c (iconv): Likewise.
52977         * lib/iconv_close.c (iconv_close): Likewise.
52978
52979 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52980
52981         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
52982
52983 2007-10-15  Bruno Haible  <bruno@clisp.org>
52984
52985         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
52986         <stddef.h> instead of <stdlib.h> since we only need NULL.
52987         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52988
52989 2007-10-15  Bruno Haible  <bruno@clisp.org>
52990
52991         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
52992         Replace paragraph talking about LIBOBJS.
52993         Reported by Colin Watson <cjwatson@debian.org>.
52994
52995 2007-10-15  Bruno Haible  <bruno@clisp.org>
52996
52997         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
52998         <stdlib.h> before using NULL.
52999
53000 2007-10-15  Simon Josefsson  <simon@josefsson.org>
53001
53002         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
53003         Reported by Albert Chin <china@thewrittenword.com>.
53004
53005 2007-10-14  Bruno Haible  <bruno@clisp.org>
53006
53007         * modules/iconv_open-utf-tests: New file.
53008         * tests/test-iconv-utf.c: New file.
53009
53010         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
53011         * modules/iconv_open-utf: New file.
53012         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
53013         (iconv, iconv_close): New declarations.
53014         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
53015         be defined.
53016         (iconv_open): Add special handling of conversion between UTF-8 and
53017         UTF-{16,32}{BE,LE}.
53018         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
53019         * lib/iconv_close.c: New file.
53020         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
53021         gl_FUNC_ICONV_OPEN.
53022         (gl_FUNC_ICONV_OPEN): Use it.
53023         (gl_FUNC_ICONV_OPEN_UTF): New macro.
53024         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
53025         and REPLACE_ICONV_UTF.
53026         * modules/iconv_open (Depends-on): Add c-strcase.
53027         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
53028         ICONV_CONST.
53029         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
53030
53031 2007-10-13  Albert Chin  <china@thewrittenword.com>
53032             Bruno Haible  <bruno@clisp.org>
53033
53034         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
53035         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
53036
53037 2007-10-13  Bruno Haible  <bruno@clisp.org>
53038
53039         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
53040         defined, use the ISO C99 inline semantics.
53041         * lib/argp.h (ARGP_EI): Likewise.
53042
53043 2007-10-13  Bruno Haible  <bruno@clisp.org>
53044
53045         Handle 'inline' change in gcc 4.3.0.
53046         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
53047         argp_fmtstream_write, argp_fmtstream_set_lmargin,
53048         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
53049         argp_fmtstream_point): Disable 'extern' declaration if the function
53050         definition is going to be provided inline.
53051         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
53052         semantics, not the ISO C99 inline semantics.
53053         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
53054         'extern' declaration if the function definition is going to be provided
53055         inline.
53056         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
53057         the GNU C inline semantics, not the ISO C99 inline semantics. With
53058         GCC 4.2, avoid a warning.
53059
53060 2007-10-13  Bruno Haible  <bruno@clisp.org>
53061
53062         * lib/freading.h (freading): Enable the use of __freading for
53063         glibc >= 2.7.
53064         * lib/freading.c (freading): Likewise.
53065
53066 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
53067
53068         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
53069         "warning: C99 inline functions are not supported; using GNU89".
53070
53071 2007-10-12  Bruno Haible  <bruno@clisp.org>
53072
53073         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
53074         of 2.
53075         * tests/test-ceilf2.c: New file.
53076         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
53077
53078         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
53079         * modules/ceilf-tests: Update.
53080
53081 2007-10-12  Bruno Haible  <bruno@clisp.org>
53082
53083         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
53084         of 2.
53085         * tests/test-floorf2.c: New file.
53086         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
53087
53088         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
53089         * modules/floorf-tests: Update.
53090
53091 2007-10-12  Bruno Haible  <bruno@clisp.org>
53092
53093         * tests/test-trunc2.c: New file.
53094         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
53095
53096         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
53097         * modules/trunc-tests: Update.
53098
53099 2007-10-12  Bruno Haible  <bruno@clisp.org>
53100
53101         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
53102         of 2.
53103         * tests/test-truncf2.c: New file.
53104         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
53105
53106         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
53107         * modules/truncf-tests: Update.
53108
53109 2007-10-11  Eric Blake  <ebb9@byu.net>
53110
53111         Don't claim strerror is broken on Interix.
53112         * doc/functions/strerror.texi (strerror): Known broken systems are
53113         now Solaris 8, and not Interix.
53114         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
53115         Interix on cross-compile.
53116         Reported by Martin Koeppe in
53117         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
53118
53119 2007-10-11  Bruno Haible  <bruno@clisp.org>
53120
53121         * modules/i-ring-tests: New file.
53122         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
53123         instead of assert.
53124
53125 2007-10-11  Bruno Haible  <bruno@clisp.org>
53126
53127         * modules/filenamecat-tests: New file.
53128         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
53129         * lib/filenamecat.c: Remove test code.
53130
53131 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
53132
53133         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
53134
53135         * lib/strerror.c: Include <string.h> always, to test interface,
53136         and to remove the need for the dummy.
53137         Include intprops.h to compute width instead of doing it ourselves
53138         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
53139         (strerror): Define it to return NULL if there's no system strerror.
53140         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
53141         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
53142         ancient pre-strerror Unix systems well any more.  Saying "unknown
53143         system error" is enough.
53144         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
53145         simpler strerror.c implementation.
53146         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
53147         Simplify the tests to reflect the simpler strerror implementation.
53148         * modules/strerror (Depends-on): Add intprops.
53149
53150 2007-10-09  Eric Blake  <ebb9@byu.net>
53151
53152         Silence test-fpending.
53153         * modules/fpending-tests (Files): Add wrapper script.
53154         * tests/test-fpending.sh: New file.
53155
53156 2007-10-09  Bruno Haible  <bruno@clisp.org>
53157
53158         * MODULES.html.sh (func_module): Don't create a hyperlink for
53159         function names like 'printf_frexp'.
53160         (Misc): Add crc, memxor.
53161         (Characteristics of floating types): New section.
53162         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
53163         isnanf-nolibm, signbit, trunc, truncf, truncl.
53164         (Enhancements for ISO C 99 functions): New subsection Input/output.
53165         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
53166         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
53167         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
53168         (Compatibility checks for POSIX:2001 functions): Add clock-time.
53169         (Enhancements for POSIX:2001 functions): Add chdir-long.
53170         (File system functions): Add areadlink, chdir-safer, read-file.
53171         Remove cycle-check.
53172         (File system as inode set): New section.
53173         (Date and time): Add gethrxtime.
53174         (Multithreading): Add openmp.
53175         (Internationalization functions): Add localename.
53176         (Unicode string functions): Add unistr/u*-mbsnlen.
53177         (Support for maintaining and releasing projects): Add git-version-gen.
53178         (Lone files): Remove directories.
53179
53180 2007-10-08  Ben Pfaff  <blp@gnu.org>
53181
53182         * lib/xmalloca.h: Fix typo in comment.
53183
53184 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
53185
53186         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
53187         when avoiding problems with integer overflow.  Use a portable test
53188         instead.
53189
53190 2007-10-08  Simon Josefsson  <simon@josefsson.org>
53191
53192         * modules/dummy (License): Change to LGPLv2+.
53193         * modules/float (License): Likewise
53194         * modules/realloc (License): Likewise
53195         * modules/stdlib (License): Likewise
53196
53197 2007-10-07  Bruno Haible  <bruno@clisp.org>
53198
53199         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
53200         * floor.c (TWO_MANT_DIG): Likewise.
53201         * ceil.c (TWO_MANT_DIG): Likewise.
53202         Reported by Ben Pfaff.
53203
53204 2007-10-07  Bruno Haible  <bruno@clisp.org>
53205
53206         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
53207         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
53208         * lib/frexp.c (FUNC): Likewise.
53209         * lib/printf-frexp.h (printf_frexp): Likewise.
53210         * lib/printf-frexpl.h (printf_frexpl): Likewise.
53211         * lib/printf-frexp.c (FUNC): Likewise.
53212         Suggested by Jim Meyering.
53213
53214 2007-10-07  Jim Meyering  <meyering@redhat.com>
53215
53216         Make xnanosleep's integer overflow test more robust.
53217         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
53218         so that gcc-4.3.0 doesn't optimize away this test for overflow.
53219
53220 2007-10-07  Bruno Haible  <bruno@clisp.org>
53221
53222         * NEWS: Mention the license change.
53223
53224         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
53225         abbreviations in the modules files.
53226
53227         Change copyright notice from GPLv2+ to GPLv3+.
53228         * README: Change copyright notice.
53229         * MODULES.html.sh: Likewise.
53230         * build-aux/bootstrap.conf: Likewise.
53231         * build-aux/config.libpath: Likewise.
53232         * build-aux/csharpcomp.sh.in: Likewise.
53233         * build-aux/csharpexec.sh.in: Likewise.
53234         * build-aux/install-reloc: Likewise.
53235         * build-aux/javacomp.sh.in: Likewise.
53236         * build-aux/javaexec.sh.in: Likewise.
53237         * build-aux/ldd.sh.in: Likewise.
53238         * build-aux/reloc-ldflags: Likewise.
53239         * build-aux/relocatable.sh.in: Likewise.
53240         * build-aux/x-to-1.in: Likewise.
53241         * check-module: Likewise.
53242         * config/srclistvars.sh: Likewise.
53243         * gnulib-tool: Likewise.
53244         * lib/acl-internal.h: Likewise.
53245         * lib/acl.c: Likewise.
53246         * lib/acl.h: Likewise.
53247         * lib/acl_entries.c: Likewise.
53248         * lib/areadlink-with-size.c: Likewise.
53249         * lib/areadlink.c: Likewise.
53250         * lib/areadlink.h: Likewise.
53251         * lib/argmatch.c: Likewise.
53252         * lib/argmatch.h: Likewise.
53253         * lib/argp-ba.c: Likewise.
53254         * lib/argp-eexst.c: Likewise.
53255         * lib/argp-fmtstream.c: Likewise.
53256         * lib/argp-fmtstream.h: Likewise.
53257         * lib/argp-fs-xinl.c: Likewise.
53258         * lib/argp-help.c: Likewise.
53259         * lib/argp-namefrob.h: Likewise.
53260         * lib/argp-parse.c: Likewise.
53261         * lib/argp-pin.c: Likewise.
53262         * lib/argp-pv.c: Likewise.
53263         * lib/argp-pvh.c: Likewise.
53264         * lib/argp-xinl.c: Likewise.
53265         * lib/argp.h: Likewise.
53266         * lib/at-func.c: Likewise.
53267         * lib/atanl.c: Likewise.
53268         * lib/backupfile.c: Likewise.
53269         * lib/backupfile.h: Likewise.
53270         * lib/basename.c: Likewise.
53271         * lib/binary-io.h: Likewise.
53272         * lib/byteswap.in.h: Likewise.
53273         * lib/c-stack.c: Likewise.
53274         * lib/c-stack.h: Likewise.
53275         * lib/c-strcasestr.c: Likewise.
53276         * lib/c-strcasestr.h: Likewise.
53277         * lib/c-strstr.c: Likewise.
53278         * lib/c-strstr.h: Likewise.
53279         * lib/c-strtod.c: Likewise.
53280         * lib/calloc.c: Likewise.
53281         * lib/canon-host.c: Likewise.
53282         * lib/canon-host.h: Likewise.
53283         * lib/canonicalize-lgpl.c: Likewise.
53284         * lib/canonicalize.c: Likewise.
53285         * lib/canonicalize.h: Likewise.
53286         * lib/ceil.c: Likewise.
53287         * lib/ceilf.c: Likewise.
53288         * lib/ceill.c: Likewise.
53289         * lib/chdir-long.c: Likewise.
53290         * lib/chdir-long.h: Likewise.
53291         * lib/chdir-safer.c: Likewise.
53292         * lib/chdir-safer.h: Likewise.
53293         * lib/chown.c: Likewise.
53294         * lib/classpath.c: Likewise.
53295         * lib/classpath.h: Likewise.
53296         * lib/clean-temp.c: Likewise.
53297         * lib/clean-temp.h: Likewise.
53298         * lib/cloexec.c: Likewise.
53299         * lib/close-stream.c: Likewise.
53300         * lib/closein.c: Likewise.
53301         * lib/closein.h: Likewise.
53302         * lib/closeout.c: Likewise.
53303         * lib/closeout.h: Likewise.
53304         * lib/concat-filename.c: Likewise.
53305         * lib/copy-file.c: Likewise.
53306         * lib/copy-file.h: Likewise.
53307         * lib/count-one-bits.h: Likewise.
53308         * lib/crc.c: Likewise.
53309         * lib/crc.h: Likewise.
53310         * lib/creat-safer.c: Likewise.
53311         * lib/csharpcomp.c: Likewise.
53312         * lib/csharpcomp.h: Likewise.
53313         * lib/csharpexec.c: Likewise.
53314         * lib/csharpexec.h: Likewise.
53315         * lib/cycle-check.c: Likewise.
53316         * lib/cycle-check.h: Likewise.
53317         * lib/diacrit.c: Likewise.
53318         * lib/diacrit.h: Likewise.
53319         * lib/diffseq.h: Likewise.
53320         * lib/dirchownmod.c: Likewise.
53321         * lib/dirent.in.h: Likewise.
53322         * lib/dirfd.c: Likewise.
53323         * lib/dirfd.h: Likewise.
53324         * lib/dirname.c: Likewise.
53325         * lib/dirname.h: Likewise.
53326         * lib/dummy.c: Likewise.
53327         * lib/dup-safer.c: Likewise.
53328         * lib/dup2.c: Likewise.
53329         * lib/eealloc.h: Likewise.
53330         * lib/error.c: Likewise.
53331         * lib/error.h: Likewise.
53332         * lib/euidaccess.c: Likewise.
53333         * lib/exclude.c: Likewise.
53334         * lib/exclude.h: Likewise.
53335         * lib/execute.c: Likewise.
53336         * lib/execute.h: Likewise.
53337         * lib/exitfail.c: Likewise.
53338         * lib/exitfail.h: Likewise.
53339         * lib/expl.c: Likewise.
53340         * lib/fatal-signal.c: Likewise.
53341         * lib/fatal-signal.h: Likewise.
53342         * lib/fbufmode.c: Likewise.
53343         * lib/fbufmode.h: Likewise.
53344         * lib/fchdir.c: Likewise.
53345         * lib/fchmodat.c: Likewise.
53346         * lib/fchownat.c: Likewise.
53347         * lib/fcntl--.h: Likewise.
53348         * lib/fcntl-safer.h: Likewise.
53349         * lib/fcntl.in.h: Likewise.
53350         * lib/fd-safer.c: Likewise.
53351         * lib/fflush.c: Likewise.
53352         * lib/file-has-acl.c: Likewise.
53353         * lib/file-set.c: Likewise.
53354         * lib/file-type.c: Likewise.
53355         * lib/file-type.h: Likewise.
53356         * lib/fileblocks.c: Likewise.
53357         * lib/filemode.c: Likewise.
53358         * lib/filemode.h: Likewise.
53359         * lib/filename.h: Likewise.
53360         * lib/filenamecat.c: Likewise.
53361         * lib/filenamecat.h: Likewise.
53362         * lib/findprog.c: Likewise.
53363         * lib/findprog.h: Likewise.
53364         * lib/float.in.h: Likewise.
53365         * lib/floor.c: Likewise.
53366         * lib/floorf.c: Likewise.
53367         * lib/floorl.c: Likewise.
53368         * lib/fopen-safer.c: Likewise.
53369         * lib/fopen.c: Likewise.
53370         * lib/fpending.c: Likewise.
53371         * lib/fpending.h: Likewise.
53372         * lib/fprintf.c: Likewise.
53373         * lib/fprintftime.h: Likewise.
53374         * lib/fpucw.h: Likewise.
53375         * lib/fpurge.c: Likewise.
53376         * lib/fpurge.h: Likewise.
53377         * lib/freadable.c: Likewise.
53378         * lib/freadable.h: Likewise.
53379         * lib/freadahead.c: Likewise.
53380         * lib/freadahead.h: Likewise.
53381         * lib/freading.c: Likewise.
53382         * lib/freading.h: Likewise.
53383         * lib/free.c: Likewise.
53384         * lib/freopen.c: Likewise.
53385         * lib/frexp.c: Likewise.
53386         * lib/frexpl.c: Likewise.
53387         * lib/fseek.c: Likewise.
53388         * lib/fseterr.c: Likewise.
53389         * lib/fseterr.h: Likewise.
53390         * lib/fstatat.c: Likewise.
53391         * lib/fstrcmp.c: Likewise.
53392         * lib/fstrcmp.h: Likewise.
53393         * lib/fsusage.c: Likewise.
53394         * lib/fsusage.h: Likewise.
53395         * lib/ftell.c: Likewise.
53396         * lib/ftello.c: Likewise.
53397         * lib/fts-cycle.c: Likewise.
53398         * lib/fts.c: Likewise.
53399         * lib/fts_.h: Likewise.
53400         * lib/full-read.c: Likewise.
53401         * lib/full-read.h: Likewise.
53402         * lib/full-write.c: Likewise.
53403         * lib/full-write.h: Likewise.
53404         * lib/fwritable.c: Likewise.
53405         * lib/fwritable.h: Likewise.
53406         * lib/fwriteerror.c: Likewise.
53407         * lib/fwriteerror.h: Likewise.
53408         * lib/fwriting.c: Likewise.
53409         * lib/fwriting.h: Likewise.
53410         * lib/gcd.c: Likewise.
53411         * lib/gcd.h: Likewise.
53412         * lib/getcwd.c: Likewise.
53413         * lib/getdate.h: Likewise.
53414         * lib/getdate.y: Likewise.
53415         * lib/getdomainname.c: Likewise.
53416         * lib/getdomainname.h: Likewise.
53417         * lib/getgroups.c: Likewise.
53418         * lib/gethostname.c: Likewise.
53419         * lib/gethrxtime.c: Likewise.
53420         * lib/gethrxtime.h: Likewise.
53421         * lib/getloadavg.c: Likewise.
53422         * lib/getndelim2.c: Likewise.
53423         * lib/getndelim2.h: Likewise.
53424         * lib/getnline.c: Likewise.
53425         * lib/getnline.h: Likewise.
53426         * lib/getopt.c: Likewise.
53427         * lib/getopt.in.h: Likewise.
53428         * lib/getopt1.c: Likewise.
53429         * lib/getopt_int.h: Likewise.
53430         * lib/getpagesize.h: Likewise.
53431         * lib/getsubopt.c: Likewise.
53432         * lib/gettime.c: Likewise.
53433         * lib/getugroups.c: Likewise.
53434         * lib/getugroups.h: Likewise.
53435         * lib/getusershell.c: Likewise.
53436         * lib/gl_anyavltree_list1.h: Likewise.
53437         * lib/gl_anyavltree_list2.h: Likewise.
53438         * lib/gl_anyhash_list1.h: Likewise.
53439         * lib/gl_anyhash_list2.h: Likewise.
53440         * lib/gl_anylinked_list1.h: Likewise.
53441         * lib/gl_anylinked_list2.h: Likewise.
53442         * lib/gl_anyrbtree_list1.h: Likewise.
53443         * lib/gl_anyrbtree_list2.h: Likewise.
53444         * lib/gl_anytree_list1.h: Likewise.
53445         * lib/gl_anytree_list2.h: Likewise.
53446         * lib/gl_anytree_oset.h: Likewise.
53447         * lib/gl_anytreehash_list1.h: Likewise.
53448         * lib/gl_anytreehash_list2.h: Likewise.
53449         * lib/gl_array_list.c: Likewise.
53450         * lib/gl_array_list.h: Likewise.
53451         * lib/gl_array_oset.c: Likewise.
53452         * lib/gl_array_oset.h: Likewise.
53453         * lib/gl_avltree_list.c: Likewise.
53454         * lib/gl_avltree_list.h: Likewise.
53455         * lib/gl_avltree_oset.c: Likewise.
53456         * lib/gl_avltree_oset.h: Likewise.
53457         * lib/gl_avltreehash_list.c: Likewise.
53458         * lib/gl_avltreehash_list.h: Likewise.
53459         * lib/gl_carray_list.c: Likewise.
53460         * lib/gl_carray_list.h: Likewise.
53461         * lib/gl_linked_list.c: Likewise.
53462         * lib/gl_linked_list.h: Likewise.
53463         * lib/gl_linkedhash_list.c: Likewise.
53464         * lib/gl_linkedhash_list.h: Likewise.
53465         * lib/gl_list.c: Likewise.
53466         * lib/gl_list.h: Likewise.
53467         * lib/gl_oset.c: Likewise.
53468         * lib/gl_oset.h: Likewise.
53469         * lib/gl_rbtree_list.c: Likewise.
53470         * lib/gl_rbtree_list.h: Likewise.
53471         * lib/gl_rbtree_oset.c: Likewise.
53472         * lib/gl_rbtree_oset.h: Likewise.
53473         * lib/gl_rbtreehash_list.c: Likewise.
53474         * lib/gl_rbtreehash_list.h: Likewise.
53475         * lib/gl_sublist.c: Likewise.
53476         * lib/gl_sublist.h: Likewise.
53477         * lib/group-member.c: Likewise.
53478         * lib/group-member.h: Likewise.
53479         * lib/hard-locale.c: Likewise.
53480         * lib/hard-locale.h: Likewise.
53481         * lib/hash-pjw.c: Likewise.
53482         * lib/hash-pjw.h: Likewise.
53483         * lib/hash-triple.c: Likewise.
53484         * lib/hash.c: Likewise.
53485         * lib/hash.h: Likewise.
53486         * lib/human.c: Likewise.
53487         * lib/human.h: Likewise.
53488         * lib/i-ring.c: Likewise.
53489         * lib/i-ring.h: Likewise.
53490         * lib/idcache.c: Likewise.
53491         * lib/imaxabs.c: Likewise.
53492         * lib/imaxdiv.c: Likewise.
53493         * lib/inet_pton.c: Likewise.
53494         * lib/inet_pton.h: Likewise.
53495         * lib/intprops.h: Likewise.
53496         * lib/inttostr.c: Likewise.
53497         * lib/inttostr.h: Likewise.
53498         * lib/inttypes.in.h: Likewise.
53499         * lib/isapipe.c: Likewise.
53500         * lib/isdir.c: Likewise.
53501         * lib/isnan.c: Likewise.
53502         * lib/isnan.h: Likewise.
53503         * lib/isnanf.c: Likewise.
53504         * lib/isnanf.h: Likewise.
53505         * lib/isnanl-nolibm.h: Likewise.
53506         * lib/isnanl.c: Likewise.
53507         * lib/isnanl.h: Likewise.
53508         * lib/javacomp.c: Likewise.
53509         * lib/javacomp.h: Likewise.
53510         * lib/javaexec.c: Likewise.
53511         * lib/javaexec.h: Likewise.
53512         * lib/javaversion.c: Likewise.
53513         * lib/javaversion.h: Likewise.
53514         * lib/javaversion.java: Likewise.
53515         * lib/lbrkprop.h: Likewise.
53516         * lib/lchmod.h: Likewise.
53517         * lib/lchown.c: Likewise.
53518         * lib/ldexpl.c: Likewise.
53519         * lib/linebreak.c: Likewise.
53520         * lib/linebreak.h: Likewise.
53521         * lib/linebuffer.c: Likewise.
53522         * lib/linebuffer.h: Likewise.
53523         * lib/locale.in.h: Likewise.
53524         * lib/logl.c: Likewise.
53525         * lib/long-options.c: Likewise.
53526         * lib/long-options.h: Likewise.
53527         * lib/lstat.c: Likewise.
53528         * lib/lstat.h: Likewise.
53529         * lib/math.in.h: Likewise.
53530         * lib/mbchar.c: Likewise.
53531         * lib/mbchar.h: Likewise.
53532         * lib/mbfile.h: Likewise.
53533         * lib/mbiter.h: Likewise.
53534         * lib/mbscasecmp.c: Likewise.
53535         * lib/mbscasestr.c: Likewise.
53536         * lib/mbschr.c: Likewise.
53537         * lib/mbscspn.c: Likewise.
53538         * lib/mbslen.c: Likewise.
53539         * lib/mbsncasecmp.c: Likewise.
53540         * lib/mbsnlen.c: Likewise.
53541         * lib/mbspbrk.c: Likewise.
53542         * lib/mbspcasecmp.c: Likewise.
53543         * lib/mbsrchr.c: Likewise.
53544         * lib/mbssep.c: Likewise.
53545         * lib/mbsspn.c: Likewise.
53546         * lib/mbsstr.c: Likewise.
53547         * lib/mbstok_r.c: Likewise.
53548         * lib/mbswidth.c: Likewise.
53549         * lib/mbswidth.h: Likewise.
53550         * lib/mbuiter.h: Likewise.
53551         * lib/memcasecmp.c: Likewise.
53552         * lib/memcasecmp.h: Likewise.
53553         * lib/memchr.c: Likewise.
53554         * lib/memcmp.c: Likewise.
53555         * lib/memcoll.c: Likewise.
53556         * lib/memcoll.h: Likewise.
53557         * lib/memcpy.c: Likewise.
53558         * lib/memrchr.c: Likewise.
53559         * lib/mkancesdirs.c: Likewise.
53560         * lib/mkdir-p.c: Likewise.
53561         * lib/mkdir-p.h: Likewise.
53562         * lib/mkdir.c: Likewise.
53563         * lib/mkdirat.c: Likewise.
53564         * lib/mkdtemp.c: Likewise.
53565         * lib/mkstemp-safer.c: Likewise.
53566         * lib/mkstemp.c: Likewise.
53567         * lib/modechange.c: Likewise.
53568         * lib/modechange.h: Likewise.
53569         * lib/mountlist.c: Likewise.
53570         * lib/mountlist.h: Likewise.
53571         * lib/mpsort.c: Likewise.
53572         * lib/nanosleep.c: Likewise.
53573         * lib/obstack.c: Likewise.
53574         * lib/obstack.h: Likewise.
53575         * lib/open-safer.c: Likewise.
53576         * lib/open.c: Likewise.
53577         * lib/openat-die.c: Likewise.
53578         * lib/openat-priv.h: Likewise.
53579         * lib/openat-proc.c: Likewise.
53580         * lib/openat.c: Likewise.
53581         * lib/openat.h: Likewise.
53582         * lib/pagealign_alloc.c: Likewise.
53583         * lib/pagealign_alloc.h: Likewise.
53584         * lib/physmem.c: Likewise.
53585         * lib/physmem.h: Likewise.
53586         * lib/pipe-safer.c: Likewise.
53587         * lib/pipe.c: Likewise.
53588         * lib/pipe.h: Likewise.
53589         * lib/posixtm.c: Likewise.
53590         * lib/posixtm.h: Likewise.
53591         * lib/posixver.c: Likewise.
53592         * lib/printf-frexp.c: Likewise.
53593         * lib/printf-frexp.h: Likewise.
53594         * lib/printf-frexpl.c: Likewise.
53595         * lib/printf-frexpl.h: Likewise.
53596         * lib/printf.c: Likewise.
53597         * lib/progname.c: Likewise.
53598         * lib/progname.h: Likewise.
53599         * lib/progreloc.c: Likewise.
53600         * lib/putenv.c: Likewise.
53601         * lib/quote.c: Likewise.
53602         * lib/quote.h: Likewise.
53603         * lib/quotearg.c: Likewise.
53604         * lib/quotearg.h: Likewise.
53605         * lib/raise.c: Likewise.
53606         * lib/readline.c: Likewise.
53607         * lib/readline.h: Likewise.
53608         * lib/readlink.c: Likewise.
53609         * lib/readtokens.c: Likewise.
53610         * lib/readtokens.h: Likewise.
53611         * lib/readtokens0.c: Likewise.
53612         * lib/readtokens0.h: Likewise.
53613         * lib/readutmp.c: Likewise.
53614         * lib/readutmp.h: Likewise.
53615         * lib/realloc.c: Likewise.
53616         * lib/relocwrapper.c: Likewise.
53617         * lib/rename-dest-slash.c: Likewise.
53618         * lib/rename.c: Likewise.
53619         * lib/rmdir.c: Likewise.
53620         * lib/rpmatch.c: Likewise.
53621         * lib/safe-read.c: Likewise.
53622         * lib/safe-read.h: Likewise.
53623         * lib/safe-write.c: Likewise.
53624         * lib/safe-write.h: Likewise.
53625         * lib/same-inode.h: Likewise.
53626         * lib/same.c: Likewise.
53627         * lib/same.h: Likewise.
53628         * lib/save-cwd.c: Likewise.
53629         * lib/save-cwd.h: Likewise.
53630         * lib/savedir.c: Likewise.
53631         * lib/savedir.h: Likewise.
53632         * lib/savewd.c: Likewise.
53633         * lib/savewd.h: Likewise.
53634         * lib/search.in.h: Likewise.
53635         * lib/setenv.c: Likewise.
53636         * lib/setenv.h: Likewise.
53637         * lib/settime.c: Likewise.
53638         * lib/sh-quote.c: Likewise.
53639         * lib/sh-quote.h: Likewise.
53640         * lib/sig2str.c: Likewise.
53641         * lib/sig2str.h: Likewise.
53642         * lib/signal.in.h: Likewise.
53643         * lib/signbitd.c: Likewise.
53644         * lib/signbitf.c: Likewise.
53645         * lib/signbitl.c: Likewise.
53646         * lib/sigprocmask.c: Likewise.
53647         * lib/sincosl.c: Likewise.
53648         * lib/sleep.c: Likewise.
53649         * lib/sprintf.c: Likewise.
53650         * lib/sqrtl.c: Likewise.
53651         * lib/stat-time.h: Likewise.
53652         * lib/stdio--.h: Likewise.
53653         * lib/stdio-safer.h: Likewise.
53654         * lib/stdlib--.h: Likewise.
53655         * lib/stdlib-safer.h: Likewise.
53656         * lib/stdlib.in.h: Likewise.
53657         * lib/stpcpy.c: Likewise.
53658         * lib/stpncpy.c: Likewise.
53659         * lib/strchrnul.c: Likewise.
53660         * lib/strcspn.c: Likewise.
53661         * lib/strerror.c: Likewise.
53662         * lib/strftime.c: Likewise.
53663         * lib/strftime.h: Likewise.
53664         * lib/striconveh.c: Likewise.
53665         * lib/striconveh.h: Likewise.
53666         * lib/striconveha.c: Likewise.
53667         * lib/striconveha.h: Likewise.
53668         * lib/stripslash.c: Likewise.
53669         * lib/strnlen1.c: Likewise.
53670         * lib/strnlen1.h: Likewise.
53671         * lib/strtod.c: Likewise.
53672         * lib/strtoimax.c: Likewise.
53673         * lib/strtok_r.c: Likewise.
53674         * lib/strtol.c: Likewise.
53675         * lib/strtoll.c: Likewise.
53676         * lib/strtoul.c: Likewise.
53677         * lib/strtoull.c: Likewise.
53678         * lib/sysexits.in.h: Likewise.
53679         * lib/tempname.c: Likewise.
53680         * lib/tempname.h: Likewise.
53681         * lib/timespec.h: Likewise.
53682         * lib/tls.c: Likewise.
53683         * lib/tls.h: Likewise.
53684         * lib/tmpdir.c: Likewise.
53685         * lib/tmpdir.h: Likewise.
53686         * lib/tmpfile-safer.c: Likewise.
53687         * lib/tmpfile.c: Likewise.
53688         * lib/trigl.c: Likewise.
53689         * lib/trigl.h: Likewise.
53690         * lib/trim.c: Likewise.
53691         * lib/trim.h: Likewise.
53692         * lib/trunc.c: Likewise.
53693         * lib/truncf.c: Likewise.
53694         * lib/truncl.c: Likewise.
53695         * lib/tsearch.c: Likewise.
53696         * lib/unicodeio.c: Likewise.
53697         * lib/unicodeio.h: Likewise.
53698         * lib/unistd--.h: Likewise.
53699         * lib/unistd-safer.h: Likewise.
53700         * lib/unistdio/ulc-fprintf.c: Likewise.
53701         * lib/unistdio/ulc-vfprintf.c: Likewise.
53702         * lib/unlinkdir.c: Likewise.
53703         * lib/unlinkdir.h: Likewise.
53704         * lib/unlocked-io.h: Likewise.
53705         * lib/unsetenv.c: Likewise.
53706         * lib/userspec.c: Likewise.
53707         * lib/utime.c: Likewise.
53708         * lib/utimecmp.c: Likewise.
53709         * lib/utimecmp.h: Likewise.
53710         * lib/utimens.c: Likewise.
53711         * lib/verify.h: Likewise.
53712         * lib/verror.c: Likewise.
53713         * lib/verror.h: Likewise.
53714         * lib/version-etc-fsf.c: Likewise.
53715         * lib/version-etc.c: Likewise.
53716         * lib/version-etc.h: Likewise.
53717         * lib/vfprintf.c: Likewise.
53718         * lib/vprintf.c: Likewise.
53719         * lib/vsprintf.c: Likewise.
53720         * lib/w32spawn.h: Likewise.
53721         * lib/wait-process.c: Likewise.
53722         * lib/wait-process.h: Likewise.
53723         * lib/wcwidth.c: Likewise.
53724         * lib/write-any-file.c: Likewise.
53725         * lib/xalloc-die.c: Likewise.
53726         * lib/xalloc.h: Likewise.
53727         * lib/xasprintf.c: Likewise.
53728         * lib/xgetcwd.c: Likewise.
53729         * lib/xgetcwd.h: Likewise.
53730         * lib/xgetdomainname.c: Likewise.
53731         * lib/xgetdomainname.h: Likewise.
53732         * lib/xgethostname.c: Likewise.
53733         * lib/xmalloc.c: Likewise.
53734         * lib/xmalloca.c: Likewise.
53735         * lib/xmalloca.h: Likewise.
53736         * lib/xmemcoll.c: Likewise.
53737         * lib/xnanosleep.c: Likewise.
53738         * lib/xreadlink.c: Likewise.
53739         * lib/xreadlink.h: Likewise.
53740         * lib/xsetenv.c: Likewise.
53741         * lib/xsetenv.h: Likewise.
53742         * lib/xstriconv.c: Likewise.
53743         * lib/xstriconv.h: Likewise.
53744         * lib/xstrndup.c: Likewise.
53745         * lib/xstrndup.h: Likewise.
53746         * lib/xstrtod.c: Likewise.
53747         * lib/xstrtod.h: Likewise.
53748         * lib/xstrtol-error.c: Likewise.
53749         * lib/xstrtol.c: Likewise.
53750         * lib/xstrtol.h: Likewise.
53751         * lib/xtime.h: Likewise.
53752         * lib/xvasprintf.c: Likewise.
53753         * lib/xvasprintf.h: Likewise.
53754         * lib/yesno.c: Likewise.
53755         * lib/yesno.h: Likewise.
53756         * posix-modules: Likewise.
53757         * tests/test-alloca-opt.c: Likewise.
53758         * tests/test-arcfour.c: Likewise.
53759         * tests/test-arctwo.c: Likewise.
53760         * tests/test-argmatch.c: Likewise.
53761         * tests/test-argp-2.sh: Likewise.
53762         * tests/test-argp.c: Likewise.
53763         * tests/test-arpa_inet.c: Likewise.
53764         * tests/test-array_list.c: Likewise.
53765         * tests/test-array_oset.c: Likewise.
53766         * tests/test-atexit.c: Likewise.
53767         * tests/test-avltree_list.c: Likewise.
53768         * tests/test-avltree_oset.c: Likewise.
53769         * tests/test-avltreehash_list.c: Likewise.
53770         * tests/test-base64.c: Likewise.
53771         * tests/test-binary-io.c: Likewise.
53772         * tests/test-byteswap.c: Likewise.
53773         * tests/test-c-ctype.c: Likewise.
53774         * tests/test-c-strcasecmp.c: Likewise.
53775         * tests/test-c-strcasestr.c: Likewise.
53776         * tests/test-c-strncasecmp.c: Likewise.
53777         * tests/test-c-strstr.c: Likewise.
53778         * tests/test-canonicalize-lgpl.c: Likewise.
53779         * tests/test-canonicalize.c: Likewise.
53780         * tests/test-carray_list.c: Likewise.
53781         * tests/test-ceilf.c: Likewise.
53782         * tests/test-ceill.c: Likewise.
53783         * tests/test-count-one-bits.c: Likewise.
53784         * tests/test-crc.c: Likewise.
53785         * tests/test-dirname.c: Likewise.
53786         * tests/test-fbufmode.c: Likewise.
53787         * tests/test-fcntl.c: Likewise.
53788         * tests/test-fflush.c: Likewise.
53789         * tests/test-floorf.c: Likewise.
53790         * tests/test-floorl.c: Likewise.
53791         * tests/test-fopen.c: Likewise.
53792         * tests/test-fprintf-posix.c: Likewise.
53793         * tests/test-fprintf-posix.h: Likewise.
53794         * tests/test-fpurge.c: Likewise.
53795         * tests/test-freadable.c: Likewise.
53796         * tests/test-freadahead.c: Likewise.
53797         * tests/test-freading.c: Likewise.
53798         * tests/test-freopen.c: Likewise.
53799         * tests/test-frexp.c: Likewise.
53800         * tests/test-frexpl.c: Likewise.
53801         * tests/test-fseek.c: Likewise.
53802         * tests/test-fseeko.c: Likewise.
53803         * tests/test-fseterr.c: Likewise.
53804         * tests/test-fstrcmp.c: Likewise.
53805         * tests/test-ftell.c: Likewise.
53806         * tests/test-ftello.c: Likewise.
53807         * tests/test-fwritable.c: Likewise.
53808         * tests/test-fwriting.c: Likewise.
53809         * tests/test-getaddrinfo.c: Likewise.
53810         * tests/test-getpass.c: Likewise.
53811         * tests/test-gettimeofday.c: Likewise.
53812         * tests/test-hmac-md5.c: Likewise.
53813         * tests/test-hmac-sha1.c: Likewise.
53814         * tests/test-iconv.c: Likewise.
53815         * tests/test-iconvme.c: Likewise.
53816         * tests/test-inttypes.c: Likewise.
53817         * tests/test-isnan.c: Likewise.
53818         * tests/test-isnanf.c: Likewise.
53819         * tests/test-isnanl-nolibm.c: Likewise.
53820         * tests/test-isnanl.c: Likewise.
53821         * tests/test-isnanl.h: Likewise.
53822         * tests/test-ldexpl.c: Likewise.
53823         * tests/test-linked_list.c: Likewise.
53824         * tests/test-linkedhash_list.c: Likewise.
53825         * tests/test-locale.c: Likewise.
53826         * tests/test-localename.c: Likewise.
53827         * tests/test-lock.c: Likewise.
53828         * tests/test-lseek.c: Likewise.
53829         * tests/test-malloca.c: Likewise.
53830         * tests/test-math.c: Likewise.
53831         * tests/test-mbscasecmp.c: Likewise.
53832         * tests/test-mbscasestr1.c: Likewise.
53833         * tests/test-mbscasestr2.c: Likewise.
53834         * tests/test-mbscasestr3.c: Likewise.
53835         * tests/test-mbscasestr4.c: Likewise.
53836         * tests/test-mbschr.c: Likewise.
53837         * tests/test-mbscspn.c: Likewise.
53838         * tests/test-mbsncasecmp.c: Likewise.
53839         * tests/test-mbspbrk.c: Likewise.
53840         * tests/test-mbspcasecmp.c: Likewise.
53841         * tests/test-mbsrchr.c: Likewise.
53842         * tests/test-mbsspn.c: Likewise.
53843         * tests/test-mbsstr1.c: Likewise.
53844         * tests/test-mbsstr2.c: Likewise.
53845         * tests/test-mbsstr3.c: Likewise.
53846         * tests/test-md5.c: Likewise.
53847         * tests/test-memmem.c: Likewise.
53848         * tests/test-netinet_in.c: Likewise.
53849         * tests/test-open.c: Likewise.
53850         * tests/test-printf-frexp.c: Likewise.
53851         * tests/test-printf-frexpl.c: Likewise.
53852         * tests/test-printf-posix.c: Likewise.
53853         * tests/test-printf-posix.h: Likewise.
53854         * tests/test-rbtree_list.c: Likewise.
53855         * tests/test-rbtree_oset.c: Likewise.
53856         * tests/test-rbtreehash_list.c: Likewise.
53857         * tests/test-read-file.c: Likewise.
53858         * tests/test-rijndael.c: Likewise.
53859         * tests/test-search.c: Likewise.
53860         * tests/test-signbit.c: Likewise.
53861         * tests/test-sleep.c: Likewise.
53862         * tests/test-snprintf-posix.c: Likewise.
53863         * tests/test-snprintf-posix.h: Likewise.
53864         * tests/test-snprintf.c: Likewise.
53865         * tests/test-sprintf-posix.c: Likewise.
53866         * tests/test-sprintf-posix.h: Likewise.
53867         * tests/test-stat-time.c: Likewise.
53868         * tests/test-stdbool.c: Likewise.
53869         * tests/test-stdint.c: Likewise.
53870         * tests/test-stdio.c: Likewise.
53871         * tests/test-stdlib.c: Likewise.
53872         * tests/test-stpncpy.c: Likewise.
53873         * tests/test-strcasestr.c: Likewise.
53874         * tests/test-striconv.c: Likewise.
53875         * tests/test-striconveh.c: Likewise.
53876         * tests/test-striconveha.c: Likewise.
53877         * tests/test-string.c: Likewise.
53878         * tests/test-sys_select.c: Likewise.
53879         * tests/test-sys_socket.c: Likewise.
53880         * tests/test-sys_stat.c: Likewise.
53881         * tests/test-sys_time.c: Likewise.
53882         * tests/test-sysexits.c: Likewise.
53883         * tests/test-time.c: Likewise.
53884         * tests/test-tls.c: Likewise.
53885         * tests/test-trunc.c: Likewise.
53886         * tests/test-truncf.c: Likewise.
53887         * tests/test-truncl.c: Likewise.
53888         * tests/test-unistd.c: Likewise.
53889         * tests/test-vasnprintf-posix.c: Likewise.
53890         * tests/test-vasnprintf-posix2.c: Likewise.
53891         * tests/test-vasnprintf.c: Likewise.
53892         * tests/test-vasprintf-posix.c: Likewise.
53893         * tests/test-vasprintf.c: Likewise.
53894         * tests/test-verify.c: Likewise.
53895         * tests/test-vfprintf-posix.c: Likewise.
53896         * tests/test-vprintf-posix.c: Likewise.
53897         * tests/test-vsnprintf-posix.c: Likewise.
53898         * tests/test-vsnprintf.c: Likewise.
53899         * tests/test-vsprintf-posix.c: Likewise.
53900         * tests/test-wchar.c: Likewise.
53901         * tests/test-wctype.c: Likewise.
53902         * tests/test-wcwidth.c: Likewise.
53903         * tests/test-xstrtol.c: Likewise.
53904         * tests/test-xvasprintf.c: Likewise.
53905         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
53906         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
53907         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
53908         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
53909         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
53910         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
53911         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
53912         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
53913         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
53914         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
53915         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
53916         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
53917         * tests/uniname/test-uninames.c: Likewise.
53918         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
53919         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
53920         * tests/unistdio/test-u16-printf1.h: Likewise.
53921         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
53922         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
53923         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
53924         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
53925         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
53926         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
53927         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
53928         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
53929         * tests/unistdio/test-u32-printf1.h: Likewise.
53930         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
53931         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
53932         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
53933         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
53934         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
53935         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
53936         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
53937         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
53938         * tests/unistdio/test-u8-printf1.h: Likewise.
53939         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
53940         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
53941         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
53942         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
53943         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
53944         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
53945         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
53946         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
53947         * tests/unistdio/test-ulc-printf1.h: Likewise.
53948         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
53949         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
53950         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
53951         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
53952         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
53953         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
53954         * tests/uniwidth/test-u16-strwidth.c: Likewise.
53955         * tests/uniwidth/test-u16-width.c: Likewise.
53956         * tests/uniwidth/test-u32-strwidth.c: Likewise.
53957         * tests/uniwidth/test-u32-width.c: Likewise.
53958         * tests/uniwidth/test-u8-strwidth.c: Likewise.
53959         * tests/uniwidth/test-u8-width.c: Likewise.
53960         * tests/uniwidth/test-uc_width.c: Likewise.
53961         * config/srclist-update: Likewise.
53962         (fixlicense): Update to GPLv3+.
53963
53964         Change copyright notice from LGPLv2.1+ to LGPLv3+.
53965         * tests/test-tsearch.c: Change copyright notice.
53966
53967         Change copyright notice from LGPLv2.0+ to LGPLv3+.
53968         * lib/c-strcaseeq.h: Change copyright notice.
53969         * lib/streq.h: Likewise.
53970         * lib/uniconv.h: Likewise.
53971         * lib/uniconv/u-conv-from-enc.h: Likewise.
53972         * lib/uniconv/u-conv-to-enc.h: Likewise.
53973         * lib/uniconv/u-strconv-from-enc.h: Likewise.
53974         * lib/uniconv/u-strconv-to-enc.h: Likewise.
53975         * lib/uniconv/u16-conv-from-enc.c: Likewise.
53976         * lib/uniconv/u16-conv-to-enc.c: Likewise.
53977         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
53978         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
53979         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
53980         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
53981         * lib/uniconv/u32-conv-from-enc.c: Likewise.
53982         * lib/uniconv/u32-conv-to-enc.c: Likewise.
53983         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
53984         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
53985         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
53986         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
53987         * lib/uniconv/u8-conv-from-enc.c: Likewise.
53988         * lib/uniconv/u8-conv-to-enc.c: Likewise.
53989         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
53990         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
53991         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
53992         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
53993         * lib/uniname.h: Likewise.
53994         * lib/uniname/uniname.c: Likewise.
53995         * lib/unistdio.h: Likewise.
53996         * lib/unistdio/u-asnprintf.h: Likewise.
53997         * lib/unistdio/u-asprintf.h: Likewise.
53998         * lib/unistdio/u-printf-args.c: Likewise.
53999         * lib/unistdio/u-printf-args.h: Likewise.
54000         * lib/unistdio/u-printf-parse.h: Likewise.
54001         * lib/unistdio/u-snprintf.h: Likewise.
54002         * lib/unistdio/u-sprintf.h: Likewise.
54003         * lib/unistdio/u-vasprintf.h: Likewise.
54004         * lib/unistdio/u-vsnprintf.h: Likewise.
54005         * lib/unistdio/u-vsprintf.h: Likewise.
54006         * lib/unistdio/u16-asnprintf.c: Likewise.
54007         * lib/unistdio/u16-asprintf.c: Likewise.
54008         * lib/unistdio/u16-printf-parse.c: Likewise.
54009         * lib/unistdio/u16-snprintf.c: Likewise.
54010         * lib/unistdio/u16-sprintf.c: Likewise.
54011         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
54012         * lib/unistdio/u16-u16-asprintf.c: Likewise.
54013         * lib/unistdio/u16-u16-snprintf.c: Likewise.
54014         * lib/unistdio/u16-u16-sprintf.c: Likewise.
54015         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
54016         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
54017         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
54018         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
54019         * lib/unistdio/u16-vasnprintf.c: Likewise.
54020         * lib/unistdio/u16-vasprintf.c: Likewise.
54021         * lib/unistdio/u16-vsnprintf.c: Likewise.
54022         * lib/unistdio/u16-vsprintf.c: Likewise.
54023         * lib/unistdio/u32-asnprintf.c: Likewise.
54024         * lib/unistdio/u32-asprintf.c: Likewise.
54025         * lib/unistdio/u32-printf-parse.c: Likewise.
54026         * lib/unistdio/u32-snprintf.c: Likewise.
54027         * lib/unistdio/u32-sprintf.c: Likewise.
54028         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
54029         * lib/unistdio/u32-u32-asprintf.c: Likewise.
54030         * lib/unistdio/u32-u32-snprintf.c: Likewise.
54031         * lib/unistdio/u32-u32-sprintf.c: Likewise.
54032         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
54033         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
54034         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
54035         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
54036         * lib/unistdio/u32-vasnprintf.c: Likewise.
54037         * lib/unistdio/u32-vasprintf.c: Likewise.
54038         * lib/unistdio/u32-vsnprintf.c: Likewise.
54039         * lib/unistdio/u32-vsprintf.c: Likewise.
54040         * lib/unistdio/u8-asnprintf.c: Likewise.
54041         * lib/unistdio/u8-asprintf.c: Likewise.
54042         * lib/unistdio/u8-printf-parse.c: Likewise.
54043         * lib/unistdio/u8-snprintf.c: Likewise.
54044         * lib/unistdio/u8-sprintf.c: Likewise.
54045         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
54046         * lib/unistdio/u8-u8-asprintf.c: Likewise.
54047         * lib/unistdio/u8-u8-snprintf.c: Likewise.
54048         * lib/unistdio/u8-u8-sprintf.c: Likewise.
54049         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
54050         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
54051         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
54052         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
54053         * lib/unistdio/u8-vasnprintf.c: Likewise.
54054         * lib/unistdio/u8-vasprintf.c: Likewise.
54055         * lib/unistdio/u8-vsnprintf.c: Likewise.
54056         * lib/unistdio/u8-vsprintf.c: Likewise.
54057         * lib/unistdio/ulc-asnprintf.c: Likewise.
54058         * lib/unistdio/ulc-asprintf.c: Likewise.
54059         * lib/unistdio/ulc-printf-parse.c: Likewise.
54060         * lib/unistdio/ulc-snprintf.c: Likewise.
54061         * lib/unistdio/ulc-sprintf.c: Likewise.
54062         * lib/unistdio/ulc-vasnprintf.c: Likewise.
54063         * lib/unistdio/ulc-vasprintf.c: Likewise.
54064         * lib/unistdio/ulc-vsnprintf.c: Likewise.
54065         * lib/unistdio/ulc-vsprintf.c: Likewise.
54066         * lib/unistr.h: Likewise.
54067         * lib/unistr/u-cpy-alloc.h: Likewise.
54068         * lib/unistr/u-cpy.h: Likewise.
54069         * lib/unistr/u-endswith.h: Likewise.
54070         * lib/unistr/u-move.h: Likewise.
54071         * lib/unistr/u-set.h: Likewise.
54072         * lib/unistr/u-startswith.h: Likewise.
54073         * lib/unistr/u-stpcpy.h: Likewise.
54074         * lib/unistr/u-stpncpy.h: Likewise.
54075         * lib/unistr/u-strcat.h: Likewise.
54076         * lib/unistr/u-strcpy.h: Likewise.
54077         * lib/unistr/u-strcspn.h: Likewise.
54078         * lib/unistr/u-strdup.h: Likewise.
54079         * lib/unistr/u-strlen.h: Likewise.
54080         * lib/unistr/u-strncat.h: Likewise.
54081         * lib/unistr/u-strncpy.h: Likewise.
54082         * lib/unistr/u-strnlen.h: Likewise.
54083         * lib/unistr/u-strpbrk.h: Likewise.
54084         * lib/unistr/u-strspn.h: Likewise.
54085         * lib/unistr/u-strstr.h: Likewise.
54086         * lib/unistr/u-strtok.h: Likewise.
54087         * lib/unistr/u16-check.c: Likewise.
54088         * lib/unistr/u16-chr.c: Likewise.
54089         * lib/unistr/u16-cmp.c: Likewise.
54090         * lib/unistr/u16-cpy-alloc.c: Likewise.
54091         * lib/unistr/u16-cpy.c: Likewise.
54092         * lib/unistr/u16-endswith.c: Likewise.
54093         * lib/unistr/u16-mblen.c: Likewise.
54094         * lib/unistr/u16-mbsnlen.c: Likewise.
54095         * lib/unistr/u16-mbtouc-aux.c: Likewise.
54096         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
54097         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
54098         * lib/unistr/u16-mbtouc.c: Likewise.
54099         * lib/unistr/u16-mbtoucr.c: Likewise.
54100         * lib/unistr/u16-move.c: Likewise.
54101         * lib/unistr/u16-next.c: Likewise.
54102         * lib/unistr/u16-prev.c: Likewise.
54103         * lib/unistr/u16-set.c: Likewise.
54104         * lib/unistr/u16-startswith.c: Likewise.
54105         * lib/unistr/u16-stpcpy.c: Likewise.
54106         * lib/unistr/u16-stpncpy.c: Likewise.
54107         * lib/unistr/u16-strcat.c: Likewise.
54108         * lib/unistr/u16-strchr.c: Likewise.
54109         * lib/unistr/u16-strcmp.c: Likewise.
54110         * lib/unistr/u16-strcpy.c: Likewise.
54111         * lib/unistr/u16-strcspn.c: Likewise.
54112         * lib/unistr/u16-strdup.c: Likewise.
54113         * lib/unistr/u16-strlen.c: Likewise.
54114         * lib/unistr/u16-strmblen.c: Likewise.
54115         * lib/unistr/u16-strmbtouc.c: Likewise.
54116         * lib/unistr/u16-strncat.c: Likewise.
54117         * lib/unistr/u16-strncmp.c: Likewise.
54118         * lib/unistr/u16-strncpy.c: Likewise.
54119         * lib/unistr/u16-strnlen.c: Likewise.
54120         * lib/unistr/u16-strpbrk.c: Likewise.
54121         * lib/unistr/u16-strrchr.c: Likewise.
54122         * lib/unistr/u16-strspn.c: Likewise.
54123         * lib/unistr/u16-strstr.c: Likewise.
54124         * lib/unistr/u16-strtok.c: Likewise.
54125         * lib/unistr/u16-to-u32.c: Likewise.
54126         * lib/unistr/u16-to-u8.c: Likewise.
54127         * lib/unistr/u16-uctomb-aux.c: Likewise.
54128         * lib/unistr/u16-uctomb.c: Likewise.
54129         * lib/unistr/u32-check.c: Likewise.
54130         * lib/unistr/u32-chr.c: Likewise.
54131         * lib/unistr/u32-cmp.c: Likewise.
54132         * lib/unistr/u32-cpy-alloc.c: Likewise.
54133         * lib/unistr/u32-cpy.c: Likewise.
54134         * lib/unistr/u32-endswith.c: Likewise.
54135         * lib/unistr/u32-mblen.c: Likewise.
54136         * lib/unistr/u32-mbsnlen.c: Likewise.
54137         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
54138         * lib/unistr/u32-mbtouc.c: Likewise.
54139         * lib/unistr/u32-mbtoucr.c: Likewise.
54140         * lib/unistr/u32-move.c: Likewise.
54141         * lib/unistr/u32-next.c: Likewise.
54142         * lib/unistr/u32-prev.c: Likewise.
54143         * lib/unistr/u32-set.c: Likewise.
54144         * lib/unistr/u32-startswith.c: Likewise.
54145         * lib/unistr/u32-stpcpy.c: Likewise.
54146         * lib/unistr/u32-stpncpy.c: Likewise.
54147         * lib/unistr/u32-strcat.c: Likewise.
54148         * lib/unistr/u32-strchr.c: Likewise.
54149         * lib/unistr/u32-strcmp.c: Likewise.
54150         * lib/unistr/u32-strcpy.c: Likewise.
54151         * lib/unistr/u32-strcspn.c: Likewise.
54152         * lib/unistr/u32-strdup.c: Likewise.
54153         * lib/unistr/u32-strlen.c: Likewise.
54154         * lib/unistr/u32-strmblen.c: Likewise.
54155         * lib/unistr/u32-strmbtouc.c: Likewise.
54156         * lib/unistr/u32-strncat.c: Likewise.
54157         * lib/unistr/u32-strncmp.c: Likewise.
54158         * lib/unistr/u32-strncpy.c: Likewise.
54159         * lib/unistr/u32-strnlen.c: Likewise.
54160         * lib/unistr/u32-strpbrk.c: Likewise.
54161         * lib/unistr/u32-strrchr.c: Likewise.
54162         * lib/unistr/u32-strspn.c: Likewise.
54163         * lib/unistr/u32-strstr.c: Likewise.
54164         * lib/unistr/u32-strtok.c: Likewise.
54165         * lib/unistr/u32-to-u16.c: Likewise.
54166         * lib/unistr/u32-to-u8.c: Likewise.
54167         * lib/unistr/u32-uctomb.c: Likewise.
54168         * lib/unistr/u8-check.c: Likewise.
54169         * lib/unistr/u8-chr.c: Likewise.
54170         * lib/unistr/u8-cmp.c: Likewise.
54171         * lib/unistr/u8-cpy-alloc.c: Likewise.
54172         * lib/unistr/u8-cpy.c: Likewise.
54173         * lib/unistr/u8-endswith.c: Likewise.
54174         * lib/unistr/u8-mblen.c: Likewise.
54175         * lib/unistr/u8-mbsnlen.c: Likewise.
54176         * lib/unistr/u8-mbtouc-aux.c: Likewise.
54177         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
54178         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
54179         * lib/unistr/u8-mbtouc.c: Likewise.
54180         * lib/unistr/u8-mbtoucr.c: Likewise.
54181         * lib/unistr/u8-move.c: Likewise.
54182         * lib/unistr/u8-next.c: Likewise.
54183         * lib/unistr/u8-prev.c: Likewise.
54184         * lib/unistr/u8-set.c: Likewise.
54185         * lib/unistr/u8-startswith.c: Likewise.
54186         * lib/unistr/u8-stpcpy.c: Likewise.
54187         * lib/unistr/u8-stpncpy.c: Likewise.
54188         * lib/unistr/u8-strcat.c: Likewise.
54189         * lib/unistr/u8-strchr.c: Likewise.
54190         * lib/unistr/u8-strcmp.c: Likewise.
54191         * lib/unistr/u8-strcpy.c: Likewise.
54192         * lib/unistr/u8-strcspn.c: Likewise.
54193         * lib/unistr/u8-strdup.c: Likewise.
54194         * lib/unistr/u8-strlen.c: Likewise.
54195         * lib/unistr/u8-strmblen.c: Likewise.
54196         * lib/unistr/u8-strmbtouc.c: Likewise.
54197         * lib/unistr/u8-strncat.c: Likewise.
54198         * lib/unistr/u8-strncmp.c: Likewise.
54199         * lib/unistr/u8-strncpy.c: Likewise.
54200         * lib/unistr/u8-strnlen.c: Likewise.
54201         * lib/unistr/u8-strpbrk.c: Likewise.
54202         * lib/unistr/u8-strrchr.c: Likewise.
54203         * lib/unistr/u8-strspn.c: Likewise.
54204         * lib/unistr/u8-strstr.c: Likewise.
54205         * lib/unistr/u8-strtok.c: Likewise.
54206         * lib/unistr/u8-to-u16.c: Likewise.
54207         * lib/unistr/u8-to-u32.c: Likewise.
54208         * lib/unistr/u8-uctomb-aux.c: Likewise.
54209         * lib/unistr/u8-uctomb.c: Likewise.
54210         * lib/unitypes.h: Likewise.
54211         * lib/uniwidth.h: Likewise.
54212         * lib/uniwidth/cjk.h: Likewise.
54213         * lib/uniwidth/u16-strwidth.c: Likewise.
54214         * lib/uniwidth/u16-width.c: Likewise.
54215         * lib/uniwidth/u32-strwidth.c: Likewise.
54216         * lib/uniwidth/u32-width.c: Likewise.
54217         * lib/uniwidth/u8-strwidth.c: Likewise.
54218         * lib/uniwidth/u8-width.c: Likewise.
54219         * lib/uniwidth/width.c: Likewise.
54220
54221 2007-10-07  Bruno Haible  <bruno@clisp.org>
54222
54223         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
54224         The file is still under LGPL (see modules/inttypes).
54225
54226 2007-10-06  Bruno Haible  <bruno@clisp.org>
54227
54228         * modules/trunc (Dependencies): Add 'extensions'.
54229         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
54230         Reported by Ben Pfaff <blp@gnu.org>.
54231
54232 2007-10-06  Bruno Haible  <bruno@clisp.org>
54233
54234         * modules/freopen-tests: New file.
54235         * tests/test-freopen.c: New file.
54236
54237         * modules/fopen-tests: New file.
54238         * tests/test-fopen.c: New file.
54239
54240         * modules/fopen: New file.
54241         * lib/fopen.c: New file.
54242         * m4/fopen.m4: New file.
54243         * modules/freopen: New file.
54244         * lib/freopen.c: New file.
54245         * m4/freopen.m4: New file.
54246         * lib/stdio.in.h (fopen, freopen): New declarations.
54247         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
54248         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
54249         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
54250         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
54251         * doc/functions/fopen.texi: Mention the 'fopen' module.
54252         * doc/functions/freopen.texi: Mention the 'freopen' module.
54253
54254 2007-10-06  Bruno Haible  <bruno@clisp.org>
54255
54256         * modules/open-tests: New file.
54257         * tests/test-open.c: New file.
54258
54259         * modules/open: New file.
54260         * lib/open.c: New file.
54261         * m4/open.m4: New file.
54262         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
54263         lib/open.c does.
54264         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
54265         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
54266         macros.
54267         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
54268         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
54269         REPLACE_OPEN.
54270         * doc/functions/open.texi: Mention the 'open' module.
54271
54272 2007-10-04  Bruno Haible  <bruno@clisp.org>
54273
54274         * modules/ceill-tests: New file.
54275         * tests/test-ceill.c: New file.
54276
54277         * modules/ceill: New file.
54278         * lib/ceill.c: Replace entire file.
54279         * m4/ceill.m4: New file.
54280         * lib/math.in.h (ceill): Replace declaration.
54281         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
54282         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
54283         * doc/functions/ceill.texi: Mention the 'ceill' module.
54284         * modules/mathl (Files): Remove lib/ceill.c.
54285         (Depends-on): Add ceill.
54286
54287 2007-10-04  Bruno Haible  <bruno@clisp.org>
54288
54289         * modules/ceilf-tests: New file.
54290         * tests/test-ceilf.c: New file.
54291
54292         * modules/ceilf: New file.
54293         * lib/ceil.c: New file.
54294         * lib/ceilf.c: New file.
54295         * m4/ceilf.m4: New file.
54296         * lib/math.in.h (ceilf): New declaration.
54297         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
54298         HAVE_DECL_CEILF.
54299         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
54300         HAVE_DECL_CEILF.
54301         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
54302
54303 2007-10-04  Bruno Haible  <bruno@clisp.org>
54304
54305         * modules/floorl-tests: New file.
54306         * tests/test-floorl.c: New file.
54307
54308         * modules/floorl: New file.
54309         * lib/floorl.c: Replace entire file.
54310         * m4/floorl.m4: New file.
54311         * lib/math.in.h (floorl): Replace declaration.
54312         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
54313         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
54314         * doc/functions/floorl.texi: Mention the 'floorl' module.
54315         * modules/mathl (Files): Remove lib/floorl.c.
54316         (Depends-on): Add floorl.
54317
54318 2007-10-04  Bruno Haible  <bruno@clisp.org>
54319
54320         * modules/floorf-tests: New file.
54321         * tests/test-floorf.c: New file.
54322
54323         * modules/floorf: New file.
54324         * lib/floor.c: New file.
54325         * lib/floorf.c: New file.
54326         * m4/floorf.m4: New file.
54327         * lib/math.in.h (floorf): New declaration.
54328         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
54329         HAVE_DECL_FLOORF.
54330         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
54331         HAVE_DECL_FLOORF.
54332         * doc/functions/floorf.texi: Mention the 'floorf' module.
54333
54334 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
54335             Bruno Haible  <bruno@clisp.org>
54336
54337         Advertise for the Git server instead of the CVS server.
54338         * doc/gnulib-intro.texi (Steady Development): Mention the Git
54339         repository instead of the CVS one.
54340         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
54341         about all VCS systems generically.
54342         * doc/gnulib.texi (Introduction): Capitalize `Git'.
54343
54344 2007-10-04  Bruno Haible  <bruno@clisp.org>
54345
54346         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
54347         means.
54348         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
54349
54350 2007-10-04  Bruno Haible  <bruno@clisp.org>
54351
54352         * modules/truncl-tests: New file.
54353         * tests/test-truncl.c: New file.
54354
54355         * modules/truncl: New file.
54356         * lib/truncl.c: New file.
54357         * m4/truncl.m4: New file.
54358         * lib/math.in.h (truncl): New declaration.
54359         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
54360         HAVE_DECL_TRUNCL.
54361         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
54362         HAVE_DECL_TRUNCL.
54363         * doc/functions/truncl.texi: Mention the 'truncl' module.
54364
54365 2007-10-04  Bruno Haible  <bruno@clisp.org>
54366
54367         * modules/truncf-tests: New file.
54368         * tests/test-truncf.c: New file.
54369
54370         * modules/truncf: New file.
54371         * lib/trunc.c: Make paramerizable through USE_* macros.
54372         * lib/truncf.c: New file.
54373         * m4/truncf.m4: New file.
54374         * lib/math.in.h (truncf): New declaration.
54375         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
54376         HAVE_DECL_TRUNCF.
54377         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
54378         HAVE_DECL_TRUNCF.
54379         * doc/functions/truncf.texi: Mention the 'truncf' module.
54380
54381 2007-10-03  Bruno Haible  <bruno@clisp.org>
54382
54383         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
54384         augmentation also for tests modules.
54385         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
54386         * modules/atexit-tests (Makefile.am): Likewise.
54387         * modules/binary-io-tests (Makefile.am): Likewise.
54388         * modules/c-strcase-tests (Makefile.am): Likewise.
54389         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
54390         * modules/canonicalize-tests (Makefile.am): Likewise.
54391         * modules/closein-tests (Makefile.am): Likewise.
54392         * modules/fprintf-posix-tests (Makefile.am): Likewise.
54393         * modules/freadahead-tests (Makefile.am): Likewise.
54394         * modules/fseek-tests (Makefile.am): Likewise.
54395         * modules/fseeko-tests (Makefile.am): Likewise.
54396         * modules/ftell-tests (Makefile.am): Likewise.
54397         * modules/ftello-tests (Makefile.am): Likewise.
54398         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
54399         * modules/isnanl-tests (Makefile.am): Likewise.
54400         * modules/lseek-tests (Makefile.am): Likewise.
54401         * modules/mbscasecmp-tests (Makefile.am): Likewise.
54402         * modules/mbscasestr-tests (Makefile.am): Likewise.
54403         * modules/mbschr-tests (Makefile.am): Likewise.
54404         * modules/mbscspn-tests (Makefile.am): Likewise.
54405         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
54406         * modules/mbspbrk-tests (Makefile.am): Likewise.
54407         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
54408         * modules/mbsrchr-tests (Makefile.am): Likewise.
54409         * modules/mbsspn-tests (Makefile.am): Likewise.
54410         * modules/mbsstr-tests (Makefile.am): Likewise.
54411         * modules/printf-posix-tests (Makefile.am): Likewise.
54412         * modules/snprintf-posix-tests (Makefile.am): Likewise.
54413         * modules/sprintf-posix-tests (Makefile.am): Likewise.
54414         * modules/tsearch-tests (Makefile.am): Likewise.
54415         * modules/uniname/uniname-tests (Makefile.am): Likewise.
54416         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
54417         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
54418         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
54419         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
54420         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
54421         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
54422         * modules/vprintf-posix-tests (Makefile.am): Likewise.
54423         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
54424         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
54425         * modules/xstrtoimax-tests (Makefile.am): Likewise.
54426         * modules/xstrtol-tests (Makefile.am): Likewise.
54427         * modules/xstrtoumax-tests (Makefile.am): Likewise.
54428         * modules/yesno-tests (Makefile.am): Likewise.
54429
54430 2007-10-03  Bruno Haible  <bruno@clisp.org>
54431
54432         * modules/trunc-tests: New file.
54433         * tests/test-trunc.c: New file.
54434
54435         * modules/trunc: New file.
54436         * lib/trunc.c: New file.
54437         * m4/trunc.m4: New file.
54438         * lib/math.in.h (trunc): New declaration.
54439         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
54440         HAVE_DECL_TRUNC.
54441         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
54442         HAVE_DECL_TRUNC.
54443         * doc/functions/trunc.texi: Mention the 'trunc' module.
54444
54445 2007-10-03  Bruno Haible  <bruno@clisp.org>
54446
54447         * tests/test-fpending.c: New file, mostly copied
54448         from coreutils/lib/t-fpending.c.
54449         * modules/fpending-tests: New file.
54450
54451 2007-10-03  Bruno Haible  <bruno@clisp.org>
54452
54453         Port the stdio extensions to QNX (untested).
54454         * lib/fseterr.c (fseterr): Add support for QNX.
54455         * lib/fbufmode.c (fbufmode): Likewise.
54456         * lib/freadable.c (freadable): Likewise.
54457         * lib/fwritable.c (fwritable): Likewise.
54458         * lib/freading.c (freading): Likewise.
54459         * lib/fwriting.c (fwriting): Likewise.
54460         * lib/freadahead.c (freadahed): Likewise.
54461         * lib/fpurge.c (fpurge): Likewise.
54462         * lib/fseeko.c (rpl_fseeko): Likewise.
54463
54464 2007-10-03  Bruno Haible  <bruno@clisp.org>
54465             Jim Meyering  <jim@meyering.net>
54466             Eric Blake  <ebb9@byu.net>
54467
54468         * doc/relocatable.texi: Use @command instead of @program.
54469
54470 2007-10-02  Jim Meyering  <jim@meyering.net>
54471
54472         Perform one more "_.h" -> ".in.h" substitution.
54473         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
54474         instead of unistd_.h here, too.
54475
54476 2007-10-01  Bruno Haible  <bruno@clisp.org>
54477
54478         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
54479         Needed for the alloca-opt module.
54480
54481 2007-09-30  Bruno Haible  <bruno@clisp.org>
54482
54483         * lib/alloca.in.h: Renamed from lib/alloca_.h.
54484         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
54485         alloca_.h.
54486         * lib/argz.in.h: Renamed from lib/argz_.h.
54487         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
54488         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
54489         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
54490         byteswap_.h.
54491         * lib/dirent.in.h: Renamed from lib/dirent_.h.
54492         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
54493         dirent_.h.
54494         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
54495         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
54496         fcntl_.h.
54497         * lib/float.in.h: Renamed from lib/float_.h.
54498         * modules/float (Files, Makefile.am): Use float.in.h instead of
54499         float_.h.
54500         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
54501         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
54502         fnmatch_.h.
54503         * lib/getopt.in.h: Renamed from lib/getopt_.h.
54504         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
54505         getopt_.h.
54506         * lib/glob.in.h: Renamed from lib/glob_.h.
54507         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
54508         * lib/iconv.in.h: Renamed from lib/iconv_.h.
54509         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
54510         iconv_.h.
54511         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
54512         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
54513         inttypes_.h.
54514         * lib/locale.in.h: Renamed from lib/locale_.h.
54515         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
54516         locale_.h.
54517         * lib/math.in.h: Renamed from lib/math_.h.
54518         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
54519         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
54520         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
54521         of netinet_in_.h. Add dependency.
54522         * lib/poll.in.h: Renamed from lib/poll_.h.
54523         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
54524         * lib/search.in.h: Renamed from lib/search_.h.
54525         * modules/search (Files, Makefile.am): Use search.in.h instead of
54526         search_.h.
54527         * lib/signal.in.h: Renamed from lib/signal_.h.
54528         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
54529         _signal.h.
54530         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
54531         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
54532         stdbool_.h.
54533         * lib/stdint.in.h: Renamed from lib/stdint_.h.
54534         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
54535         stdint_.h.
54536         * lib/stdio.in.h: Renamed from lib/stdio_.h.
54537         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
54538         stdio_.h.
54539         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
54540         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
54541         stdlib_.h.
54542         * lib/string.in.h: Renamed from lib/string_.h.
54543         * modules/string (Files, Makefile.am): Use string.in.h instead of
54544         string_.h.
54545         * doc/gnulib-tool.texi (Initial import): Update.
54546         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
54547         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
54548         of sys_select_.h. Add dependency.
54549         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
54550         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
54551         of sys_socket_.h.
54552         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
54553         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
54554         sys_stat_.h.
54555         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
54556         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
54557         sys_time_.h.
54558         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
54559         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
54560         sysexits_.h.
54561         * lib/time.in.h: Renamed from lib/time_.h.
54562         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
54563         * lib/unistd.in.h: Renamed from lib/unistd_.h.
54564         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
54565         unistd_.h.
54566         * lib/wchar.in.h: Renamed from lib/wchar_.h.
54567         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
54568         wchar_.h.
54569         * lib/wctype.in.h: Renamed from lib/wctype_.h.
54570         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
54571         wctype_.h.
54572         * build-aux/bootstrap (slurp): Update.
54573         * lib/.cppi-disable: Update.
54574
54575 2007-09-30  Bruno Haible  <bruno@clisp.org>
54576
54577         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
54578         Needed on BeOS.
54579
54580 2007-09-30  Bruno Haible  <bruno@clisp.org>
54581
54582         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
54583
54584 2007-09-29  Bruno Haible  <bruno@clisp.org>
54585
54586         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
54587
54588 2007-09-29  Bruno Haible  <bruno@clisp.org>
54589
54590         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
54591         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
54592         * build-aux/install-reloc: Compile also areadlink.c.
54593         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
54594
54595 2007-09-29  Bruno Haible  <bruno@clisp.org>
54596
54597         * gnulib-tool (func_emit_initmacro_done): Indentation.
54598
54599 2007-09-29  Bruno Haible  <bruno@clisp.org>
54600
54601         * README: Add CVS checkout update instructions.
54602         Info from Bob Proulx <bob@proulx.com>.
54603
54604 2007-09-28  Eric Blake  <ebb9@byu.net>
54605
54606         Provide move-if-change.
54607         * build-aux/move-if-change: New file, based on best practice
54608         rather than any canonical upstream location.
54609
54610 2007-09-28  Jim Meyering  <jim@meyering.net>
54611
54612         Fix canonicalize loop-detection corner case.
54613         Do not attempt to stat the symlink values stored via seen_triple.
54614         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
54615         on linux-2.6.18, (but not 2.6.22).
54616         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
54617         triple_compare.  The former compares dev,ino,filename, while the latter
54618         would actually stat dirname(filename) when dev and ino were equal.
54619         * lib/hash-triple.c: Install <string.h>.
54620         (STREQ): Define.
54621         (triple_compare_ino_str): New function.
54622         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
54623
54624 2007-09-28  Eric Blake  <ebb9@byu.net>
54625
54626         Enforce that AC_REPLACE_FUNCS files exist.
54627         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
54628         override check for typos.
54629
54630         Fix test-closein on Solaris 10.
54631         * tests/test-closein.c (main): Don't assume stdin can be inherited
54632         closed on all systems.
54633         * tests/test-closein.sh: Likewise.
54634         Reported by Piotr Tarnowski.
54635
54636 2007-09-28  Jim Meyering  <jim@meyering.net>
54637
54638         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
54639
54640 2007-09-27  Jim Meyering  <jim@meyering.net>
54641
54642         canonicalize: Avoid a false-positive cycle failure.
54643         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
54644         Sort.  Remove cycle-check.
54645         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
54646         not cycle-check.h.
54647         (seen_triple): New function.
54648         (canonicalize_filename_mode): Use it instead of cycle-check.
54649         * tests/test-canonicalize.c: Add a test for this bug.
54650         * tests/test-canonicalize.sh: Set up and run the test.
54651
54652         New module, file-set, from coreutils.
54653         * modules/file-set: Define it.
54654         * lib/file-set.c, lib/file-set.h: Implement.
54655
54656         New module, hash-triple, from coreutils.
54657         * modules/hash-triple: Define it.
54658         * lib/hash-triple.c, lib/hash-triple.h: Implement.
54659
54660 2007-09-25  Eric Blake  <ebb9@byu.net>
54661
54662         Fix strerror on Interix.
54663         * lib/string_.h (strerror): Declare replacement.
54664         * doc/functions/strerror.texi (strerror): Document the Interix
54665         shortcoming.
54666         * modules/string (Makefile.am): Support new hooks.
54667         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
54668         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
54669         gl_FUNC_STRERROR_SEPARATE.
54670         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
54671         * lib/strerror.c (rpl_strerror): Provide replacement.
54672         * modules/strerror (Depends-on): Add string.
54673         (configure.ac): Detect use of module.
54674         * tests/test-strerror.c: New file.
54675         * modules/strerror-tests: New test module.
54676         * modules/argp (Depends-on): Add strerror.
54677         * modules/error (Depends-on): Likewise.
54678         Reported by Martin Koeppe.
54679
54680 2007-09-24  Bruno Haible  <bruno@clisp.org>
54681
54682         * README: Update git instructions.
54683
54684 2007-09-24  Eric Blake  <ebb9@byu.net>
54685
54686         Revert fpending breakage from 2007-09-08.
54687         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
54688         __fpending.c.
54689
54690 2007-09-24  Jim Meyering  <jim@meyering.net>
54691
54692         filenamecat.c: Add a test.
54693         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
54694         showing how the function works when DIR is the empty string.
54695
54696 2007-09-21  Simon Josefsson  <simon@josefsson.org>
54697
54698         * tests/test-canonicalize.sh: Turn on executable bit.
54699
54700 2007-09-19  Eric Blake  <ebb9@byu.net>
54701
54702         * README: Update CVS instructions.
54703
54704 2007-09-18  Bruno Haible  <bruno@clisp.org>
54705
54706         * modules/areadlink: New file.
54707         * lib/areadlink.h (areadlink): New declaration.
54708         * lib/areadlink.c: New file, based on lib/xreadlink.c.
54709
54710 2007-09-17  Jim Meyering  <jim@meyering.net>
54711
54712         * lib/savewd.c (ESTALE) [!defined]: Define.
54713         Reported to be required on Interix by Martin Koeppe.
54714
54715 2007-09-17  Bruno Haible  <bruno@clisp.org>
54716
54717         * gnulib-tool (func_version): Use $version.
54718
54719 2007-09-16  Bruno Haible  <bruno@clisp.org>
54720
54721         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
54722         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
54723         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
54724         Reported by Greg Schafer <gschafer@zip.com.au>.
54725
54726 2007-09-15  Bruno Haible  <bruno@clisp.org>
54727
54728         * gnulib-tool (sed): Try a little harder to make bash understand the
54729         alias.
54730         Reported by Bruce Korb <bruce.korb@gmail.com>.
54731
54732 2007-09-13  Eric Blake  <ebb9@byu.net>
54733
54734         * ChangeLog: Remove conflict markers.
54735
54736 2007-09-13  Simon Josefsson  <simon@josefsson.org>
54737
54738         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
54739         Reported by Bruno Haible <bruno@clisp.org>.
54740
54741 2007-09-12  Bruno Haible  <bruno@clisp.org>
54742
54743         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
54744         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
54745         is not defined.
54746
54747 2007-09-12  Eric Blake  <ebb9@byu.net>
54748
54749         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
54750         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
54751         Autoconf definition.
54752         * modules/euidaccess (Depends-on): Add extensions, for
54753         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
54754         * modules/fnmatch (Depends-on): Likewise.
54755         * modules/getaddrinfo (Depends-on): Likewise.
54756         * modules/getdelim (Depends-on): Likewise.
54757         * modules/getline (Depends-on): Likewise.
54758         * modules/getsubopt (Depends-on): Likewise.
54759         * modules/gettext (Depends-on): Likewise.
54760         * modules/group-member (Depends-on): Likewise.
54761         * modules/mbchar (Depends-on): Likewise.
54762         * modules/memmem (Depends-on): Likewise.
54763         * modules/mempcpy (Depends-on): Likewise.
54764         * modules/memrchr (Depends-on): Likewise.
54765         * modules/pagealign_alloc (Depends-on): Likewise.
54766         * modules/readutmp (Depends-on): Likewise.
54767         * modules/stpcpy (Depends-on): Likewise.
54768         * modules/stpncpy (Depends-on): Likewise.
54769         * modules/strchrnul (Depends-on): Likewise.
54770         * modules/strndup (Depends-on): Likewise.
54771         * modules/strsep (Depends-on): Likewise.
54772         * modules/strverscmp (Depends-on): Likewise.
54773         * modules/vasprintf (Depends-on): Likewise.
54774         * modules/wcwidth (Depends-on): Likewise.
54775         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
54776         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
54777         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
54778         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
54779         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
54780         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
54781         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
54782         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
54783         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
54784         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
54785         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
54786         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
54787         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
54788         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
54789         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
54790         * m4/readutmp.m4 (gl_READUTMP): Likewise.
54791         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
54792         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
54793         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
54794         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
54795         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
54796         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
54797         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
54798         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
54799         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
54800         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
54801         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
54802         so that lock.m4 can be used in gettext without extensions module.
54803
54804 2007-09-11  Bruno Haible  <bruno@clisp.org>
54805
54806         * m4/isc-posix.m4: Remove file.
54807         Suggested by Eric Blake.
54808
54809 2007-09-11  Eric Blake  <ebb9@byu.net>
54810
54811         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
54812
54813 2007-09-10  Bruno Haible  <bruno@clisp.org>
54814
54815         * posix-modules: Fix typo in error message.
54816         Reported by Matt <mkraai@beckman.com>.
54817
54818 2007-09-09  Bruno Haible  <bruno@clisp.org>
54819
54820         * doc/functions/getdelim.texi: Update list of platforms lacking the
54821         function.
54822         * doc/functions/getline.texi: Likewise.
54823
54824 2007-09-09  Jim Meyering  <jim@meyering.net>
54825
54826         * lib/hash.c (hash_initialize): Detect calloc failure.
54827         Reported by Bruno Haible.
54828
54829 2007-09-09  Bruno Haible  <bruno@clisp.org>
54830
54831         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
54832         malloc or realloc fails.
54833
54834 2007-09-09  Bruno Haible  <bruno@clisp.org>
54835
54836         * modules/getcwd (Depends-on): Add malloc-posix.
54837         * modules/glob (Depends-on): Likewise.
54838         * modules/putenv (Depends-on): Likewise.
54839         * modules/strdup (Depends-on): Likewise.
54840         * modules/getdelim (Depends-on): Add realloc-posix.
54841         * modules/read-file (Depends-on): Likewise.
54842
54843 2007-09-09  Bruno Haible  <bruno@clisp.org>
54844
54845         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
54846         (gl_FUNC_MALLOC_POSIX): Require it.
54847         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
54848         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
54849         * modules/realloc (Files): Add m4/malloc.m4.
54850         * modules/calloc (Files): Likewise.
54851
54852 2007-09-09  Bruno Haible  <bruno@clisp.org>
54853
54854         * modules/malloc-posix: New file.
54855         * modules/malloc (Depends-on): Add malloc-posix.
54856         * lib/malloc.c: Include errno.h.
54857         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
54858         and a POSIX-compatible malloc into a single function. Set ENOMEM
54859         when returning NULL.
54860         * m4/malloc.m4: New file.
54861         * doc/functions/malloc.texi: Mention the malloc-posix module.
54862         * lib/stdlib_.h (malloc): New declaration.
54863         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
54864         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
54865         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
54866         and HAVE_MALLOC_POSIX.
54867
54868 2007-09-09  Bruno Haible  <bruno@clisp.org>
54869
54870         * modules/realloc-posix: New file.
54871         * modules/realloc (Depends-on): Add realloc-posix.
54872         * lib/realloc.c: Include errno.h.
54873         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
54874         and a POSIX-compatible realloc into a single function. Set ENOMEM
54875         when returning NULL.
54876         * m4/realloc.m4: New file.
54877         * doc/functions/realloc.texi: Mention the realloc-posix module.
54878         * lib/stdlib_.h (realloc): New declaration.
54879         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
54880         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
54881         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
54882         and HAVE_REALLOC_POSIX.
54883
54884 2007-09-09  Bruno Haible  <bruno@clisp.org>
54885
54886         * modules/calloc-posix: New file.
54887         * modules/calloc (Depends-on): Add calloc-posix.
54888         * lib/calloc.c: Include errno.h.
54889         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
54890         and a POSIX-compatible calloc into a single function. Set ENOMEM
54891         when returning NULL.
54892         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
54893         * doc/functions/calloc.texi: Mention the calloc-posix module.
54894         * lib/stdlib_.h (calloc): New declaration.
54895         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
54896         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
54897         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
54898         and HAVE_CALLOC_POSIX.
54899
54900 2007-09-09  Bruno Haible  <bruno@clisp.org>
54901
54902         Allow for modules to show an arbitrary notice.
54903         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
54904         * gnulib-tool: New option --extract-notice.
54905         (func_usage): Document it.
54906         (sed_extract_prog): Update.
54907         (func_get_notice): New function.
54908         (func_modules_notice): New function.
54909         (func_import, func_create_testdir): Invoke it.
54910         Suggested by Jim Meyering.
54911
54912 2007-09-09  Bruno Haible  <bruno@clisp.org>
54913
54914         * gnulib-tool: New options --verbose, --quiet.
54915         (func_usage): Document them.
54916         (verbose): New variable.
54917         (func_execute_command): New function.
54918         (func_import): Don't show the module list and the file list if
54919         $verbose < 0.
54920         (func_create_testdir): Likewise. Use func_execute_command.
54921         (func_create_megatestdir): Use func_execute_command.
54922
54923 2007-09-08  Bruno Haible  <bruno@clisp.org>
54924
54925         * gnulib-tool (func_import): Prefer rsync over wget when available,
54926         for fetching the PO files.
54927
54928 2007-09-08  Bruno Haible  <bruno@clisp.org>
54929
54930         * posix-modules: New file. Portions copied from gnulib-tool.
54931         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
54932
54933 2007-09-08  Jim Meyering  <jim@meyering.net>
54934
54935         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
54936         * lib/fpending.h: Rename from __fpending.h.
54937         * lib/fpending.c: Rename from __fpending.c.
54938         Include "fpending.h", not "__fpending.h".
54939         * lib/__fpending.h, lib/__fpending.c: Remove files.
54940         * modules/fpending (Files): Reflect new file names.
54941         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
54942
54943 2007-09-08  Bruno Haible  <bruno@clisp.org>
54944
54945         * m4/inttypes-h.m4: Remove stub file.
54946
54947 2007-09-07  Simon Josefsson  <simon@josefsson.org>
54948
54949         * doc/headers/stdint.texi: Discuss #include_next issue.
54950
54951 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
54952
54953         * build-aux/bootstrap: Remove obsolete comment about wget --help.
54954
54955 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54956
54957         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
54958         in variable name.
54959
54960 2007-09-03  Jim Meyering  <jim@meyering.net>
54961
54962         New module: git-version-gen.
54963         * modules/git-version-gen: New file.
54964
54965         Import changes from coreutils for bootstrap script.
54966
54967         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
54968
54969         bootstrap: uses rsync to download the .po files
54970         * build-aux/bootstrap (po_download_command_format): New global.
54971         (download_po_files): Use rsync.
54972         (update_po_files): Don't remove .po files after download,
54973         so future rsync runs can take advantage of the copies.
54974
54975         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
54976
54977         Solve the unnecessary-.po-file-regeneration problem once and for all.
54978         * build-aux/bootstrap (download_po_files): New function, renamed from
54979         get_translations.  Now, downloads, but doesn't update LINGUAS.
54980         (update_po_files): New function.
54981
54982         bootstrap: Ignore more.
54983         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
54984         uniwidth to e.g., lib/.gitignore.
54985         (slurp): Handle the sys_stat_.h -> sys mapping, too.
54986
54987         * build-aux/bootstrap: New setting: vc_ignore.
54988         (insert_sorted_if_absent): Create $file if absent.
54989         Adapt to new, possibly empty, list: $vc_ignore.
54990
54991         bootstrap: generate more ignorable names
54992         * build-aux/bootstrap (slurp): When generating ignorable names,
54993         also map .sin to .sed, .gperf to .c, and .y to .c.
54994
54995 2007-09-03  Jim Meyering  <jim@meyering.net>
54996
54997         * build-aux/git-version-gen: New file, from coreutils.  For details, see
54998         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
54999
55000 2007-09-02  Bruno Haible  <bruno@clisp.org>
55001
55002         Fix mis-recognition of 'mcs' on QNX 6.
55003         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
55004         output contains the string "Mono".
55005         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
55006         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
55007
55008 2007-09-01  Bruno Haible  <bruno@clisp.org>
55009
55010         Fix collision between uniwidth/* and linebreak modules.
55011         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
55012         u32_width): Remove declarations.
55013         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
55014         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
55015         streq3, streq2, streq1, streq0): Remove functions.
55016         (STREQ): Remove macro.
55017         (is_cjk_encoding): Remove function.
55018         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
55019         (uc_width, u8_width, u16_width, u32_width): Remove functions.
55020         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
55021         * NEWS: Document the change.
55022
55023 2007-09-01  Bruno Haible  <bruno@clisp.org>
55024
55025         * lib/streq.h: Add double-inclusion guard.
55026
55027 2007-09-01  Karl Berry  <karl@gnu.org>
55028
55029         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
55030
55031 2007-08-28  Jim Meyering  <jim@meyering.net>
55032
55033         Rename mreadlink_with_size to areadlink_with_size.
55034         * NEWS: Document the change.
55035         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
55036         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
55037         * lib/mreadlink.h: Rename this to...
55038         * lib/areadlink.h: ...this.
55039         * modules/mreadlink-with-size: Rename this to...
55040         * modules/areadlink-with-size: ...this.
55041         * lib/canonicalize.c: Reflect the renaming.
55042         * modules/canonicalize: Likewise.
55043
55044 2007-08-26  Bruno Haible  <bruno@clisp.org>
55045
55046         * gnulib-tool (func_import): When deciding which files to remove,
55047         consider also dangling symbolic links.
55048         Reported by Eric Blake.
55049
55050 2007-08-26  Bruno Haible  <bruno@clisp.org>
55051
55052         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
55053
55054 2007-08-23  Simon Josefsson  <simon@josefsson.org>
55055
55056         * lib/readline.c: Don't include getline.h, the prototype is now
55057         found in stdio.h.
55058
55059 2007-08-23  Jim Meyering  <jim@meyering.net>
55060
55061         Getdelim touchup.
55062         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
55063         around the funlockfile call, since funlockfile never sets errno.
55064         Don't set errno upon failed realloc.
55065
55066 2007-08-22  Eric Blake  <ebb9@byu.net>
55067
55068         Getline touchups.
55069         * lib/getdelim.c (getdelim): Revert regression that required *n to
55070         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
55071         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
55072         getdelim, rather than whether implementation is missing.
55073         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
55074         * lib/stdio_.h (getline): Also declare if replacement is
55075         required.
55076         * doc/functions/getdelim.texi: New file.
55077         * doc/functions/getline.texi: Likewise.
55078         * doc/gnulib.texi (Function Substitutes): Add new files.
55079         Reported by Bruno Haible.
55080
55081 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
55082
55083         * users.txt: Add Guile.
55084
55085 2007-08-22  Eric Blake  <ebb9@byu.net>
55086
55087         * tests/test-getdelim.c (main): Use remove, not unlink.
55088         * tests/test-getline.c (main): Likewise.
55089
55090         Move getline and getdelim into stdio.h, per POSIX 200x.
55091         * modules/getline (Files): Remove getline.h.
55092         (Depends-on): Add stdio.
55093         (configure.ac): Add module indicator.
55094         * modules/getdelim (Files): Remove getdelim.h.
55095         (Depends-on): Add stdio.
55096         (configure.ac): Add module indicator.
55097         * modules/stdio (Makefile.am): Work with new indicators.
55098         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
55099         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
55100         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
55101         * lib/getdelim.h: Delete.
55102         * lib/getline.h: Delete.
55103         * lib/stdio_.h (getdelim, getline): Declare.
55104         * modules/getdelim-tests: New module.
55105         * modules/getline-tests: Likewise.
55106         * tests/test-getdelim.c: New file.
55107         * tests/test-getline.c: Likewise.
55108         * NEWS: Document the change.
55109         * lib/getline.c: Update choice of header.
55110         * lib/csharpcomp.c: Likewise.
55111         * lib/getpass.c: Likewise.
55112         * lib/javacomp.c: Likewise.
55113         * lib/javaversion.c: Likewise.
55114         * lib/yesno.c: Likewise.
55115         * lib/getdelim.c: Likewise.
55116         (getdelim): Set errno on failure, and avoid memory leak.
55117
55118 2007-08-19  Bruno Haible  <bruno@clisp.org>
55119
55120         * modules/closein (Depends-on): Add freadahead.
55121         * lib/closein.c: Include freadahead.h.
55122         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
55123         is zero.
55124
55125 2007-08-19  Bruno Haible  <bruno@clisp.org>
55126
55127         * modules/freadahead-tests: New file.
55128         * tests/test-freadahead.sh: New file.
55129         * tests/test-freadahead.c: New file.
55130
55131         * modules/freadahead: New file.
55132         * lib/freadahead.h: New file.
55133         * lib/freadahead.c: New file.
55134         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
55135         fbufmode, fpurge, freadable, fwritable.
55136
55137 2007-08-19  Eric Blake  <ebb9@byu.net>
55138
55139         Test yesno in combination with closein.
55140         * lib/yesno.c (yesno): Document use of stdin.
55141         * modules/yesno-tests (Files): New module.
55142         * tests/test-yesno.c (main): New file.
55143         * tests/test-yesno.sh: Likewise.
55144
55145 2007-08-19  Bruno Haible  <bruno@clisp.org>
55146
55147         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
55148         * lib/fseeko.c (rpl_fseeko): Likewise.
55149         * lib/fseterr.c (fseterr): Likewise.
55150
55151 2007-08-19  Bruno Haible  <bruno@clisp.org>
55152
55153         * tests/test-lseek.c (main): Disable a test for BeOS.
55154         * doc/functions/lseek.texi: Document the BeOS bug.
55155
55156 2007-08-19  Bruno Haible  <bruno@clisp.org>
55157             Eric Blake  <ebb9@byu.net>
55158
55159         * lib/lseek.c: Include <sys/stat.h>.
55160         (rpl_lseek): Add workaround code also for Unix platforms.
55161         Needed for BeOS.
55162         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
55163         * doc/functions/lseek.texi: Document BeOS definiency.
55164
55165 2007-08-18  Bruno Haible  <bruno@clisp.org>
55166
55167         * modules/fstrcmp-tests: New file.
55168         * tests/test-fstrcmp.c: New file.
55169
55170 2007-08-18  Bruno Haible  <bruno@clisp.org>
55171
55172         * modules/fstrcmp: New file, from GNU gettext with modifications.
55173         * lib/fstrcmp.h: New file, from GNU gettext.
55174         * lib/fstrcmp.c: New file, from GNU gettext.
55175         * MODULES.html.sh (String handling): Add fstrcmp.
55176
55177 2007-08-18  Bruno Haible  <bruno@clisp.org>
55178
55179         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
55180         'bool'.
55181         (diag, compareseq): Remove const from the ctxt argument.
55182         (USE_HEURISTIC): Undefine at the end.
55183
55184 2007-08-18  Jim Meyering  <jim@meyering.net>
55185
55186         New file: lib/idcache.h
55187         * NEWS: Mention the addition.
55188         * modules/idcache (Files): Add lib/idcache.h
55189         * lib/idcache.c: Include "idcache.h".
55190         Don't include <sys/types.h>.
55191         Add a FIXME comment.
55192         Move file-scoped "static" declarations to the top.
55193         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
55194
55195 2007-08-17  Bruno Haible  <bruno@clisp.org>
55196         and Paul Eggert  <eggert@cs.ucla.edu>
55197
55198         * MODULES.html.sh: Add diffseq.
55199         * modules/diffseq: New file.
55200         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
55201         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
55202
55203 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
55204
55205         Import changes from coreutils for bootstrap script.
55206
55207         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
55208
55209         * build-aux/bootstrap (slurp): Work even in environments where
55210         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
55211         current code does not slurp files whose names start with ".", and
55212         this looks like it might be a troublesome area.
55213
55214         2007-07-11  Jim Meyering  <jim@meyering.net>
55215
55216         If there's a GPL vN copyright comment, require that N == 3.
55217
55218         2007-07-08  Jim Meyering  <jim@meyering.net>
55219
55220         Run the coreutils-specific code only if tests/Makefile.am.in exists.
55221         * build-aux/bootstrap (mam_template): Move definition out of loop.
55222
55223         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
55224
55225         * build-aux/bootstrap (symlink_to_dir): Rename function from
55226         symlink_to_gnulib.  Add a directory parameter.  Update all
55227         callers.
55228         (cp_mark_as_generated): Also check for -- and link to -- files in
55229         gl/.
55230
55231         2007-07-08  Jim Meyering  <jim@meyering.net>
55232
55233         Adapt to deeper hierarchy in gnulib.
55234         * build-aux/bootstrap (symlink_to_dir): If the destination
55235         directory doesn't exist, create it. This is required at least for
55236         "lib/uniwidth/cjk.h".
55237
55238         2007-05-15  Jim Meyering  <jim@meyering.net>
55239
55240         * build-aux/bootstrap: Now that generated Makefile.am files
55241         are no longer under version control, they must be created at
55242         bootstrap time.
55243
55244 2007-08-14  Ben Pfaff  <blp@gnu.org>
55245
55246         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
55247
55248 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
55249
55250         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
55251         given the changes below.
55252         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
55253         even on hosts that have padding bits beyond the supported 64.
55254
55255 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
55256
55257         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
55258         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
55259         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
55260         depends on it.
55261         (xstrtol_error): Remove.
55262         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
55263         but with a different signature.
55264         (ATTRIBUTE_NORETURN, __attribute__): New macros.
55265         * lib/xstrtol-error.c: Include exitfail.h.
55266         (xstrtol_fatal): New function, with a different signature from the
55267         old xstrtol_error, so that the caller need not worry about passing
55268         in an exit status, or about storage management of the option argument.
55269         (xstrtol_error): Now a static function.  Redo signature to
55270         implement xstrtol_fatal.  Output the correct number of hyphens in
55271         front of the option so that the caller need not worry about
55272         storage management.
55273         (N_): New macro.
55274         (_): Remove; not used now.
55275         * modules/xstrtol: Depend on getopt.
55276         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
55277         of old STRTOL_FATAL_ERROR macro.
55278         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
55279         of test program.
55280         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
55281         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
55282
55283 2007-08-08  Eric Blake  <ebb9@byu.net>
55284
55285         * lib/xstrtol-error.c: Add missing include.
55286
55287         Move xstrtol messages into gnulib domain, when --pobase is used.
55288         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
55289         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
55290         * modules/xstrtol (Files): Distribute new file.
55291         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
55292         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
55293         * tests/test-xstrtol.c: ...into new file.
55294         * tests/test-xstrtoul.c: Also test xstrtoul.
55295         * tests/test-xstrtoimax.c: Also test xstrtoimax.
55296         * tests/test-xstrtoumax.c: Also test xstrtoumax.
55297         * tests/test-xstrtol.sh: Drive the tests.
55298         * tests/test-xstrtoimax.sh: Likewise.
55299         * tests/test-xstrtoumax.sh: Likewise.
55300         * modules/xstrtol-tests: New module.
55301         * modules/xstrtoimax-tests: Likewise.
55302         * modules/xstrtoumax-tests: Likewise.
55303
55304 2007-08-08  Jim Meyering  <jim@meyering.net>
55305
55306         New function: mfile_name_concat.
55307         * lib/filenamecat.c (mfile_name_concat): New function, just like
55308         file_name_concat, but return NULL upon failure rather than exiting
55309         with a diagnostic.
55310         * lib/filenamecat.h: Declare it.
55311
55312 2007-08-07  Bruno Haible  <bruno@clisp.org>
55313
55314         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
55315         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
55316         warning from gcc.
55317         Reported by Eric Blake.
55318
55319 2007-08-07  Simon Josefsson  <simon@josefsson.org>
55320
55321         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
55322         * modules/crypto/arcfour (License): Likewise.
55323         * modules/crypto/des-tests (License): Likewise.
55324         * modules/crypto/gc-arctwo-tests (License): Likewise.
55325         * modules/crypto/gc-des-tests (License): Likewise.
55326         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
55327         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
55328         * modules/crypto/gc-md2-tests (License): Likewise.
55329         * modules/crypto/gc-md4-tests (License): Likewise.
55330         * modules/crypto/gc-md5-tests (License): Likewise.
55331         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
55332         * modules/crypto/gc-rijndael-tests (License): Likewise.
55333         * modules/crypto/gc-sha1-tests (License): Likewise.
55334         * modules/crypto/gc-tests (License): Likewise.
55335         * modules/crypto/hmac-md5 (License): Likewise.
55336         * modules/crypto/hmac-sha1 (License): Likewise.
55337         * modules/crypto/md2-tests (License): Likewise.
55338         * modules/crypto/md4-tests (License): Likewise.
55339         * modules/crypto/md5 (License): Likewise.
55340         * modules/crypto/rijndael (License): Likewise.
55341         * modules/crypto/sha1 (License): Likewise.
55342         * modules/memxor (License): Likewise.
55343
55344 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
55345         and Bruno Haible  <bruno@clisp.org>
55346
55347         * NEWS: Describe interface changes to human, xstrtol.
55348         * lib/human.h: Include <xstrtol.h>.
55349         (human_options): Return enum strtol_error, not int.  Remove
55350         bool arg; take int * instead.
55351         * lib/human.c: Don't include "gettext.h".
55352         (_): Remove; no longer used.
55353         Don't include <xstrtol.h>, since human.h does it.
55354         (human_options): Adjust to abovementioned interface changes.
55355         Do not report error to stderr; that's now the caller's
55356         responsibility.
55357         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
55358         interface change.
55359         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
55360         Str, Argument_type_string.  All uses changed.  Put " argument"
55361         in diagnostics to make them clearer.  Change wording of suffix
55362         message for clarity.
55363         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
55364         Argument_type_string.
55365         (STRTOL_FATAL_WARN): Remove; no longer used.
55366         * modules/human (Depends-on): Remove gettext-h.
55367
55368 2007-08-06  Simon Josefsson  <simon@josefsson.org>
55369
55370         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
55371
55372 2007-07-31  Bruno Haible  <bruno@clisp.org>
55373
55374         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
55375         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
55376         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
55377
55378 2007-07-31  Bruno Haible  <bruno@clisp.org>
55379
55380         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
55381         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
55382
55383 2007-07-30  Bruno Haible  <bruno@clisp.org>
55384
55385         * modules/base64 (License): Use the synonymous term "LGPLv2+".
55386         * modules/c-ctype (License): Likewise.
55387         * modules/c-strcase (License): Likewise.
55388         * modules/check-version (License): Likewise.
55389         * modules/iconv (License): Likewise.
55390         * modules/iconv_open (License): Likewise.
55391         * modules/read-file (License): Likewise.
55392         * modules/striconv (License): Likewise.
55393         * modules/strverscmp (License): Likewise.
55394         * modules/vasprintf (License): Likewise.
55395         * modules/crypto/des (License): Likewise.
55396         * modules/crypto/gc (License): Likewise.
55397         * modules/crypto/gc-arcfour (License): Likewise.
55398         * modules/crypto/gc-arctwo (License): Likewise.
55399         * modules/crypto/gc-des (License): Likewise.
55400         * modules/crypto/gc-hmac-md5 (License): Likewise.
55401         * modules/crypto/gc-hmac-sha1 (License): Likewise.
55402         * modules/crypto/gc-md2 (License): Likewise.
55403         * modules/crypto/gc-md4 (License): Likewise.
55404         * modules/crypto/gc-md5 (License): Likewise.
55405         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
55406         * modules/crypto/gc-random (License): Likewise.
55407         * modules/crypto/gc-rijndael (License): Likewise.
55408         * modules/crypto/gc-sha1 (License): Likewise.
55409         * modules/crypto/md2 (License): Likewise.
55410         * modules/crypto/md4 (License): Likewise.
55411
55412 2007-07-30  Jim Meyering  <jim@meyering.net>
55413
55414         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
55415         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
55416         it has valid stat data.  This bug would cause du not to count the
55417         sizes of inaccessible directories.
55418         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
55419         in <http://bugzilla.redhat.com/250077>.
55420
55421 2007-07-25  Peter O'Gorman  <peter@pogma.com>
55422             Bruno Haible  <bruno@clisp.org>
55423
55424         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
55425         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
55426         #include_next, gives a diagnostic about it, but reports no error in
55427         the exit code.
55428         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
55429
55430 2007-07-24  Ben Pfaff  <blp@gnu.org>
55431
55432         Improve name: "count-one-bits" is better than "popcount".
55433         * MODULES.html.sh: Update name.
55434         * lib/popcount.h: Renamed lib/count-one-bits.h.
55435         (popcount): Renamed count_one_bits.
55436         (popcountl): Renamed count_one_bits_l.
55437         (popcountll): Renamed count_one_bits_ll.
55438         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
55439         * modules/popcount: Renamed module/count-one-bits.
55440         * modules/popcount-tests: Renamed module/count-one-bits-tests.
55441         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
55442
55443 2007-07-23  Ben Pfaff  <blp@gnu.org>
55444
55445         * lib/popcount.h (popcount32): Reduce size of constants, to allow
55446         better code generation, and add U to large constants to avoid
55447         warnings, in non-GCC case.
55448         Suggested by Bruno Haible.
55449
55450 2007-07-23  Ben Pfaff  <blp@gnu.org>
55451
55452         * lib/popcount.h: Use verify_true instead of if...abort.
55453         * modules/popcount: Depend on verify module.
55454         Suggested by Jim Meyering.
55455
55456 2007-07-23  Bruno Haible  <bruno@clisp.org>
55457
55458         * gnulib-tool (func_import): Create a .cvsignore file also when the
55459         directory is not yet in CVS but the toplevel directory is. When
55460         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
55461         Reported by Karl Berry.
55462
55463 2007-07-22  Ben Pfaff  <blp@gnu.org>
55464
55465         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
55466         case.
55467         Suggested by Eric Blake.
55468
55469 2007-07-22  Ben Pfaff  <blp@gnu.org>
55470
55471         New module: popcount.
55472         * MODULES.html.sh: Add popcount.
55473         * modules/popcount: New file.
55474         * modules/popcount-tests: New file.
55475         * tests/test-popcount.c: New file.
55476         * lib/popcount.h: New file.
55477         * m4/popcount.m4: New file.
55478
55479 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
55480
55481         * build-aux/announce-gen: Update to GPLv3.
55482
55483         * build-aux/config.guess: Update from config.
55484
55485 2007-07-21  Bruno Haible  <bruno@clisp.org>
55486
55487         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
55488         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
55489
55490 2007-07-20  Jim Meyering  <jim@meyering.net>
55491
55492         * check-module: Diagnose a self-dependency.
55493
55494 2007-07-19  Bruno Haible  <bruno@clisp.org>
55495
55496         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
55497         empty.
55498         Reported by Eric Blake.
55499
55500 2007-07-18  Bruno Haible  <bruno@clisp.org>
55501
55502         * gnulib-tool: New options --po-base, --po-domain.
55503         (func_usage): Document them.
55504         (pobase, po_domain): New variables.
55505         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
55506         DEFAULT_TEXT_DOMAIN.
55507         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
55508         (func_import): Consider pobase and po_domain. Create a po/ directory.
55509         (func_create_testdir): Set pobase and po_domain to empty.
55510         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
55511         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
55512
55513 2007-07-18  Bruno Haible  <bruno@clisp.org>
55514
55515         * gnulib-tool (func_get_automake_snippet): Synthesize also an
55516         EXTRA_DIST augmentation for files in build-aux/.
55517
55518 2007-07-16  Bruno Haible  <bruno@clisp.org>
55519
55520         * modules/lseek (License): Use the synonymous term "LGPLv2+".
55521         * modules/getdelim (License): Likewise.
55522
55523 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55524
55525         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
55526         * modules/d-type (License): Likewise.
55527         * modules/extensions (License): Likewise.
55528         * modules/fnmatch (License): Likewise.
55529         * modules/fseeko (License): Likewise.
55530         * modules/getaddrinfo (License): Likewise.
55531         * modules/getline (License): Likewise.
55532         * modules/getlogin_r (License): Likewise.
55533         * modules/getpass (License): Likewise.
55534         * modules/gettimeofday (License): Likewise.
55535         * modules/glob (License): Likewise.
55536         * modules/inet_ntop (License): Likewise.
55537         * modules/malloc (License): Likewise.
55538         * modules/malloca (License): Likewise.
55539         * modules/memmem (License): Likewise.
55540         * modules/mempcpy (License): Likewise.
55541         * modules/memset (License): Likewise.
55542         * modules/minmax (License): Likewise.
55543         * modules/mktime (License): Likewise.
55544         * modules/netinet_in (License): Likewise.
55545         * modules/pathmax (License): Likewise.
55546         * modules/poll (License): Likewise.
55547         * modules/regex (License): Likewise.
55548         * modules/snprintf (License): Likewise.
55549         * modules/stdbool (License): Likewise.
55550         * modules/stdint (License): Likewise.
55551         * modules/stdio (License): Likewise.
55552         * modules/strcase (License): Likewise.
55553         * modules/strcasestr (License): Likewise.
55554         * modules/strdup (License): Likewise.
55555         * modules/string (License): Likewise.
55556         * modules/strndup (License): Likewise.
55557         * modules/strnlen (License): Likewise.
55558         * modules/strpbrk (License): Likewise.
55559         * modules/strptime (License): Likewise.
55560         * modules/strsep (License): Likewise.
55561         * modules/sys_select (License): Likewise.
55562         * modules/sys_socket (License): Likewise.
55563         * modules/sys_stat (License): Likewise.
55564         * modules/sys_time (License): Likewise.
55565         * modules/time (License): Likewise.
55566         * modules/time_r (License): Likewise.
55567         * modules/timegm (License): Likewise.
55568         * modules/unistd (License): Likewise.
55569         * modules/vsnprintf (License): Likewise.
55570         * modules/wctype (License): Likewise.
55571
55572 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55573
55574         * modules/argz (License): LGPLv2+.
55575
55576 2007-07-15  Karl Berry  <karl@gnu.org>
55577
55578         * doc/gnulib.texi: revise node structure per new fdl.texi.
55579
55580 2007-07-14  Bruno Haible  <bruno@clisp.org>
55581
55582         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
55583         the output file.
55584         * lib/uniname/uninames.h: Regenerated.
55585
55586 2007-07-14  Karl Berry  <karl@gnu.org>
55587
55588         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
55589         omitting sectioning and index commands.
55590
55591 2007-07-13  Bruno Haible  <bruno@clisp.org>
55592
55593         New gnulib-tool option --more-symlinks.
55594         * gnulib-tool (func_usage): Document --more-symlinks.
55595         (do_copyrights): New variable.
55596         Recognize option --more-symlinks.
55597         (func_import): Don't add a copyright notice transform to
55598         sed_transform_lib_file if do_copyrights is empty.
55599
55600 2007-07-13  Bruno Haible  <bruno@clisp.org>
55601
55602         * lib/vasnprintf.c (decimal_point_char): Define also if
55603         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
55604         && !NEED_PRINTF_DIRECTIVE_A.
55605         Reported by Clemens Koller <clemens.koller@anagramm.de> via
55606         Gary V. Vaughan <gary@gnu.org>.
55607
55608 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
55609
55610         * lib/inttypes_.h: Undo previous change, since it was fixed
55611         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
55612
55613 2007-07-13  Bruno Haible  <bruno@clisp.org>
55614
55615         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
55616         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
55617
55618 2007-07-13  Jim Meyering  <jim@meyering.net>
55619
55620         df: Don't fail for Tru64's "file-on-file mount".
55621         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
55622         so we fall through and use statfs instead.  Details here:
55623         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
55624         Reported by Albert Chin.
55625
55626 2007-07-13  Bruno Haible  <bruno@clisp.org>
55627
55628         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
55629         * modules/configmake (License): Likewise.
55630         * modules/gettext (License): Likewise.
55631         * modules/gettext-h (License): Likewise.
55632         * modules/include_next (License): Likewise.
55633         * modules/link-warning (License): Likewise.
55634         * modules/localcharset (License): Likewise.
55635         * modules/localename (License): Likewise.
55636         * modules/lock (License): Likewise.
55637         * modules/relocatable-lib-lgpl (License): Likewise.
55638         * modules/size_max (License): Likewise.
55639         * modules/vasnprintf (License): Likewise.
55640         * modules/wchar (License): Likewise.
55641         * modules/xsize (License): Likewise.
55642
55643 2007-07-13  Bruno Haible  <bruno@clisp.org>
55644
55645         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
55646         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
55647
55648 2007-07-12  Bruno Haible  <bruno@clisp.org>
55649
55650         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
55651         in the modules files.
55652
55653 2007-07-11  Karl Berry  <karl@gnu.org>
55654
55655         * MODULES.html.sh (func_module): use
55656          sed -e '\|^'"${includefile}"'$|d'
55657          instead of /.../d, to avoid errors on $includefile's containing /.
55658
55659 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
55660
55661         * gnulib-tool (func_import): Avoid duplication of --avoid
55662         statements
55663         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
55664         names to `_' in variable names.
55665
55666 2007-07-10  Eric Blake  <ebb9@byu.net>
55667
55668         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
55669         * NEWS: Document this change.
55670
55671 2007-07-08  Bruno Haible  <bruno@clisp.org>
55672
55673         Update to Unicode 5.0.
55674         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
55675         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
55676         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
55677         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
55678         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
55679         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
55680         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
55681         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
55682         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
55683         U+10A3F, U+1D242..U+1D244.
55684         (nonspacing_table_ind): Update.
55685         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
55686         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
55687
55688 2007-07-08  Bruno Haible  <bruno@clisp.org>
55689
55690         Update to Unicode 5.0.
55691         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
55692         code transform. Extend the name index field of unicode_name_to_code and
55693         unicode_code_to_name from 16 to 24 bits.
55694         * lib/uniname/uniname.c (unicode_character_name,
55695         unicode_name_character): Add the range 0x12xxx to the code transform.
55696         * lib/uniname/uninames.h: Regenerated.
55697         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
55698
55699 2007-07-07  Bruno Haible  <bruno@clisp.org>
55700
55701         * modules/wcwidth-tests: New file.
55702         * tests/test-wcwidth.c: New file.
55703
55704         Work around MacOS X wcwidth() bug.
55705         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
55706         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
55707         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
55708         original wcwidth in non-UTF-8 locales.
55709         * modules/wcwidth (Depends-on): Add localcharset, streq,
55710         uniwidth/width.
55711         * doc/functions/wcwidth.texi: Update.
55712
55713 2007-07-07  Bruno Haible  <bruno@clisp.org>
55714
55715         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
55716         (wcwidth): New declaration.
55717         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
55718         macros.
55719         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
55720         here. Prepare for creating <wchar.h> unconditionally.
55721         * modules/wchar (Depends-on): Add link-warning.
55722         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
55723         REPLACE_WCWIDTH, and GL_LINK_WARNING.
55724         * lib/wcwidth.h: Remove file.
55725         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
55726         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
55727         * modules/wcwidth (Files): Remove lib/wcwidth.h.
55728         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
55729         (Include): Replace wcwidth.h with <wchar.h>.
55730         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
55731         * lib/mbchar.h: Don't include wcwidth.h.
55732         * lib/mbswidth.c: Likewise.
55733         * NEWS: Mention the change.
55734
55735 2007-07-07  Bruno Haible  <bruno@clisp.org>
55736
55737         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
55738         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
55739         definition with an external declaration.
55740         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
55741         defined as a function. Remove AC_C_INLINE requirement.
55742         * modules/wcwidth (Files): Add lib/wcwidth.c.
55743         (Makefile.am): Remove redundant statement.
55744
55745 2007-07-07  Bruno Haible  <bruno@clisp.org>
55746
55747         * MODULES.html.sh (Unicode string functions): Add the new modules.
55748
55749         * tests/uniwidth/test-u32-strwidth.c: New file.
55750         * modules/uniwidth/u32-strwidth-tests: New file.
55751
55752         * lib/uniwidth/u32-strwidth.c: New file.
55753         * modules/uniwidth/u32-strwidth: New file.
55754
55755         * tests/uniwidth/test-u16-strwidth.c: New file.
55756         * modules/uniwidth/u16-strwidth-tests: New file.
55757
55758         * lib/uniwidth/u16-strwidth.c: New file.
55759         * modules/uniwidth/u16-strwidth: New file.
55760
55761         * tests/uniwidth/test-u8-strwidth.c: New file.
55762         * modules/uniwidth/u8-strwidth-tests: New file.
55763
55764         * lib/uniwidth/u8-strwidth.c: New file.
55765         * modules/uniwidth/u8-strwidth: New file.
55766
55767         * tests/uniwidth/test-u32-width.c: New file.
55768         * modules/uniwidth/u32-width-tests: New file.
55769
55770         * lib/uniwidth/u32-width.c: New file.
55771         * modules/uniwidth/u32-width: New file.
55772
55773         * tests/uniwidth/test-u16-width.c: New file.
55774         * modules/uniwidth/u16-width-tests: New file.
55775
55776         * lib/uniwidth/u16-width.c: New file.
55777         * modules/uniwidth/u16-width: New file.
55778
55779         * tests/uniwidth/test-u8-width.c: New file.
55780         * modules/uniwidth/u8-width-tests: New file.
55781
55782         * lib/uniwidth/u8-width.c: New file.
55783         * modules/uniwidth/u8-width: New file.
55784
55785         * tests/uniwidth/test-uc_width.c: New file.
55786         * modules/uniwidth/width-tests: New file.
55787
55788         * lib/uniwidth/width.c: New file, from GNU libiconv.
55789         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
55790         * modules/uniwidth/width: New file.
55791
55792         * lib/uniwidth.h: New file, from GNU libiconv.
55793         * modules/uniwidth/base: New file.
55794
55795 2007-07-07  Bruno Haible  <bruno@clisp.org>
55796
55797         * lib/uniname.h: New file, from GNU gettext.
55798         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
55799         * lib/uniname/uninames.h: New file, from GNU gettext.
55800         * lib/uniname/uniname.c: New file, from GNU gettext.
55801         * tests/uniname/test-uninames.sh: New file.
55802         * tests/uniname/test-uninames.c: New file, from GNU gettext.
55803         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
55804         * modules/uniname/base: New file.
55805         * modules/uniname/uniname: New file.
55806         * modules/uniname/uniname-tests: New file.
55807         * MODULES.html.sh (Unicode string functions): Add the new modules.
55808
55809 2007-07-06  Bruno Haible  <bruno@clisp.org>
55810
55811         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
55812
55813 2007-07-06  Bruno Haible  <bruno@clisp.org>
55814
55815         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
55816         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
55817         includes <cygwin/sys_time.h> which includes <sys/select.h> which
55818         include <sys/time.h>.
55819         Reported by Eric Blake.
55820
55821 2007-07-06  Eric Blake  <ebb9@byu.net>
55822
55823         Fix testing canonicalize on cygwin.
55824         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
55825         Revert patch from 2007-06-19.
55826         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
55827         canonicalize module is also in use.
55828         * tests/test-canonicalize.c: New file.
55829         * tests/test-canonicalize.sh: Likewise.
55830         * modules/canonicalize-tests: Likewise.
55831
55832 2007-07-06  Jim Meyering  <jim@meyering.net>
55833
55834         * lib/getugroups.c (getugroups): Detect getgrent failure.
55835         Adjust comment to reflect reality: this function may return -1.
55836
55837 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
55838
55839         * build-aux/bootstrap (TP_URL,get_translations): Update to use
55840         the new TP address.
55841         (usage): Fix typo
55842         (gnulib_mk): New variable.
55843
55844 2007-07-05  Jim Meyering  <jim@meyering.net>
55845
55846         Don't let endgrent clobber errno, no matter how improbable.
55847         * lib/getugroups.c (getugroups): Save and restore errno around
55848         endgrent call.
55849
55850         Close the group DB even when failing with 2^31 or more members.
55851         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
55852
55853 2007-07-04  Jim Meyering  <jim@meyering.net>
55854
55855         * lib/getugroups.h: New file.
55856         * lib/getugroups.c: Include "getugroups.h".
55857         Remove uses of "register" keyword.
55858         Move local variable, "cp", down into scope where used.
55859         Give "username" parameter the "const" attribute.
55860         * modules/getugroups (Files): Add lib/getugroups.h
55861
55862 2007-07-04  Karl Berry  <karl@gnu.org>
55863
55864         * MODULES.html.sh (func_all_modules): Complete rename of
55865         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
55866
55867 2007-07-02  Bruno Haible  <bruno@clisp.org>
55868
55869         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
55870         mode, when inttypes.h comes from gnulib.
55871         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
55872
55873 2007-07-02  Simon Josefsson  <simon@josefsson.org>
55874
55875         * NEWS: Mention lgpl module name change.
55876
55877         * modules/lgpl-2.1: Renamed from lgpl.
55878
55879         * NEWS: Mention gpl module name change.
55880
55881         * modules/gpl-3.0: New file, based on gpl-2.0.
55882
55883         * modules/gpl-2.0: Renamed from gpl.
55884
55885         * modules/gpl: Fix filename, doc/gpl.texi is now found at
55886         doc/gpl-2.0.texi.
55887
55888 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
55889
55890         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
55891         #define __STDC_LIMIT_MACROS temporarily while including
55892         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
55893         Problem reported by Joel E. Denny in
55894         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
55895
55896 2007-07-01  Bruno Haible  <bruno@clisp.org>
55897
55898         * lib/unistdio.h: New file.
55899         * lib/unistdio/u-asnprintf.h: New file.
55900         * lib/unistdio/u-asprintf.h: New file.
55901         * lib/unistdio/u-printf-args.c: New file.
55902         * lib/unistdio/u-printf-args.h: New file.
55903         * lib/unistdio/u-printf-parse.h: New file.
55904         * lib/unistdio/u-snprintf.h: New file.
55905         * lib/unistdio/u-sprintf.h: New file.
55906         * lib/unistdio/u-vasprintf.h: New file.
55907         * lib/unistdio/u-vsnprintf.h: New file.
55908         * lib/unistdio/u-vsprintf.h: New file.
55909         * lib/unistdio/ulc-asnprintf.c: New file.
55910         * lib/unistdio/ulc-asprintf.c: New file.
55911         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
55912         * lib/unistdio/ulc-printf-parse.c: New file.
55913         * lib/unistdio/ulc-snprintf.c: New file.
55914         * lib/unistdio/ulc-sprintf.c: New file.
55915         * lib/unistdio/ulc-vasnprintf.c: New file.
55916         * lib/unistdio/ulc-vasprintf.c: New file.
55917         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
55918         * lib/unistdio/ulc-vsnprintf.c: New file.
55919         * lib/unistdio/ulc-vsprintf.c: New file.
55920         * lib/unistdio/u8-asnprintf.c: New file.
55921         * lib/unistdio/u8-asprintf.c: New file.
55922         * lib/unistdio/u8-printf-parse.c: New file.
55923         * lib/unistdio/u8-snprintf.c: New file.
55924         * lib/unistdio/u8-sprintf.c: New file.
55925         * lib/unistdio/u8-vasnprintf.c: New file.
55926         * lib/unistdio/u8-vasprintf.c: New file.
55927         * lib/unistdio/u8-vsnprintf.c: New file.
55928         * lib/unistdio/u8-vsprintf.c: New file.
55929         * lib/unistdio/u8-u8-asnprintf.c: New file.
55930         * lib/unistdio/u8-u8-asprintf.c: New file.
55931         * lib/unistdio/u8-u8-snprintf.c: New file.
55932         * lib/unistdio/u8-u8-sprintf.c: New file.
55933         * lib/unistdio/u8-u8-vasnprintf.c: New file.
55934         * lib/unistdio/u8-u8-vasprintf.c: New file.
55935         * lib/unistdio/u8-u8-vsnprintf.c: New file.
55936         * lib/unistdio/u8-u8-vsprintf.c: New file.
55937         * lib/unistdio/u16-asnprintf.c: New file.
55938         * lib/unistdio/u16-asprintf.c: New file.
55939         * lib/unistdio/u16-printf-parse.c: New file.
55940         * lib/unistdio/u16-snprintf.c: New file.
55941         * lib/unistdio/u16-sprintf.c: New file.
55942         * lib/unistdio/u16-vasnprintf.c: New file.
55943         * lib/unistdio/u16-vasprintf.c: New file.
55944         * lib/unistdio/u16-vsnprintf.c: New file.
55945         * lib/unistdio/u16-vsprintf.c: New file.
55946         * lib/unistdio/u16-u16-asnprintf.c: New file.
55947         * lib/unistdio/u16-u16-asprintf.c: New file.
55948         * lib/unistdio/u16-u16-snprintf.c: New file.
55949         * lib/unistdio/u16-u16-sprintf.c: New file.
55950         * lib/unistdio/u16-u16-vasnprintf.c: New file.
55951         * lib/unistdio/u16-u16-vasprintf.c: New file.
55952         * lib/unistdio/u16-u16-vsnprintf.c: New file.
55953         * lib/unistdio/u16-u16-vsprintf.c: New file.
55954         * lib/unistdio/u32-asnprintf.c: New file.
55955         * lib/unistdio/u32-asprintf.c: New file.
55956         * lib/unistdio/u32-printf-parse.c: New file.
55957         * lib/unistdio/u32-snprintf.c: New file.
55958         * lib/unistdio/u32-sprintf.c: New file.
55959         * lib/unistdio/u32-vasnprintf.c: New file.
55960         * lib/unistdio/u32-vasprintf.c: New file.
55961         * lib/unistdio/u32-vsnprintf.c: New file.
55962         * lib/unistdio/u32-vsprintf.c: New file.
55963         * lib/unistdio/u32-u32-asnprintf.c: New file.
55964         * lib/unistdio/u32-u32-asprintf.c: New file.
55965         * lib/unistdio/u32-u32-snprintf.c: New file.
55966         * lib/unistdio/u32-u32-sprintf.c: New file.
55967         * lib/unistdio/u32-u32-vasnprintf.c: New file.
55968         * lib/unistdio/u32-u32-vasprintf.c: New file.
55969         * lib/unistdio/u32-u32-vsnprintf.c: New file.
55970         * lib/unistdio/u32-u32-vsprintf.c: New file.
55971         * tests/unistdio/test-ulc-asnprintf1.c: New file.
55972         * tests/unistdio/test-ulc-asnprintf1.h: New file.
55973         * tests/unistdio/test-ulc-printf1.h: New file.
55974         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
55975         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
55976         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
55977         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
55978         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
55979         * tests/unistdio/test-ulc-vasprintf1.c: New file.
55980         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
55981         * tests/unistdio/test-ulc-vsprintf1.c: New file.
55982         * tests/unistdio/test-u8-asnprintf1.c: New file.
55983         * tests/unistdio/test-u8-asnprintf1.h: New file.
55984         * tests/unistdio/test-u8-printf1.h: New file.
55985         * tests/unistdio/test-u8-vasnprintf1.c: New file.
55986         * tests/unistdio/test-u8-vasnprintf2.c: New file.
55987         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
55988         * tests/unistdio/test-u8-vasnprintf3.c: New file.
55989         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
55990         * tests/unistdio/test-u8-vasprintf1.c: New file.
55991         * tests/unistdio/test-u8-vsnprintf1.c: New file.
55992         * tests/unistdio/test-u8-vsprintf1.c: New file.
55993         * tests/unistdio/test-u16-asnprintf1.c: New file.
55994         * tests/unistdio/test-u16-asnprintf1.h: New file.
55995         * tests/unistdio/test-u16-printf1.h: New file.
55996         * tests/unistdio/test-u16-vasnprintf1.c: New file.
55997         * tests/unistdio/test-u16-vasnprintf2.c: New file.
55998         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
55999         * tests/unistdio/test-u16-vasnprintf3.c: New file.
56000         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
56001         * tests/unistdio/test-u16-vasprintf1.c: New file.
56002         * tests/unistdio/test-u16-vsnprintf1.c: New file.
56003         * tests/unistdio/test-u16-vsprintf1.c: New file.
56004         * tests/unistdio/test-u32-asnprintf1.c: New file.
56005         * tests/unistdio/test-u32-asnprintf1.h: New file.
56006         * tests/unistdio/test-u32-printf1.h: New file.
56007         * tests/unistdio/test-u32-vasnprintf1.c: New file.
56008         * tests/unistdio/test-u32-vasnprintf2.c: New file.
56009         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
56010         * tests/unistdio/test-u32-vasnprintf3.c: New file.
56011         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
56012         * tests/unistdio/test-u32-vasprintf1.c: New file.
56013         * tests/unistdio/test-u32-vsnprintf1.c: New file.
56014         * tests/unistdio/test-u32-vsprintf1.c: New file.
56015         * modules/unistdio/base: New file.
56016         * modules/unistdio/u-printf-args: New file.
56017         * modules/unistdio/ulc-asnprintf: New file.
56018         * modules/unistdio/ulc-asprintf: New file.
56019         * modules/unistdio/ulc-fprintf: New file.
56020         * modules/unistdio/ulc-printf-parse: New file.
56021         * modules/unistdio/ulc-snprintf: New file.
56022         * modules/unistdio/ulc-sprintf: New file.
56023         * modules/unistdio/ulc-vasnprintf: New file.
56024         * modules/unistdio/ulc-vasprintf: New file.
56025         * modules/unistdio/ulc-vfprintf: New file.
56026         * modules/unistdio/ulc-vsnprintf: New file.
56027         * modules/unistdio/ulc-vsprintf: New file.
56028         * modules/unistdio/u8-asnprintf: New file.
56029         * modules/unistdio/u8-asprintf: New file.
56030         * modules/unistdio/u8-printf-parse: New file.
56031         * modules/unistdio/u8-snprintf: New file.
56032         * modules/unistdio/u8-sprintf: New file.
56033         * modules/unistdio/u8-vasnprintf: New file.
56034         * modules/unistdio/u8-vasprintf: New file.
56035         * modules/unistdio/u8-vsnprintf: New file.
56036         * modules/unistdio/u8-vsprintf: New file.
56037         * modules/unistdio/u8-u8-asnprintf: New file.
56038         * modules/unistdio/u8-u8-asprintf: New file.
56039         * modules/unistdio/u8-u8-snprintf: New file.
56040         * modules/unistdio/u8-u8-sprintf: New file.
56041         * modules/unistdio/u8-u8-vasnprintf: New file.
56042         * modules/unistdio/u8-u8-vasprintf: New file.
56043         * modules/unistdio/u8-u8-vsnprintf: New file.
56044         * modules/unistdio/u8-u8-vsprintf: New file.
56045         * modules/unistdio/u16-asnprintf: New file.
56046         * modules/unistdio/u16-asprintf: New file.
56047         * modules/unistdio/u16-printf-parse: New file.
56048         * modules/unistdio/u16-snprintf: New file.
56049         * modules/unistdio/u16-sprintf: New file.
56050         * modules/unistdio/u16-vasnprintf: New file.
56051         * modules/unistdio/u16-vasprintf: New file.
56052         * modules/unistdio/u16-vsnprintf: New file.
56053         * modules/unistdio/u16-vsprintf: New file.
56054         * modules/unistdio/u16-u16-asnprintf: New file.
56055         * modules/unistdio/u16-u16-asprintf: New file.
56056         * modules/unistdio/u16-u16-snprintf: New file.
56057         * modules/unistdio/u16-u16-sprintf: New file.
56058         * modules/unistdio/u16-u16-vasnprintf: New file.
56059         * modules/unistdio/u16-u16-vasprintf: New file.
56060         * modules/unistdio/u16-u16-vsnprintf: New file.
56061         * modules/unistdio/u16-u16-vsprintf: New file.
56062         * modules/unistdio/u32-asnprintf: New file.
56063         * modules/unistdio/u32-asprintf: New file.
56064         * modules/unistdio/u32-printf-parse: New file.
56065         * modules/unistdio/u32-snprintf: New file.
56066         * modules/unistdio/u32-sprintf: New file.
56067         * modules/unistdio/u32-vasnprintf: New file.
56068         * modules/unistdio/u32-vasprintf: New file.
56069         * modules/unistdio/u32-vsnprintf: New file.
56070         * modules/unistdio/u32-vsprintf: New file.
56071         * modules/unistdio/u32-u32-asnprintf: New file.
56072         * modules/unistdio/u32-u32-asprintf: New file.
56073         * modules/unistdio/u32-u32-snprintf: New file.
56074         * modules/unistdio/u32-u32-sprintf: New file.
56075         * modules/unistdio/u32-u32-vasnprintf: New file.
56076         * modules/unistdio/u32-u32-vasprintf: New file.
56077         * modules/unistdio/u32-u32-vsnprintf: New file.
56078         * modules/unistdio/u32-u32-vsprintf: New file.
56079         * modules/unistdio/ulc-asnprintf-tests: New file.
56080         * modules/unistdio/ulc-vasnprintf-tests: New file.
56081         * modules/unistdio/ulc-vasprintf-tests: New file.
56082         * modules/unistdio/ulc-vsnprintf-tests: New file.
56083         * modules/unistdio/ulc-vsprintf-tests: New file.
56084         * modules/unistdio/u8-asnprintf-tests: New file.
56085         * modules/unistdio/u8-vasnprintf-tests: New file.
56086         * modules/unistdio/u8-vasprintf-tests: New file.
56087         * modules/unistdio/u8-vsnprintf-tests: New file.
56088         * modules/unistdio/u8-vsprintf-tests: New file.
56089         * modules/unistdio/u16-asnprintf-tests: New file.
56090         * modules/unistdio/u16-vasnprintf-tests: New file.
56091         * modules/unistdio/u16-vasprintf-tests: New file.
56092         * modules/unistdio/u16-vsnprintf-tests: New file.
56093         * modules/unistdio/u16-vsprintf-tests: New file.
56094         * modules/unistdio/u32-asnprintf-tests: New file.
56095         * modules/unistdio/u32-vasnprintf-tests: New file.
56096         * modules/unistdio/u32-vasprintf-tests: New file.
56097         * modules/unistdio/u32-vsnprintf-tests: New file.
56098         * modules/unistdio/u32-vsprintf-tests: New file.
56099         * MODULES.html.sh (Unicode string functions): Add the new modules.
56100
56101 2007-07-01  Bruno Haible  <bruno@clisp.org>
56102
56103         * lib/sprintf.c (sprintf): Limit the available length estimation,
56104         to avoid address wraparound.
56105         * lib/vsprintf.c (vsprintf): Likewise.
56106         * modules/sprintf-posix (Dependencies): Add stdint.
56107         * modules/vsprintf-posix (Dependencies): Likewise.
56108
56109 2007-07-01  Bruno Haible  <bruno@clisp.org>
56110
56111         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
56112         Windows PATH as well. Conservative double-quoting. Comments.
56113
56114 2007-07-01  Bruno Haible  <bruno@clisp.org>
56115             Eric Blake  <ebb9@byu.net>
56116             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56117
56118         * gnulib-tool (self_abspathname): Fix algorithm to cope with
56119         empty components in $PATH, denoting '.'.
56120
56121 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56122
56123         * gnulib-tool: Fix indentation.
56124         (func_create_megatestdir): Likewise.
56125         Report by Bruno Haible.
56126
56127 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56128
56129         Sync from Automake.
56130         * build-aux/gnupload: Fix shell portability issues with for loops.
56131         Report by Karl Berry.
56132
56133 2007-06-29  Simon Josefsson  <simon@josefsson.org>
56134
56135         * build-aux/maint.mk (POURL): Use translationproject.org.
56136
56137 2007-06-27  Simon Josefsson  <simon@josefsson.org>
56138             Bruno Haible  <bruno@clisp.org>
56139
56140         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
56141         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
56142         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
56143         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
56144         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
56145
56146 2007-06-27  Bruno Haible  <bruno@clisp.org>
56147
56148         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
56149         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
56150
56151 2007-06-26  Karl Berry  <karl@gnu.org>
56152
56153         * MODULES.html.sh: remove xreadlink-with-size.
56154
56155 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
56156
56157         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
56158         method that I hope also handles the double-include problem noted
56159         by Bruno Haible in
56160         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
56161
56162 2007-06-23  Bruno Haible  <bruno@clisp.org>
56163
56164         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
56165         Don't let the 'mostlyclean' target fail if the last subdirectory could
56166         not be removed.
56167         Reported by Karl Berry.
56168
56169 2007-06-23  Bruno Haible  <bruno@clisp.org>
56170
56171         * gnulib-tool (echo): Add a speedier workaround for ksh.
56172         * tests/test-echo.sh: Likewise.
56173
56174 2007-06-23  Bruno Haible  <bruno@clisp.org>
56175
56176         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
56177         * tests/test-echo.sh: Likewise.
56178
56179 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56180
56181         * gnulib-tool (IFS): Initialize early, so we don't set it to
56182         empty later.
56183         (self_abspathname): Rewrite algorithm to set it, reindent.
56184         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
56185         (func_create_megatestdir): Merge some sed scripts.
56186
56187 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
56188
56189         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
56190         exposed by Sun Studio 11 cc on Solaris 8.
56191
56192 2007-06-22  Bruno Haible  <bruno@clisp.org>
56193
56194         * gnulib-tool (echo): Ensure the echo primitive does not interpret
56195         backslashes.
56196         * tests/test-echo.sh: New file.
56197
56198 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56199
56200         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
56201         simplify `sed_replace_build_aux' scripts, they are portable but
56202         echoing them with `echo' is not.
56203         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
56204
56205 2007-06-21  Karl Berry  <karl@gnu.org>
56206
56207         * config/srclist.txt: guess we can't handle the licenses via
56208         srclist at the moment.
56209
56210 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
56211
56212         * MODULES.html.sh: Add include_next.
56213         * modules/include_next: New file.
56214
56215 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
56216
56217         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
56218         INCLUDE_NEXT.
56219         (gl_CHECK_NEXT_HEADERS): New macro.
56220         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
56221         the obsolescent gl_ABSOLUTE_HEADER.
56222         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
56223         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
56224         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
56225         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
56226         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
56227         * m4/math_h.m4 (gl_MATH_H): Likewise.
56228         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
56229         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
56230         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
56231         * m4/stdint.m4 (gl_STDINT_H): Likewise.
56232         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
56233         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
56234         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
56235         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56236         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
56237         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
56238         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
56239         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
56240         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
56241         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
56242         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
56243         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
56244         * m4/inttypes.m4 (gl_INTTYPES_H): Define
56245         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
56246         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
56247         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
56248         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
56249         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
56250         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
56251         * lib/float_.h: Likewise.
56252         * lib/inttypes_.h: Likewise.
56253         * lib/math_.h: Likewise.
56254         * lib/search_.h: Likewise.
56255         * lib/signal_.h: Likewise.
56256         * lib/stdint_.h: Likewise.
56257         * lib/stdio_.h: Likewise.
56258         * lib/stdlib_.h: Likewise.
56259         * lib/string_.h: Likewise.
56260         * lib/sys_stat_.h: Likewise.
56261         * lib/sys_time_.h: Likewise.
56262         * lib/time_.h: Likewise.
56263         * lib/unistd_.h: Likewise.
56264         * lib/wchar_.h: Likewise.
56265         * lib/wctype_.h: Likewise.
56266         * lib/dirent_.h: Likewise.
56267         * lib/iconv_.h: Likewise.
56268         * lib/locale_.h: Likewise.
56269         * lib/netinet_in_.h: Likewise.
56270         * lib/sys_select_.h: Likewise.
56271         * lib/sys_socket_.h: Likewise.
56272         * lib/sysexits_.h: Likewise.
56273         * modules/fcntl (Depends-on): Depend on include_next, not
56274         absolute_header.
56275         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
56276         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
56277         * modules/fchdir: Likewise.
56278         * modules/float: Likewise.
56279         * modules/iconv_open: Likewise.
56280         * modules/inttypes: Likewise.
56281         * modules/locale: Likewise.
56282         * modules/math: Likewise.
56283         * modules/netinet_in: Likewise.
56284         * modules/search: Likewise.
56285         * modules/signal: Likewise.
56286         * modules/stdint: Likewise.
56287         * modules/stdio: Likewise.
56288         * modules/stdlib: Likewise.
56289         * modules/string: Likewise.
56290         * modules/sys_select: Likewise.
56291         * modules/sys_socket: Likewise.
56292         * modules/sys_stat: Likewise.
56293         * modules/sys_time: Likewise.
56294         * modules/sysexits: Likewise.
56295         * modules/time: Likewise.
56296         * modules/unistd: Likewise.
56297         * modules/wchar: Likewise.
56298         * modules/wctype: Likewise.
56299         * modules/sys_stat: Change maintainer to "all".
56300         * modules/unistd: Likewise.
56301
56302 2007-06-20  Karl Berry  <karl@gnu.org>
56303
56304         * config/srclist.txt: track www changes in license files.
56305
56306 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
56307
56308         * build-aux/bootstrap: Remove stray dot.
56309         Make sure build_aux settings are honored when linking
56310         gnulib_extra_files.
56311
56312 2007-06-19  Eric Blake  <ebb9@byu.net>
56313
56314         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
56315         Allow compilation on cygwin.
56316
56317 2007-06-19  Jim Meyering  <jim@meyering.net>
56318
56319         xreadlink-with-size: Remove module.  No longer used.
56320         Ex-callers now use xreadlink or mreadlink-with-size.
56321         * modules/xreadlink-with-size: Remove module.
56322         * lib/xreadlink-with-size.c: Remove file.
56323         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
56324         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
56325         just before the function definition *is* accurate.
56326
56327         Eliminate one way canonicalize_filename_mode could exit.
56328         * lib/canonicalize.c (canonicalize_filename_mode):
56329         Use mreadlink_with_size, not xreadlink_with_size.
56330
56331 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
56332
56333         Detect porting problems to FreeBSD/arm, which has time_t wider than
56334         long int.  Original problem reported for GNU diff by Xin Li in
56335         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
56336         * modules/getdate (Depends-on): Add intprops, verify.
56337         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
56338         is an integer type no wider than long int.
56339
56340 2007-06-18  Jim Meyering  <jim@meyering.net>
56341
56342         New module: mreadlink-with-size.
56343         * MODULES.html.sh: Add mreadlink-with-size.
56344         * modules/mreadlink-with-size: New module
56345         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
56346         not xreadlink-with-size.
56347         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
56348
56349 2007-06-16  Bruno Haible  <bruno@clisp.org>
56350
56351         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
56352         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
56353         Reported by Gary V. Vaughan <gary@gnu.org>.
56354
56355 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
56356
56357         Revamp lchown so that it lives in unistd.h where it belongs.
56358         * lib/lchown.h: Remove.
56359         * lib/dirchownmod.c: Don't include lib/lchown.h.
56360         * lib/fchownat.c: Likewise.
56361         * lib/openat.c: Likewise.
56362         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
56363         does not follow symlinks.
56364         (EOPNOTSUPP): Define if not defined.
56365         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
56366         is defined to 0.
56367         (lchown): New decl.
56368         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
56369         Do not check for lchown decl.
56370         Set REPLACE_LCHOWN.
56371         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
56372         REPLACE_LCHOWN.
56373         * modules/chown: Make it clear it follows symlinks.
56374         * modules/lchown: Make it clear it doesn't follow symlinks.
56375         (Files): Remove lib/lchown.h
56376         (Depends-on): Add unistd.
56377         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
56378         (Include): Include <unistd.h>, not "lchown.h".
56379         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
56380         REPLACE_LCHOWN.
56381
56382 2007-06-15  Jim Meyering  <jim@meyering.net>
56383
56384         Change license (GPL to LGPL) of fsusage and dependents.
56385         * modules/fsusage (License): Change to LGPL.
56386         * modules/full-read (License): Likewise.
56387         * modules/full-write (License): Likewise.
56388         * modules/safe-read (License): Likewise.
56389         * modules/safe-write (License): Likewise.
56390
56391 2007-06-14  Ben Pfaff  <blp@gnu.org>
56392
56393         Missing part of allocsa -> malloca transition.
56394         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
56395         gl_MALLOCA.
56396
56397 2007-06-12  Bruno Haible  <bruno@clisp.org>
56398
56399         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
56400         to ia64, x86_64, i386.
56401         Reported by Eric Blake.
56402
56403 2007-06-12  Bruno Haible  <bruno@clisp.org>
56404
56405         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
56406         cross-compiling to x86_64.
56407
56408 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
56409
56410         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
56411         glitch reported by Ralf Wildenhues in
56412         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
56413
56414         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
56415         Vin Shelton.
56416
56417 2007-06-11  Bruno Haible  <bruno@clisp.org>
56418
56419         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
56420         replacement string.
56421         Reported by Eric Blake.
56422
56423 2007-06-10  Bruno Haible  <bruno@clisp.org>
56424
56425         Prepare vasnprintf code for use with Unicode strings.
56426         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
56427         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
56428         TYPE_U32_STRING.
56429         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
56430         a_u32_string variants.
56431         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
56432         * lib/printf-args.c: Don't include config.h and the specification
56433         header if PRINTF_FETCHARGS is already defined.
56434         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
56435         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
56436         TYPE_U16_STRING, TYPE_U32_STRING.
56437         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
56438         u16_directive, u16_directives, u32_directive, u32_directives): New
56439         types.
56440         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
56441         New declarations.
56442         * lib/printf-parse.c: Don't include config.h and the specification
56443         header if PRINTF_PARSE is already defined. Eliminate the set of
56444         parameters for WIDE_CHAR_VERSION; the user of this file must provide
56445         them now. Include c-ctype.h.
56446         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
56447         directive and CHAR_T_ONLY_ASCII.
56448         * lib/vasnprintf.c: Don't include config.h and the specification header
56449         if VASNPRINTF is already defined.
56450         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
56451         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
56452         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
56453         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
56454         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
56455         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
56456         code accordingly.
56457         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
56458         pad_ourselves also in this case, with the 'c' and 's' directives, and
56459         with a different notion of "width".
56460         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
56461
56462 2007-06-10  Bruno Haible  <bruno@clisp.org>
56463
56464         * modules/unistr/u32-mbsnlen: New file.
56465         * lib/unistr/u32-mbsnlen.c: New file.
56466
56467         * modules/unistr/u16-mbsnlen: New file.
56468         * lib/unistr/u16-mbsnlen.c: New file.
56469
56470         * modules/unistr/u8-mbsnlen: New file.
56471         * lib/unistr/u8-mbsnlen.c: New file.
56472
56473         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
56474         declarations.
56475
56476 2007-06-10  Bruno Haible  <bruno@clisp.org>
56477
56478         * lib/string_.h (mbsnlen): New declaration.
56479         * lib/mbsnlen.c: New file.
56480         * m4/mbsnlen.m4: New file.
56481         * modules/mbsnlen: New file.
56482         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
56483         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
56484         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
56485
56486 2007-06-10  Bruno Haible  <bruno@clisp.org>
56487
56488         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
56489
56490 2007-06-10  Bruno Haible  <bruno@clisp.org>
56491
56492         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
56493         * lib/mbuiter.h: Likewise.
56494
56495 2007-06-10  Bruno Haible  <bruno@clisp.org>
56496
56497         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
56498         declaration.
56499
56500 2007-06-10  Karl Berry  <karl@gnu.org>
56501
56502         * config/srclist.txt: remove gettext entries, Bruno prefers
56503         to update individually.
56504
56505 2007-06-10  Bruno Haible  <bruno@clisp.org>
56506
56507         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
56508         'maxlen'. Ensure only length + width bytes are allocated, not
56509         length + 1 + width.
56510
56511 2007-06-09  Bruno Haible  <bruno@clisp.org>
56512
56513         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
56514         (CHAR_T): Remove macro.
56515         (VASNPRINTF): Update.
56516
56517 2007-06-09  Bruno Haible  <bruno@clisp.org>
56518
56519         * MODULES.html.sh (Unicode string functions): Add the new modules.
56520
56521         * modules/uniconv/u32-conv-to-enc: New file.
56522         * lib/uniconv/u32-conv-to-enc.c: New file.
56523         * modules/uniconv/u32-conv-to-enc-tests: New file.
56524         * tests/uniconv/test-u32-conv-to-enc.c: New file.
56525
56526         * modules/uniconv/u16-conv-to-enc: New file.
56527         * lib/uniconv/u16-conv-to-enc.c: New file.
56528         * lib/uniconv/u-conv-to-enc.h: New file.
56529         * modules/uniconv/u16-conv-to-enc-tests: New file.
56530         * tests/uniconv/test-u16-conv-to-enc.c: New file.
56531
56532         * modules/uniconv/u8-conv-to-enc: New file.
56533         * lib/uniconv/u8-conv-to-enc.c: New file.
56534         * modules/uniconv/u8-conv-to-enc-tests: New file.
56535         * tests/uniconv/test-u8-conv-to-enc.c: New file.
56536
56537         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
56538         u32_conv_to_encoding): New declarations.
56539
56540 2007-06-09  Bruno Haible  <bruno@clisp.org>
56541
56542         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
56543
56544 2007-06-09  Bruno Haible  <bruno@clisp.org>
56545
56546         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
56547         * modules/malloca: Renamed from modules/allocsa, updated.
56548         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
56549         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
56550         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
56551         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
56552         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
56553         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
56554         * modules/xmalloca: Renamed from modules/xallocsa, updated.
56555         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
56556         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
56557         * modules/c-strcasestr (Depends-on): Update.
56558         * lib/c-strcasestr.c: Update.
56559         * modules/c-strstr (Depends-on): Update.
56560         * lib/c-strstr.c: Update.
56561         * modules/canonicalize-lgpl (Depends-on): Update.
56562         * lib/canonicalize-lgpl.c: Update.
56563         * modules/clean-temp (Depends-on): Update.
56564         * lib/clean-temp.c: Update.
56565         * modules/csharpcomp (Depends-on): Update.
56566         * lib/csharpcomp.c: Update.
56567         * modules/csharpexec (Depends-on): Update.
56568         * lib/csharpexec.c: Update.
56569         * modules/javacomp (Depends-on): Update.
56570         * lib/javacomp.c: Update.
56571         * modules/javaexec (Depends-on): Update.
56572         * lib/javaexec.c: Update.
56573         * modules/mbscasestr (Depends-on): Update.
56574         * lib/mbscasestr.c: Update.
56575         * modules/mbsstr (Depends-on): Update.
56576         * lib/mbsstr.c: Update.
56577         * modules/setenv (Depends-on): Update.
56578         * lib/setenv.c: Update.
56579         * modules/strcasestr (Depends-on): Update.
56580         * lib/strcasestr.c: Update.
56581         * modules/striconveha (Depends-on): Update.
56582         * lib/striconveha.c: Update.
56583         * modules/relocatable-prog-wrapper (Files): Update.
56584         * lib/relocwrapper.c: Update.
56585         * build-aux/install-reloc: Update.
56586         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
56587
56588 2007-06-08  Bruno Haible  <bruno@clisp.org>
56589
56590         Port to uClibc.
56591         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
56592         * lib/fpurge.c (fpurge): Likewise.
56593         * lib/freading.c (freading): Likewise.
56594         * lib/fseeko.c (rpl_fseeko): Likewise.
56595         * lib/fseterr.c (fseterr): Likewise.
56596         * lib/fwriting.c (fwriting): Likewise.
56597         * tests/test-fflush.c (main): Avoid a failure on uClibc.
56598
56599 2007-06-08  Bruno Haible  <bruno@clisp.org>
56600
56601         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
56602         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
56603         * modules/gettext (Files): Add m4/intlmacosx.m4.
56604
56605 2007-06-07  Bruno Haible  <bruno@clisp.org>
56606
56607         * modules/localename-tests: New file.
56608         * tests/test-localename.c: New file.
56609
56610         New module 'localename'.
56611         * lib/localename.h: New file.
56612         * lib/localename.c: New file, from GNU gettext.
56613         * m4/localename.m4: New file.
56614         * modules/localename: New file.
56615
56616 2007-06-07  Bruno Haible  <bruno@clisp.org>
56617
56618         Work around the lack of <wchar.h> on some builds of uClibc.
56619         * doc/headers/wchar.texi: Update.
56620         * lib/wchar_.h: Include <wchar.h> only if it exists.
56621         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
56622         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
56623         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
56624         doesn't exist.
56625         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
56626         * modules/mbfile (Depends-on): Add wchar.
56627         * modules/mbiter (Depends-on): Likewise.
56628         * modules/mbuiter (Depends-on): Likewise.
56629         Reported by Simon Josefsson.
56630
56631 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
56632
56633         Work around problem reported by Steven M. Schweda in
56634         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
56635         Tru64 5.1B with the Compaq compiler environment installed declares
56636         an 'isblank' function but does not define it in the C library.
56637         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
56638         * lib/regex_internal.h (isblank): Likewise.
56639         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
56640         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
56641
56642 2007-06-05  Bruno Haible  <bruno@clisp.org>
56643
56644         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
56645         ia64.
56646         * modules/printf-safe: New file.
56647         * modules/fprintf-posix (Depends-on): Add printf-safe.
56648         * modules/printf-posix (Depends-on): Likewise.
56649         * modules/snprintf-posix (Depends-on): Likewise.
56650         * modules/sprintf-posix (Depends-on): Likewise.
56651         * modules/vasnprintf-posix (Depends-on): Likewise.
56652         * modules/vasprintf-posix (Depends-on): Likewise.
56653         * modules/vfprintf-posix (Depends-on): Likewise.
56654         * modules/vprintf-posix (Depends-on): Likewise.
56655         * modules/vsnprintf-posix (Depends-on): Likewise.
56656         * modules/vsprintf-posix (Depends-on): Likewise.
56657         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
56658         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
56659         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
56660         "no" on i386, x86_64, ia64.
56661         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
56662         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
56663         on i386, x86_64, ia64.
56664         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
56665         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
56666         on i386, x86_64, ia64.
56667         * tests/test-vasnprintf-posix.c: Include float.h.
56668         (LDBL80_WORDS): New macro.
56669         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
56670         on i386, x86_64, ia64.
56671         * tests/test-vasprintf-posix.c: Include float.h.
56672         (LDBL80_WORDS): New macro.
56673         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
56674         on i386, x86_64, ia64.
56675         * tests/test-snprintf-posix.c: Include float.h.
56676         * tests/test-sprintf-posix.c: Likewise.
56677         * tests/test-vsnprintf-posix.c: Likewise.
56678         * tests/test-vsprintf-posix.c: Likewise.
56679
56680 2007-06-05  Bruno Haible  <bruno@clisp.org>
56681
56682         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
56683         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
56684         non-IEEE numbers on i386, x86_64, ia64.
56685         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
56686         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
56687         * tests/test-isnanl.h: Include float.h.
56688         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
56689
56690 2007-06-05  Bruno Haible  <bruno@clisp.org>
56691
56692         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
56693         also the %a / %A. Handle the %a / %A code before this extra handling.
56694
56695 2007-06-05  Bruno Haible  <bruno@clisp.org>
56696
56697         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
56698         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
56699
56700 2007-06-05  Bruno Haible  <bruno@clisp.org>
56701
56702         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
56703         typo in variable name.
56704
56705 2007-06-05  Eric Blake  <ebb9@byu.net>
56706
56707         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
56708         Reported by Simon Josefsson.
56709
56710 2007-06-04  Bruno Haible  <bruno@clisp.org>
56711
56712         Avoid test failures on some PowerPC platforms.
56713         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
56714         Define differently for PowerPC.
56715         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
56716         Reported by Gary V. Vaughan <gary@gnu.org>.
56717
56718 2007-06-02  Bruno Haible  <bruno@clisp.org>
56719
56720         Fix test-stdint failure on FreeBSD/ia64.
56721         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
56722         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
56723         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
56724         * doc/headers/stdint.texi: Update.
56725
56726 2007-06-01  Bruno Haible  <bruno@clisp.org>
56727
56728         * tests/test-binary-io.c (main): Pass a third argument to open().
56729         Reported by Gary V. Vaughan <gary@gnu.org>.
56730
56731 2007-06-01  Bruno Haible  <bruno@clisp.org>
56732
56733         * doc/functions/frexpl.texi: Update for mingw.
56734
56735 2007-06-01  Bruno Haible  <bruno@clisp.org>
56736
56737         * tests/test-lseek.c (main): Disable test of errno for invalid third
56738         argument.
56739         * doc/functions/lseek.texi: Update.
56740         Reported by Gary V. Vaughan <gary@gnu.org>.
56741
56742 2007-05-28  Bruno Haible  <bruno@clisp.org>
56743
56744         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
56745
56746 2007-05-31  Eric Blake  <ebb9@byu.net>
56747
56748         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
56749         cross compiling.
56750
56751 2007-05-30  Eric Blake  <ebb9@byu.net>
56752         and Bruno Haible  <bruno@clisp.org>
56753
56754         Work around mingw test failures exposed by m4-1.4.9b.
56755         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
56756         * tests/test-unistd.c: Disable uid_t and git_t tests for the
56757         moment.
56758
56759 2007-05-30  Bruno Haible  <bruno@clisp.org>
56760
56761         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
56762         assuming that they are closed. Needed on HP-UX 11.
56763
56764 2007-05-29  Bruno Haible  <bruno@clisp.org>
56765
56766         Fix a problem with #include_next.
56767         * lib/dirent_.h: Split the double-inclusion guard.
56768         * lib/fcntl_.h: Likewise.
56769         * lib/float_.h: Likewise.
56770         * lib/iconv_.h: Likewise.
56771         * lib/inttypes_.h: Likewise.
56772         * lib/locale_.h: Likewise.
56773         * lib/math_.h: Likewise.
56774         * lib/netinet_in_.h: Likewise.
56775         * lib/search_.h: Likewise.
56776         * lib/signal_.h: Likewise.
56777         * lib/stdint_.h: Likewise.
56778         * lib/stdio_.h: Likewise.
56779         * lib/stdlib_.h: Likewise.
56780         * lib/string_.h: Likewise.
56781         * lib/sys_select_.h: Likewise.
56782         * lib/sys_socket_.h: Likewise.
56783         * lib/sys_stat_.h: Likewise.
56784         * lib/sys_time_.h: Likewise.
56785         * lib/sysexits_.h: Likewise.
56786         * lib/time_.h: Likewise.
56787         * lib/unistd_.h: Likewise.
56788         * lib/wchar_.h: Likewise.
56789         * lib/wctype_.h: Likewise.
56790
56791 2007-05-29  Bruno Haible  <bruno@clisp.org>
56792
56793         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
56794         for the moment.
56795
56796 2007-05-29  Bruno Haible  <bruno@clisp.org>
56797
56798         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
56799         invocation.
56800         Reported by Eric Blake.
56801
56802 2007-05-29  Bruno Haible  <bruno@clisp.org>
56803
56804         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
56805         compiling case.
56806
56807 2007-05-29  Eric Blake  <ebb9@byu.net>
56808             Bruno Haible  <bruno@clisp.org>
56809
56810         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
56811         cross compiles.
56812
56813 2007-05-28  Eric Blake  <ebb9@byu.net>
56814
56815         * modules/closein-tests (test_closein_LDADD): Support test on
56816         cygwin with libtool.
56817
56818 2007-05-28  Bruno Haible  <bruno@clisp.org>
56819
56820         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
56821         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
56822         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
56823         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
56824         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
56825         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
56826         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
56827         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
56828         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
56829
56830 2007-05-28  Eric Blake  <ebb9@byu.net>
56831
56832         Unconditionally include <config.h> in unit tests.
56833         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
56834         * tests/test-allocsa.c, tests/test-arcfour.c,
56835         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
56836         tests/test-array_list.c, tests/test-array_oset.c,
56837         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
56838         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
56839         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
56840         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
56841         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
56842         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
56843         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
56844         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
56845         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
56846         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
56847         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
56848         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
56849         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
56850         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
56851         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
56852         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
56853         test-md5.c, test-memmem.c, test-printf-posix.c,
56854         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
56855         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
56856         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
56857         test-strcasestr.c, test-striconv.c, test-striconveh.c,
56858         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
56859         test-vasnprintf-posix2.c, test-vasnprintf.c,
56860         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
56861         test-vfprintf-posix.c, test-vprintf-posix.c,
56862         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
56863         test-xvasprintf.c: Likewise.
56864
56865 2007-05-28  Bruno Haible  <bruno@clisp.org>
56866
56867         * gnulib-tool (func_import): Remember the --with-tests command-line
56868         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
56869         Reported by Eric Blake.
56870
56871 2007-05-28  Bruno Haible  <bruno@clisp.org>
56872
56873         * modules/ftell-tests: New file.
56874         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
56875         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
56876
56877         * lib/ftell.c: New file.
56878         * modules/ftell: New file.
56879         * m4/ftell.m4: New file.
56880         * doc/functions/ftell.texi: Update.
56881         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
56882         REPLACE_FTELL.
56883         * lib/stdio_.h (rpl_ftell): New declaration.
56884         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
56885         REPLACE_FTELL.
56886
56887 2007-05-28  Eric Blake  <ebb9@byu.net>
56888
56889         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
56890
56891 2007-05-28  Bruno Haible  <bruno@clisp.org>
56892
56893         * modules/fseek-tests: New file.
56894         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
56895         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
56896
56897         * lib/fseek.c: New file.
56898         * modules/fseek: New file.
56899         * m4/fseek.m4: New file.
56900         * doc/functions/fseek.texi: Update.
56901         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
56902         REPLACE_FSEEK.
56903         * lib/stdio_.h (rpl_fseek): New declaration.
56904         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
56905         REPLACE_FSEEK.
56906
56907 2007-05-28  Bruno Haible  <bruno@clisp.org>
56908
56909         * lib/stdio_.h (fflush): More comments.
56910
56911 2007-05-28  Bruno Haible  <bruno@clisp.org>
56912
56913         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
56914         runtime test.
56915
56916 2007-05-28  Eric Blake  <ebb9@byu.net>
56917
56918         Improve lseek module.
56919         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
56920         * lib/unistd_.h (lseek): Scale back link warning message.
56921         * tests/test-lseek.c: Beef up test.
56922         * tests/test-lseek.sh: Exercise more facets of lseek.
56923         Reported by Bruno Haible.
56924
56925 2007-05-28  Bruno Haible  <bruno@clisp.org>
56926
56927         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
56928         to define.
56929
56930 2007-05-27  Bruno Haible  <bruno@clisp.org>
56931
56932         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
56933
56934 2007-05-27  Bruno Haible  <bruno@clisp.org>
56935
56936         * modules/openmp: New file.
56937         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
56938         Noah Misch.
56939
56940 2007-05-26  Bruno Haible  <bruno@clisp.org>
56941
56942         * modules/chdir-long (Depends-on): Add fchdir.
56943         * modules/chdir-safer (Depends-on): Likewise.
56944         * modules/fts (Depends-on): Likewise.
56945         * modules/fts-lgpl (Depends-on): Likewise.
56946         * modules/openat (Depends-on): Likewise.
56947         * modules/savewd (Depends-on): Likewise.
56948
56949 2007-05-24  Eric Blake  <ebb9@byu.net>
56950
56951         Fix lseek on mingw.
56952         * modules/lseek: New module.
56953         * m4/lseek.m4: New file.
56954         * lib/lseek.c: New file.
56955         * modules/lseek-tests: New file.
56956         * tests/test-lseek.c: New file.
56957         * tests/test-lseek.sh: New file.
56958         * MODULES.html.sh: Document lseek module.
56959         * modules/fflush (Depends-on): Add lseek, fseeko.
56960         * modules/fseeko (Depends-on): Likewise.
56961         * modules/ftello (Depends-on): Likewise.
56962         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
56963         broken.
56964         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
56965         broken.
56966         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
56967         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
56968         * lib/ftello.c (rpl_ftello): Likewise.
56969         * tests/test-fseeko.c (main): Test this.
56970         * tests/test-fseeko.sh: Likewise.
56971         * tests/test-ftello.c (main): Likewise.
56972         * tests/test-ftello.sh: Likewise.
56973         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
56974         implies replacing fseek.
56975         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
56976         HAVE_FTELLO.
56977         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
56978         * modules/unistd (Makefile.am): Likewise.
56979         * lib/unistd_.h (lseek): Declare a replacement.
56980         * doc/functions/lseek.texi (lseek): Document this fix.
56981         * doc/functions/fseek.texi (fseek): Likewise.
56982         * doc/functions/ftell.texi (ftell): Likewise.
56983
56984 2007-05-24  Bruno Haible  <bruno@clisp.org>
56985
56986         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
56987         in the printed representation of a NaN.
56988         * tests/test-vasprintf-posix.c (test_function): Likewise.
56989         * tests/test-snprintf-posix.h (test_function): Likewise.
56990         * tests/test-sprintf-posix.h (test_function): Likewise.
56991         Reported by Eric Blake.
56992
56993 2007-05-23  Eric Blake  <ebb9@byu.net>
56994
56995         Fix fseeko/ftello on cygwin 1.5.24.
56996         * doc/functions/fseeko.texi (fseeko): Document the fix.
56997         * doc/functions/ftello.texi (ftello): Document the fix.
56998         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
56999         * doc/functions/stdout.text (stdout): New file.
57000         * doc/functions/stderr.text (stderr): New file.
57001         * doc/gnulib.texi (Function Substitutes): Use new files.
57002         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
57003         prior to 1.7.0.
57004         * tests/test-ftello.c (main): Likewise for ftello.
57005         * tests/test-fseeko.sh: New file.
57006         * tests/test-ftello.sh: New file.
57007         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
57008         with seekable stdin.
57009         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
57010         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
57011         (gl_REPLACE_FSEEKO): New macro.
57012         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
57013         * modules/fseeko (Files): Distribute fseeko.c.
57014         * modules/ftello (Files): Distribute ftello.c.
57015         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
57016         mode.
57017         * lib/ftello.c (rpl_ftello): New file.
57018         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
57019         fseeko, ftello.
57020         (gl_STDIN_LARGE_OFFSET): New macro.
57021         * modules/stdio (Makefile.am): Perform the replacement.
57022         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
57023
57024 2007-05-23  Bruno Haible  <bruno@clisp.org>
57025
57026         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
57027         GNULIB_POSIXCHECK is defined.
57028
57029 2007-05-21  Bruno Haible  <bruno@clisp.org>
57030
57031         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
57032         Check also the output for NaN arguments. When cross-compiling, guess
57033         no on IRIX.
57034         * lib/vasnprintf.c: Update comments.
57035         * tests/test-vasnprintf-posix.c (strisnan): New function.
57036         (test_function): Use it.
57037         * tests/test-vasprintf-posix.c (strisnan): New function.
57038         (test_function): Use it.
57039         * tests/test-snprintf-posix.h (strisnan): New function.
57040         (test_function): Use it.
57041         * tests/test-sprintf-posix.h (strisnan): New function.
57042         (test_function): Use it.
57043         Reported by Eric Blake.
57044
57045 2007-05-20  Bruno Haible  <bruno@clisp.org>
57046
57047         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
57048         numbers that fails on BeOS.
57049         * doc/functions/frexpl.texi: Update.
57050
57051 2007-05-20  Jim Meyering  <jim@meyering.net>
57052
57053         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
57054         forced upon us by glibc-2.6.
57055
57056 2007-05-20  Bruno Haible  <bruno@clisp.org>
57057
57058         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
57059         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
57060         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
57061         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
57062         NEED_PRINTF_INFINITE.
57063         (is_infinitel): New function.
57064         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
57065         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
57066         gl_PREREQ_VASNPRINTF_INFINITE.
57067         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
57068         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57069         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
57070         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
57071         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
57072         gl_PREREQ_VASNPRINTF_INFINITE.
57073         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57074         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57075         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57076         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57077         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57078         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57079         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57080         * doc/functions/fprintf.texi: Update.
57081         * doc/functions/printf.texi: Update.
57082         * doc/functions/snprintf.texi: Update.
57083         * doc/functions/sprintf.texi: Update.
57084         * doc/functions/vfprintf.texi: Update.
57085         * doc/functions/vprintf.texi: Update.
57086         * doc/functions/vsnprintf.texi: Update.
57087         * doc/functions/vsprintf.texi: Update.
57088
57089 2007-05-20  Bruno Haible  <bruno@clisp.org>
57090
57091         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
57092         was not found in libc.
57093         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
57094
57095 2007-05-20  Bruno Haible  <bruno@clisp.org>
57096
57097         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
57098         printed as "-nan" instead of "nan".
57099         * tests/test-vasprintf-posix.c (test_function): Likewise.
57100         * tests/test-snprintf-posix.h (test_function): Likewise.
57101         * tests/test-sprintf-posix.h (test_function): Likewise.
57102         Needed for HP-UX 11.
57103
57104 2007-05-20  Jim Meyering  <jim@meyering.net>
57105
57106         Fix buggy test for the fchownat-deref bug.
57107         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
57108         symlink required for the run-test.  Without it, this test would
57109         always declare that fchownat doesn't work, and client code would
57110         unnecessarily use the replacement function with fixed libc.
57111         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
57112         Reported by Greg Schafer.
57113
57114 2007-05-19  Bruno Haible  <bruno@clisp.org>
57115
57116         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
57117         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
57118         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
57119         Needed for IRIX 6.5 and Solaris 2.5.1.
57120
57121 2007-05-19  Bruno Haible  <bruno@clisp.org>
57122
57123         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
57124         (test_function): Skip tests involving -0.0 on platforms where
57125         -0.0 = 0.0.
57126         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
57127         (test_function): Skip tests involving -0.0 on platforms where
57128         -0.0 = 0.0.
57129         * tests/test-snprintf-posix.h (have_minus_zero): New function.
57130         (test_function): Skip tests involving -0.0 on platforms where
57131         -0.0 = 0.0.
57132         * tests/test-sprintf-posix.h (have_minus_zero): New function.
57133         (test_function): Skip tests involving -0.0 on platforms where
57134         -0.0 = 0.0.
57135         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
57136         tests.
57137         * tests/test-printf-posix.h (test_function): Likewise.
57138         * tests/test-printf-posix.output: Remove all -0.0 related results.
57139         Needed for IRIX 6.5.
57140
57141 2007-05-19  Bruno Haible  <bruno@clisp.org>
57142
57143         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
57144         printed as "nan0x7fffffff" instead of "nan".
57145         * tests/test-vasprintf-posix.c (test_function): Likewise.
57146         * tests/test-snprintf-posix.h (test_function): Likewise.
57147         * tests/test-sprintf-posix.h (test_function): Likewise.
57148         * tests/test-fprintf-posix.h (NaN): Remove macro.
57149         (test_function): Remove all NaN related tests.
57150         * tests/test-printf-posix.h (NaN): Remove macro.
57151         (test_function): Remove all NaN related tests.
57152         * tests/test-printf-posix.output: Remove all NaN related results.
57153         Needed for IRIX 6.5.
57154
57155 2007-05-19  Bruno Haible  <bruno@clisp.org>
57156
57157         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
57158         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
57159
57160 2007-05-19  Bruno Haible  <bruno@clisp.org>
57161
57162         * lib/float_.h: New file.
57163         * m4/float_h.m4: New file.
57164         * modules/float: New file.
57165         * modules/isnanl (Dependencies): Add float.
57166         * modules/isnanl-nolibm (Dependencies): Likewise.
57167         * modules/mathl (Dependencies): Likewise.
57168         * modules/printf-frexpl (Dependencies): Likewise.
57169         * modules/signbit (Dependencies): Likewise.
57170         * modules/vasnprintf (Dependencies): Likewise.
57171         * doc/headers/float.texi: Update.
57172
57173 2007-05-19  Jim Meyering  <jim@meyering.net>
57174
57175         * lib/utimens.c (gl_futimens): Rename from futimens,
57176         now that glibc-2.6 declares futimens.
57177         * lib/utimens.h: Likewise.
57178
57179 2007-05-19  Bruno Haible  <bruno@clisp.org>
57180
57181         Avoid test failures on mingw.
57182         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
57183         * tests/test-printf-posix.sh: Likewise.
57184         * tests/test-vfprintf-posix.sh: Likewise.
57185         * tests/test-vprintf-posix.sh: Likewise.
57186
57187 2007-05-19  Bruno Haible  <bruno@clisp.org>
57188
57189         Fix *printf result for NaN, Inf, -0.0 on mingw.
57190         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
57191         * lib/vasnprintf.c: Include math.h and isnan.h.
57192         (is_infinite_or_zero): New function.
57193         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
57194         values in the %f, %F, %e, %E, %g, %G directives.
57195         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
57196         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57197         gl_PRINTF_INFINITE and test its result. Invoke
57198         gl_PREREQ_VASNPRINTF_INFINITE.
57199         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57200         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57201         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57202         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57203         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57204         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57205         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57206         * doc/functions/fprintf.texi: Update.
57207         * doc/functions/printf.texi: Update.
57208         * doc/functions/snprintf.texi: Update.
57209         * doc/functions/sprintf.texi: Update.
57210         * doc/functions/vfprintf.texi: Update.
57211         * doc/functions/vprintf.texi: Update.
57212         * doc/functions/vsnprintf.texi: Update.
57213         * doc/functions/vsprintf.texi: Update.
57214
57215 2007-05-19  Bruno Haible  <bruno@clisp.org>
57216
57217         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
57218         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
57219         Instead of multiplying with 10^k, set extra_zeroes to k.
57220         (scale10_round_long_double): Remove function.
57221
57222 2007-05-18  Bruno Haible  <bruno@clisp.org>
57223
57224         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
57225         introduced on 2007-05-06.
57226
57227 2007-05-18  Bruno Haible  <bruno@clisp.org>
57228
57229         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
57230         %g directives.
57231         * tests/test-vasprintf-posix.c (test_function): Likewise.
57232         * tests/test-snprintf-posix.h (test_function): Likewise.
57233         * tests/test-sprintf-posix.h (test_function): Likewise.
57234
57235 2007-05-18  Bruno Haible  <bruno@clisp.org>
57236
57237         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
57238         (strmatch): New function.
57239         (test_function): Test the %f directive on numbers of various exponents.
57240         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
57241         (strmatch): New function.
57242         (test_function): Test the %f directive on numbers of various exponents.
57243         * tests/test-snprintf-posix.h (strmatch): New function.
57244         (test_function): Test the %f directive on numbers of various exponents.
57245         * tests/test-sprintf-posix.h (strmatch): New function.
57246         (test_function): Test the %f directive on numbers of various exponents.
57247         * tests/test-snprintf-posix.c (SIZEOF): New macro.
57248         * tests/test-sprintf-posix.c (SIZEOF): New macro.
57249         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
57250         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
57251
57252 2007-05-18  Bruno Haible  <bruno@clisp.org>
57253
57254         Add support for 'long double' number output.
57255         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
57256         * lib/vasnprintf.c: Include math.h and float+.h.
57257         (mp_limb_t): New type.
57258         (GMP_LIMB_BITS): New macro.
57259         (mp_twolimb_t): New type.
57260         (GMP_TWOLIMB_BITS): New macro.
57261         (mpn_t): New type.
57262         (multiply, divide, convert_to_decimal, decode_long_double,
57263         scale10_round_long_double, scale10_round_decimal_long_double,
57264         floorlog10l): New functions.
57265         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
57266         for the %f, %F, %e, %E, %g, %G directives.
57267         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
57268         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57269         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
57270         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
57271         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57272         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57273         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57274         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57275         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57276         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57277         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57278         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
57279         * modules/snprintf-posix (Depends-on): Likewise.
57280         * modules/sprintf-posix (Depends-on): Likewise.
57281         * modules/vasnprintf-posix (Depends-on): Likewise.
57282         * modules/vasprintf-posix (Depends-on): Likewise.
57283         * modules/vfprintf-posix (Depends-on): Likewise.
57284         * modules/vsnprintf-posix (Depends-on): Likewise.
57285         * modules/vsprintf-posix (Depends-on): Likewise.
57286         * modules/vasnprintf (Files): Add lib/float+.h.
57287         * doc/functions/fprintf.texi: Update.
57288         * doc/functions/printf.texi: Update.
57289         * doc/functions/snprintf.texi: Update.
57290         * doc/functions/sprintf.texi: Update.
57291         * doc/functions/vfprintf.texi: Update.
57292         * doc/functions/vprintf.texi: Update.
57293         * doc/functions/vsnprintf.texi: Update.
57294         * doc/functions/vsprintf.texi: Update.
57295
57296 2007-05-18  Bruno Haible  <bruno@clisp.org>
57297
57298         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
57299
57300 2007-05-18  Bruno Haible  <bruno@clisp.org>
57301
57302         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
57303         for printing 64-bit integers. Needed for mingw.
57304
57305 2007-05-18  Bruno Haible  <bruno@clisp.org>
57306
57307         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
57308         gl_FUNC_FREXPL_WORKS.
57309         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
57310
57311 2007-05-18  Bruno Haible  <bruno@clisp.org>
57312
57313         * modules/frexpl-nolibm-tests: New file.
57314
57315         * modules/frexpl-nolibm: New file.
57316         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
57317
57318 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
57319
57320         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
57321         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
57322         GCC 4.2, which otherwise issues a lot of warnings.
57323         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
57324         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
57325         Likewise.
57326         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
57327         * modules/iconv_open (iconv.h): Likewise.
57328         * modules/locale (locale.h): Likewise.
57329         * modules/netinet_in (netinet/in.h): Likewise.
57330         * modules/sys_select (sys_select.h): Likewise.
57331         * modules/sys_socket (sys/socket.h): Likewise.
57332         * modules/sys_stat (sys/stat.h): Likewise.
57333         * modules/sysexits (sysexits.h): Likewise.
57334         * modules/unistd (unistd.h): Likewise.
57335
57336 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57337
57338         * modules/closein-tests (Makefile.am): Distribute
57339         `test-closein.sh'.
57340
57341 2007-05-17  Bruno Haible  <bruno@clisp.org>
57342
57343         * tests/test-printf-posix.output: Renamed from
57344         tests/test-fprintf-posix.out.
57345         * modules/fprintf-posix-tests: Update.
57346         * modules/printf-posix-tests: Update.
57347         * modules/vfprintf-posix-tests: Update.
57348         * modules/vprintf-posix-tests: Update.
57349         * tests/test-fprintf-posix.sh: Update.
57350         * tests/test-printf-posix.sh: Update.
57351         * tests/test-vfprintf-posix.sh: Update.
57352         * tests/test-vprintf-posix.sh: Update.
57353         Reported by Ralf Wildenhues.
57354
57355 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
57356
57357         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
57358         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
57359         GCC 4.2, which otherwise issues a lot of warnings.
57360         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
57361         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
57362         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
57363         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
57364         it should no longer be needed.
57365         * lib/string_.h: Likewise.
57366         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
57367         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
57368         * modules/inttypes (inttypes.h): Likewise.
57369         * modules/math (math.h): Likewise.
57370         * modules/search (search.h): Likewise.
57371         * modules/signal (signal.h): Likewise.
57372         * modules/stdint (stdint.h): Likewise.
57373         * modules/stdio (stdio.h): Likewise.
57374         * modules/stdlib (stdlib.h): Likewise.
57375         * modules/string (string.h): Likewise.
57376         * modules/sys_time (sys/time.h): Likewise.
57377         * modules/time (time.h): Likewise.
57378         * modules/wchar (wchar.h): Likewise.
57379         * modules/wctype (wtype.h): Likewise.
57380
57381 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
57382
57383         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
57384
57385 2007-05-13  Bruno Haible  <bruno@clisp.org>
57386
57387         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
57388         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
57389         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
57390         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
57391         (gl_PREREQ_STRTOK_R): Don't require it here.
57392
57393 2007-05-13  Bruno Haible  <bruno@clisp.org>
57394
57395         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
57396         when used in C++ mode.
57397
57398 2007-05-12  Bruno Haible  <bruno@clisp.org>
57399
57400         * lib/linebuffer.h: Tweak doc.
57401         * lib/linebuffer.c: Likewise.
57402
57403 2007-05-12  James Youngman  <jay@gnu.org>
57404
57405         * lib/linebuffer.c (readlinebuffer_delim): New function,
57406         like readlinebuffer, but use a caller-specified delimiter.
57407         (readlinebuffer): Just call readlinebuffer_delim with '\n'
57408         as the delimiter.
57409         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
57410
57411 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
57412
57413         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
57414         * modules/openat (Files): Remove openat-die.c.
57415         (Depends-on): Add openat-die.
57416         * modules/openat-die: New module.
57417
57418 2007-05-06  Bruno Haible  <bruno@clisp.org>
57419
57420         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
57421         Update with info about Cygwin.
57422         * doc/functions/fprintf.texi: Update.
57423         * doc/functions/printf.texi: Update.
57424         * doc/functions/snprintf.texi: Update.
57425         * doc/functions/sprintf.texi: Update.
57426         * doc/functions/vfprintf.texi: Update.
57427         * doc/functions/vprintf.texi: Update.
57428         * doc/functions/vsnprintf.texi: Update.
57429         * doc/functions/vsprintf.texi: Update.
57430         Reported by Eric Blake.
57431
57432 2007-05-06  Bruno Haible  <bruno@clisp.org>
57433
57434         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
57435         padding ourselves for the floating-point directives.
57436         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
57437         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
57438         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
57439         gl_PRINTF_FLAG_ZERO and test its result. Invoke
57440         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
57441         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57442         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
57443         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57444         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57445         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57446         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57447         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57448         * tests/test-snprintf-posix.h (test_function): Also check the width
57449         and some flags in the %f directive.
57450         * tests/test-sprintf-posix.h (test_function): Likewise.
57451         * tests/test-vasnprintf-posix.c (test_function): Likewise.
57452         * tests/test-vasprintf-posix.c (test_function): Likewise.
57453         * doc/functions/fprintf.texi: Update.
57454         * doc/functions/printf.texi: Update.
57455         * doc/functions/snprintf.texi: Update.
57456         * doc/functions/sprintf.texi: Update.
57457         * doc/functions/vfprintf.texi: Update.
57458         * doc/functions/vprintf.texi: Update.
57459         * doc/functions/vsnprintf.texi: Update.
57460         * doc/functions/vsprintf.texi: Update.
57461
57462 2007-05-06  Bruno Haible  <bruno@clisp.org>
57463
57464         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
57465         pass the ' flag character to sprintf or snprintf.
57466         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
57467         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
57468         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
57469         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
57470         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
57471         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57472         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
57473         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57474         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57475         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57476         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57477         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57478         * tests/test-snprintf-posix.h (test_function): Also check the grouping
57479         flag.
57480         * tests/test-sprintf-posix.h (test_function): Likewise.
57481         * tests/test-vasnprintf-posix.c (test_function): Likewise.
57482         * tests/test-vasprintf-posix.c (test_function): Likewise.
57483         * doc/functions/fprintf.texi: Update.
57484         * doc/functions/printf.texi: Update.
57485         * doc/functions/snprintf.texi: Update.
57486         * doc/functions/sprintf.texi: Update.
57487         * doc/functions/vfprintf.texi: Update.
57488         * doc/functions/vprintf.texi: Update.
57489         * doc/functions/vsnprintf.texi: Update.
57490         * doc/functions/vsprintf.texi: Update.
57491
57492 2007-05-01  Bruno Haible  <bruno@clisp.org>
57493
57494         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
57495
57496 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
57497
57498         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
57499         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
57500
57501 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
57502
57503         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
57504         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
57505         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
57506
57507 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
57508
57509         * lib/argp-help.c (struct hol_entry): New member `ord'.
57510         (HOL_ENTRY_PTRCMP): Use ord for comparison
57511         (hol_sort): Initialize ord.
57512
57513 2007-05-01  Bruno Haible  <bruno@clisp.org>
57514
57515         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
57516         Reported by Eric Blake.
57517         * doc/gnulib.texi (Function Substitutes): Update.
57518
57519 2007-05-01  Bruno Haible  <bruno@clisp.org>
57520
57521         * doc/functions.texi: Remove file, now redundant through
57522         doc/functions/*.texi.
57523
57524 2007-05-01  Bruno Haible  <bruno@clisp.org>
57525
57526         * modules/argp (Depends-on): Add sleep.
57527
57528 2007-05-01  Bruno Haible  <bruno@clisp.org>
57529
57530         * modules/sleep-tests: New file.
57531         * tests/test-sleep.c: New file.
57532
57533         * modules/sleep: New file.
57534         * lib/sleep.c: New file.
57535         * m4/sleep.m4: New file.
57536         * lib/unistd_.h (sleep): New declaration.
57537         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
57538         HAVE_SLEEP.
57539         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
57540         * doc/functions/sleep.texi: Document the sleep module.
57541
57542 2007-05-01  Bruno Haible  <bruno@clisp.org>
57543
57544         * lib/sigprocmask.h: Remove file.
57545         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
57546         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
57547         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
57548         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
57549         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
57550         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
57551         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
57552         HAVE_SIGSET_T as a shell variable.
57553         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
57554         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
57555         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
57556         (Depends-on): Add signal. Remove verify.
57557         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
57558         (Include): Mention <signal.h> instead of sigprocmask.h.
57559         * NEWS: Mention the change.
57560         * lib/fatal-signal.c: Don't include sigprocmask.h.
57561
57562 2007-05-01  Bruno Haible  <bruno@clisp.org>
57563
57564         * modules/signal: New file.
57565         * lib/signal_.h: New file.
57566         * m4/signal_h.m4: New file.
57567
57568 2007-05-01  Bruno Haible  <bruno@clisp.org>
57569
57570         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
57571         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
57572         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
57573         HAVE_WCTYPE_CTMP_BUG into wctype.h.
57574
57575 2007-05-01  Bruno Haible  <bruno@clisp.org>
57576
57577         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
57578         configure time.
57579         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
57580         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
57581         * modules/sys_stat (Makefile.am): Substitute their values into
57582         sys/stat.h.
57583
57584 2007-05-01  Bruno Haible  <bruno@clisp.org>
57585
57586         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
57587         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
57588         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
57589
57590 2007-05-01  Bruno Haible  <bruno@clisp.org>
57591
57592         * doc/header/assert.texi: Undo last change: don't mention the gnulib
57593         'assert' module here.
57594
57595 2007-05-01  Bruno Haible  <bruno@clisp.org>
57596
57597         * doc/functions/*.texi: New files.
57598         * doc/functions/google-ranking.txt: New file.
57599         * doc/gnulib.texi (Function Substitutes): New chapter.
57600         (ctime, inet_ntoa): Remove sections.
57601         * doc/ctime.texi: Remove file.
57602         * doc/inet_ntoa.texi: Remove file.
57603         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
57604         dependencies.
57605         (%.info): New rule, specifying a --reference-limit.
57606
57607 2007-05-01  Bruno Haible  <bruno@clisp.org>
57608
57609         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
57610
57611 2007-05-01  Bruno Haible  <bruno@clisp.org>
57612
57613         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
57614         the portability of 'mkdir' to mingw systems.
57615
57616 2007-05-01  Bruno Haible  <bruno@clisp.org>
57617
57618         * doc/headers/google-ranking.txt: New file.
57619
57620 2007-04-30  Eric Blake  <ebb9@byu.net>
57621
57622         Prefer fseeko to fseek.
57623         * modules/getpass (Depends-on): Add fseeko.
57624         * lib/getpass.c (getpass): Use fseeko, not fseek.
57625
57626 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
57627
57628         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
57629         assumes the sorting is stable, while most qsort implementations
57630         are not.  Use argument addresses to ensure they never compare as
57631         equal.
57632
57633         * tests/test-argp-2.sh (usage-indent test): Fix output
57634         (func_compare): Restore diff options
57635         * tests/test-argp.c: Restore #include "progname.h"
57636
57637 2007-04-29  Bruno Haible  <bruno@clisp.org>
57638
57639         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
57640         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
57641         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
57642         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57643         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
57644         (configure.ac): Define CHECK_SNPRINTF_POSIX.
57645         (TESTS, check_PROGRAMS): Add test-snprintf.
57646         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
57647         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
57648         (TESTS, check_PROGRAMS): Add test-vsnprintf.
57649         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
57650         assertions that fail on HP-UX, OSF/1, or IRIX.
57651         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
57652
57653 2007-04-29  Bruno Haible  <bruno@clisp.org>
57654
57655         * MODULES.html.sh (posix_functions): Remove 'contents'.
57656
57657 2007-04-29  Karl Berry  <karl@gnu.org>
57658
57659         * config/srclist.txt (gendocs_template_min): new entry.
57660
57661 2007-04-29  Bruno Haible  <bruno@clisp.org>
57662
57663         Work around fpurge bug on BSD systems.
57664         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
57665         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
57666         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
57667         fpurge to rpl_fpurge if the system already has this function.
57668         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
57669         the case where the system already has this function. Correct invariants
57670         on BSD systems.
57671         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
57672         BSD systems.
57673
57674 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
57675
57676         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
57677         proposed by Sven Verdoolaege.
57678
57679         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
57680         options.
57681         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
57682         (usage and help tests): Update
57683
57684 2007-04-29  Bruno Haible  <bruno@clisp.org>
57685
57686         * tests/test-fflush.c (main): Use a file of size 17, not 10.
57687         Print more information in case of failure. Disable a test on BeOS.
57688
57689 2007-04-29  Bruno Haible  <bruno@clisp.org>
57690
57691         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
57692         This helps debugging on systems on which no gdb is available.
57693
57694 2007-04-29  Bruno Haible  <bruno@clisp.org>
57695
57696         * lib/freading.h: Improve comments.
57697         * lib/fwriting.h: Likewise.
57698         * tests/test-freading.c (main): Don't check freading immediately after
57699         repositioning. Needed for glibc.
57700
57701 2007-04-29  Bruno Haible  <bruno@clisp.org>
57702
57703         * lib/freading.c (freading): Trivial simplification.
57704
57705 2007-04-28  Bruno Haible  <bruno@clisp.org>
57706
57707         * tests/test-fwriting.c (main): Also test the interaction between
57708         fflush and fwriting.
57709         * modules/fwriting-tests (Depends-on): Add fflush.
57710
57711         * tests/test-freading.c (main): Also test the interaction between
57712         fflush and freading.
57713         * modules/freading-tests (Depends-on): Add fflush.
57714
57715 2007-04-28  Bruno Haible  <bruno@clisp.org>
57716
57717         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
57718         fseeko and ftello.
57719         Suggested by Eric Blake.
57720
57721 2007-04-28  Jim Meyering  <jim@meyering.net>
57722
57723         Avoid false-negative in gl_STDINT_H's C99 conformance test.
57724         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
57725         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
57726
57727 2007-04-27  Eric Blake  <ebb9@byu.net>
57728
57729         * doc/headers/assert.texi (assert.h): Document assert module use.
57730
57731 2007-04-27  Bruno Haible  <bruno@clisp.org>
57732
57733         * doc/headers/*.texi: New files.
57734         * doc/gnulib.texi (Header File Substitutes): New chapter.
57735         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
57736         dependencies.
57737         (standards.info ,standards.html, standards.dvi): Update dependencies.
57738         (mostlyclean, clean): New targets.
57739
57740 2007-04-27  Bruno Haible  <bruno@clisp.org>
57741
57742         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
57743         * modules/sysexits (Files, Makefile.am): Update.
57744
57745         * lib/sys_socket_.h: Renamed from lib/socket_.h.
57746         * modules/sys_socket (Files, Makefile.am): Update.
57747
57748         * lib/sys_stat_.h: Renamed from lib/stat_.h.
57749         * modules/sys_stat (Files, Makefile.am): Update.
57750
57751 2007-04-27  Eric Blake  <ebb9@byu.net>
57752
57753         * lib/freading.h: Improve comments.
57754         * lib/fwriting.h: Likewise.
57755         * lib/fflush.c: Likewise.
57756
57757         Fix closein for mingw.
57758         * modules/closein-tests: Add tests for closein.
57759         * tests/test-closein.c: New file.
57760         * tests/test-closein.sh: Likewise.
57761         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
57762         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
57763
57764 2007-04-27  Bruno Haible  <bruno@clisp.org>
57765
57766         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
57767         version is < 6.
57768         * lib/math_.h [__DECC]: Likewise.
57769         * lib/stdio_.h [__DECC]: Likewise.
57770         * lib/stdlib_.h [__DECC]: Likewise.
57771         * lib/string_.h [__DECC]: Likewise.
57772         * lib/time_.h [__DECC]: Likewise.
57773         * lib/wchar_.h [__DECC]: Likewise.
57774         * lib/wctype_.h [__DECC]: Likewise.
57775
57776 2007-04-27  Bruno Haible  <bruno@clisp.org>
57777
57778         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
57779
57780 2007-04-27  Bruno Haible  <bruno@clisp.org>
57781
57782         * lib/fflush.c: Add comments.
57783         * modules/fpurge-tests (Depends-on): Add fflush.
57784         * modules/freadable-tests (Depends-on): Likewise.
57785         * modules/fwritable-tests (Depends-on): Likewise.
57786
57787 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
57788
57789         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
57790         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
57791         Report by Bruno Haible <bruno@clisp.org>.
57792
57793 2007-04-26  Eric Blake  <ebb9@byu.net>
57794
57795         Fix fflush on mingw.
57796         * modules/fflush (Depends-on): Add freading.
57797         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
57798         but unread data.
57799
57800 2007-04-26  Eric Blake  <ebb9@byu.net>
57801         and Bruno Haible  <bruno@clisp.org>
57802
57803         Implement freading and fwriting.
57804         * lib/freading.c: New file.
57805         * lib/freading.h: Likewise.
57806         * m4/freading.m4: Likewise.
57807         * modules/freading: Likewise.
57808         * modules/freading-tests: Likewise.
57809         * tests/test-freading.c: Likewise.
57810         * lib/fwriting.c: New file.
57811         * lib/fwriting.h: Likewise.
57812         * m4/fwriting.m4: Likewise.
57813         * modules/fwriting: Likewise.
57814         * modules/fwriting-tests: Likewise.
57815         * tests/test-fwriting.c: Likewise.
57816         * MODULES.html.sh (File stream based Input/Output): Mention them.
57817
57818 2007-04-26  Bruno Haible  <bruno@clisp.org>
57819
57820         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
57821         'long' when we assume it.
57822         Suggested by Eric Blake.
57823
57824 2007-04-26  Bruno Haible  <bruno@clisp.org>
57825
57826         Ensure fseeko, ftello are declared on glibc systems.
57827         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
57828         * modules/fseeko (configure.ac-early): Likewise.
57829         * modules/ftello (configure.ac-early): Likewise.
57830         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
57831         AC_FUNC_FSEEKO for this.
57832         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
57833         (gl_CHECK_FSEEKO): Remove macro.
57834
57835 2007-04-26  Bruno Haible  <bruno@clisp.org>
57836
57837         * tests/test-fflush.c (main): Also check the ftell result after
57838         fflush and fseek/fseeko.
57839         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
57840         file descriptor position cache in the stream.
57841         * lib/fseeko.c (rpl_fseeko): Likewise.
57842
57843 2007-04-26  Bruno Haible  <bruno@clisp.org>
57844
57845         * modules/fflush-tests (Depends-on): Add fseeko.
57846
57847 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
57848             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57849
57850         * lib/argz_.h: ensure error_t definition is obtained in same
57851         mechanism system argz.h would have.
57852         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
57853         argz facilities are known bad.  Err on the side of caution if
57854         cross-compiling.
57855
57856 2007-04-25  Eric Blake  <ebb9@byu.net>
57857
57858         * lib/fpurge.c (includes): Use stdlib.h for free.
57859         * tests/test-fflush.c (main): Also test fflush-fseeko.
57860
57861 2007-04-25  Bruno Haible  <bruno@clisp.org>
57862
57863         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
57864         * lib/fseeko.c: New file.
57865         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
57866         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
57867         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
57868         gl_FUNC_FSEEKO.
57869         (gl_FUNC_FSEEKO): Invoke it.
57870         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
57871         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
57872         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
57873
57874 2007-04-25  Bruno Haible  <bruno@clisp.org>
57875
57876         * modules/fflush (Depends-on): Add ftello.
57877
57878 2007-04-25  Bruno Haible  <bruno@clisp.org>
57879
57880         * modules/ftello-tests: New file.
57881         * tests/test-ftello.c: New file.
57882
57883         * modules/ftello: New file.
57884         * m4/ftello.m4: New file.
57885         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
57886         HAVE_FTELLO.
57887         * lib/stdio_.h (ftello): New declaration.
57888         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
57889         HAVE_FTELLO.
57890
57891 2007-04-25  Bruno Haible  <bruno@clisp.org>
57892
57893         * modules/fseeko-tests: New file.
57894         * tests/test-fseeko.c: New file.
57895
57896         * modules/fseeko: New file.
57897         * m4/fseeko.m4: New file.
57898         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
57899         HAVE_FSEEKO.
57900         * lib/stdio_.h (fseeko): New declaration.
57901         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
57902         HAVE_FSEEKO.
57903
57904 2007-04-25  Bruno Haible  <bruno@clisp.org>
57905
57906         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
57907
57908 2007-04-25  Bruno Haible  <bruno@clisp.org>
57909
57910         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
57911         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
57912         * tests/test-unistd.c: Likewise.
57913         * tests/test-fcntl.c: Likewise.
57914
57915 2007-04-23  Eric Blake  <ebb9@byu.net>
57916
57917         * lib/fflush.c: Fix missing include.
57918         Reported by Bruno Haible.
57919
57920 2007-04-23  Bruno Haible  <bruno@clisp.org>
57921
57922         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
57923         Reported by Eric Blake.
57924
57925 2007-04-23  Bruno Haible  <bruno@clisp.org>
57926
57927         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
57928
57929 2007-04-23  Bruno Haible  <bruno@clisp.org>
57930
57931         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
57932
57933 2007-04-23  Bruno Haible  <bruno@clisp.org>
57934
57935         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
57936         Needed on HP-UX 11.
57937
57938 2007-04-16  Eric Blake  <ebb9@byu.net>
57939
57940         Make fflush rely on fpurge.
57941         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
57942         open coding all variants.
57943         * modules/fflush (Depends-on): Add fpurge and unistd.
57944         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
57945         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
57946
57947         Fix --with-tests compilation on cygwin.
57948         * modules/argmatch-tests (Makefile.am): List gnulib library first
57949         in LDADD.
57950         * modules/argp-tests (Makefile.am): Likewise.
57951         * modules/array-list-tests (Makefile.am): Likewise.
57952         * modules/array-oset-tests (Makefile.am): Likewise.
57953         * modules/avltree-list-tests (Makefile.am): Likewise.
57954         * modules/avltree-oset-tests (Makefile.am): Likewise.
57955         * modules/avltreehash-list-tests (Makefile.am): Likewise.
57956         * modules/carray-list-tests (Makefile.am): Likewise.
57957         * modules/dirname-tests (Makefile.am): Likewise.
57958         * modules/frexp-tests (Makefile.am): Likewise.
57959         * modules/isnanl-tests (Makefile.am): Likewise.
57960         * modules/linked-list-tests (Makefile.am): Likewise.
57961         * modules/linkedhash-list-tests (Makefile.am): Likewise.
57962         * modules/lock-tests (Makefile.am): Likewise.
57963         * modules/rbtree-list-tests (Makefile.am): Likewise.
57964         * modules/rbtree-oset-tests (Makefile.am): Likewise.
57965         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
57966         * modules/tls-tests (Makefile.am): Likewise.
57967         * modules/tsearch-tests (Makefile.am): Likewise.
57968         * modules/xvasprintf-tests (Makefile.am): Likewise.
57969
57970         Fix fpurge for cygwin.
57971         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
57972         value.
57973         * modules/fpurge-tests (Depends-on): Clean up trash.
57974
57975 2007-04-16  Simon Josefsson  <simon@josefsson.org>
57976
57977         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
57978
57979         * m4/autobuild.m4: Re-indent.
57980
57981 2007-04-13  Bruno Haible  <bruno@clisp.org>
57982
57983         * modules/fpurge-tests: New file.
57984         * tests/test-fpurge.c: New file.
57985
57986         * modules/fpurge: New file.
57987         * lib/fpurge.h: New file.
57988         * lib/fpurge.c: New file.
57989         * m4/fpurge.m4: New file.
57990
57991 2007-04-13  Bruno Haible  <bruno@clisp.org>
57992
57993         * modules/fbufmode-tests: New file.
57994         * tests/test-fbufmode.c: New file.
57995
57996         * modules/fbufmode: New file.
57997         * lib/fbufmode.h: New file.
57998         * lib/fbufmode.c: New file.
57999         * m4/fbufmode.m4: New file.
58000
58001 2007-04-13  Bruno Haible  <bruno@clisp.org>
58002
58003         * modules/fwritable-tests: New file.
58004         * tests/test-fwritable.c: New file.
58005
58006         * modules/fwritable: New file.
58007         * lib/fwritable.h: New file.
58008         * lib/fwritable.c: New file.
58009         * m4/fwritable.m4: New file.
58010
58011 2007-04-13  Bruno Haible  <bruno@clisp.org>
58012
58013         * modules/freadable-tests: New file.
58014         * tests/test-freadable.c: New file.
58015
58016         * modules/freadable: New file.
58017         * lib/freadable.h: New file.
58018         * lib/freadable.c: New file.
58019         * m4/freadable.m4: New file.
58020
58021 2007-04-13  Bruno Haible  <bruno@clisp.org>
58022
58023         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
58024         MOSTLYCLEANFILES.
58025
58026 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
58027
58028         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
58029         gzip bootstrap.conf to avoid dragging in i18n machinery.
58030         (gnulib_tool_option): Use it.
58031
58032 2007-04-13  Bruno Haible  <bruno@clisp.org>
58033
58034         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
58035         %F directives.
58036         * tests/test-vasprintf-posix.c (test_function): Likewise.
58037         * tests/test-snprintf-posix.h (test_function): Likewise.
58038         * tests/test-sprintf-posix.h (test_function): Likewise.
58039         * tests/test-fprintf-posix.h (test_function): Likewise.
58040         * tests/test-printf-posix.h (test_function): Likewise.
58041         * tests/test-fprintf-posix.out: Likewise.
58042
58043 2007-04-13  Bruno Haible  <bruno@clisp.org>
58044
58045         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
58046         * modules/tls-tests (configure.ac): Likewise.
58047         Reported by Arto C. Nirkko <anirkko@insel.ch>.
58048
58049 2007-04-13  Bruno Haible  <bruno@clisp.org>
58050
58051         * lib/tls.c (glthread_tls_get): Fix return type.
58052         Patch by Arto C. Nirkko <anirkko@insel.ch>.
58053
58054 2007-04-12  Eric Blake  <ebb9@byu.net>
58055
58056         * modules/gettime (Depends-on): Remove gettime.
58057         Reported by Dmitry V. Levin.
58058
58059 2007-04-12  Bruno Haible  <bruno@clisp.org>
58060
58061         * modules/fflush (Include): Mention <stdio.h>.
58062         * modules/strtoimax (Include): Mention <inttypes.h>.
58063         * modules/strtoumax (Include): Likewise.
58064
58065 2007-04-12  Eric Blake  <ebb9@byu.net>
58066
58067         * .cvsignore: New file.
58068         * .gitignore: Likewise.
58069
58070 2007-04-12  Bruno Haible  <bruno@clisp.org>
58071
58072         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
58073         not before, since $(LDADD) often contains libgnu.a.
58074         * modules/striconv-tests (test_striconv_LDADD): Likewise.
58075         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
58076         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
58077         Needed on Cygwin.
58078
58079 2007-04-12  Eric Blake  <ebb9@byu.net>
58080
58081         Work around glibc's failure to flush stdin on fclose.
58082         * lib/closein.c (close_stdin): Flush stdin before closing.
58083
58084         Work around glibc's failure to reset seekable stdin on exit.
58085         * modules/closein: New module.
58086         * lib/closein.c: New file.
58087         * lib/closein.h: Likewise.
58088         * m4/closein.m4: Likewise.
58089         * MODULES.html.sh (File stream based Input/Output): Document it.
58090
58091 2007-04-12  Simon Josefsson  <simon@josefsson.org>
58092
58093         * gnulib-tool: Rename generated 'autobuild' script to
58094         'do-autobuild' in --create-megatestdir output.
58095
58096         * doc/gnulib.texi (Build robot for gnulib): Fix.
58097
58098 2007-04-12  Simon Josefsson  <simon@josefsson.org>
58099
58100         * modules/sysexits (Depends-on): Add absolute-header.
58101
58102 2007-04-12  Eric Blake  <ebb9@byu.net>
58103
58104         No need to preserve errno on success.
58105         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
58106         Reported by Bruno Haible.
58107
58108 2007-04-12  Simon Josefsson  <simon@josefsson.org>
58109
58110         * MODULES.html.sh (Support for maintaining and releasing
58111         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
58112
58113 2007-04-12  Simon Josefsson  <simon@josefsson.org>
58114
58115         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
58116
58117 2007-04-12  Simon Josefsson  <simon@josefsson.org>
58118
58119         * modules/autobuild: New module.
58120
58121         * m4/autobuild.m4: New file.
58122
58123 2007-04-11  Bruno Haible  <bruno@clisp.org>
58124
58125         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
58126         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
58127         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
58128         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
58129         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58130         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
58131         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
58132         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
58133         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
58134         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
58135         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
58136         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
58137         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
58138         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
58139         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
58140         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
58141         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
58142         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
58143         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
58144         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
58145         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
58146         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
58147         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
58148         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
58149         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
58150         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
58151         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
58152         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
58153         Reported by Eric Blake.
58154
58155 2007-04-11  Bruno Haible  <bruno@clisp.org>
58156
58157         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
58158
58159 2007-04-10  Bruno Haible  <bruno@clisp.org>
58160
58161         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
58162         for NaN and Infinity. Needed on FreeBSD 6.1.
58163         * tests/test-vasnprintf-posix.c (test_function): Undo last change
58164         regarding results for "%010a" of Infinity and NaN.
58165         * tests/test-vasprintf-posix.c (test_function): Likewise.
58166         * tests/test-snprintf-posix.h (test_function): Likewise.
58167         * tests/test-sprintf-posix.h (test_function): Likewise.
58168         * tests/test-fprintf-posix.h (test_function): Likewise.
58169         * tests/test-printf-posix.h (test_function): Likewise.
58170         * tests/test-fprintf-posix.out: Likewise.
58171
58172 2007-04-10  Bruno Haible  <bruno@clisp.org>
58173
58174         * modules/locale-tests: New file.
58175         * tests/test-locale.c: New file.
58176
58177         * modules/locale: New file.
58178         * lib/locale_.h: New file.
58179         * m4/locale_h.m4: New file.
58180
58181 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
58182             Bruno Haible  <bruno@clisp.org>
58183
58184         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
58185         be determined, test for availability of the copysignf, copysign,
58186         copysignl functions.
58187         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
58188         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
58189         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
58190
58191 2007-04-09  Eric Blake  <ebb9@byu.net>
58192
58193         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
58194         * modules/stdio (Makefile.am): Support fflush.
58195         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
58196         * modules/fflush: New file.
58197         * lib/fflush.c: Likewise.
58198         * m4/fflush.m4: Likewise.
58199         * modules/fflush-tests: New test.
58200         * tests/test-fflush.c: Likewise.
58201         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
58202
58203 2007-04-06  Bruno Haible  <bruno@clisp.org>
58204
58205         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
58206         (VASNPRINTF): Use signbit for faster determination whether to print a
58207         minus sign.
58208         * modules/vasnprintf (Files): Remove lib/float+.h.
58209         * modules/fprintf-posix (Depends-on): Add signbit.
58210         * modules/snprintf-posix (Depends-on): Likewise.
58211         * modules/sprintf-posix (Depends-on): Likewise.
58212         * modules/vasnprintf-posix (Depends-on): Likewise.
58213         * modules/vasprintf-posix (Depends-on): Likewise.
58214         * modules/vfprintf-posix (Depends-on): Likewise.
58215         * modules/vsnprintf-posix (Depends-on): Likewise.
58216         * modules/vsprintf-posix (Depends-on): Likewise.
58217
58218 2007-04-06  Bruno Haible  <bruno@clisp.org>
58219
58220         * tests/test-frexp.c (main): Test also the sign bit of zero results.
58221         * tests/test-frexpl.c (main): Likewise.
58222         * tests/test-ldexpl.c (main): Likewise.
58223         * modules/frexp-tests (Depends-on): Add signbit.
58224         * modules/frexpl-tests (Depdends-on): Likewise.
58225         * modules/ldexpl-tests (Depdends-on): Likewise.
58226
58227 2007-04-06  Bruno Haible  <bruno@clisp.org>
58228
58229         * modules/signbit-tests: New file.
58230         * tests/test-signbit.c: New file.
58231
58232         * modules/signbit: New file.
58233         * lib/signbitf.c: New file.
58234         * lib/signbitd.c: New file.
58235         * lib/signbitl.c: New file.
58236         * m4/signbit.m4: New file.
58237         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
58238         (signbit): New macro.
58239         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
58240         REPLACE_SIGNBIT.
58241         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
58242         REPLACE_FREXPL into math.h.
58243
58244 2007-04-06  Bruno Haible  <bruno@clisp.org>
58245
58246         * modules/isnanf-nolibm-tests: New file.
58247         * tests/test-isnanf.c: New file.
58248
58249         * modules/isnanf-nolibm: New file.
58250         * lib/isnanf.h: New file.
58251         * lib/isnanf.c: New file.
58252         * lib/isnan.c: Consider the USE_FLOAT macro.
58253         * m4/isnanf.m4: New file.
58254
58255 2007-04-06  Bruno Haible  <bruno@clisp.org>
58256
58257         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
58258         (Link): New section.
58259
58260         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
58261
58262 2007-04-06  Bruno Haible  <bruno@clisp.org>
58263
58264         Assume the 'long double' type.
58265         * m4/longdouble.m4: Remove file.
58266         * config/srclist.txt: Don't mention longdouble.m4.
58267         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
58268         * lib/float+.h: Likewise.
58269         * lib/frexp.c: Likewise.
58270         * lib/printf-args.h: Likewise.
58271         * lib/printf-args.c: Likewise.
58272         * lib/printf-frexp.c: Likewise.
58273         * lib/printf-parse.c: Likewise.
58274         * lib/vasnprintf.c: Likewise.
58275         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
58276         * m4/intl.m4: Likewise.
58277         * m4/isnanl.m4: Likewise.
58278         * m4/printf.m4: Likewise.
58279         * m4/printf-frexpl.m4: Likewise.
58280         * m4/vasnprintf.m4: Likewise.
58281         * modules/allocsa (Files): Remove m4/longdouble.m4.
58282         * modules/gettext (Files): Likewise.
58283         * modules/relocatable-prog-wrapper (Files): Likewise.
58284         * modules/vasnprintf (Files): Likewise.
58285         * modules/isnanl (Files): Likewise.
58286         (Include): Simplify.
58287         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
58288         (Include): Simplify.
58289         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
58290         (Include): Simplify.
58291         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
58292         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
58293         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
58294         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
58295         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
58296         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
58297         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
58298         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
58299         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
58300         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
58301         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
58302         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
58303         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
58304         * tests/test-isnanl.c: Likewise.
58305         * tests/test-snprintf-posix.h: Likewise.
58306         * tests/test-sprintf-posix.h: Likewise.
58307         * tests/test-vasnprintf-posix.c: Likewise.
58308         * tests/test-vasnprintf-posix2.c: Likewise.
58309         * tests/test-vasprintf-posix.c: Likewise.
58310
58311 2007-04-06  Bruno Haible  <bruno@clisp.org>
58312
58313         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
58314         * lib/math_.h [__DECC]: Include the overridden include file through
58315         #include_next, outside the double-inclusion guard.
58316         * lib/stdio_.h [__DECC]: Likewise.
58317         * lib/stdlib_.h [__DECC]: Likewise.
58318         * lib/string_.h [__DECC]: Likewise.
58319         * lib/time_.h [__DECC]: Likewise.
58320         * lib/wchar_.h [__DECC]: Likewise.
58321         * lib/wctype_.h [__DECC]: Likewise.
58322         * lib/inttypes_.h [__DECC]: Likewise.
58323         Reported by Albert Chin <china@thewrittenword.com> in
58324         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
58325
58326 2007-04-04  Eric Blake  <ebb9@byu.net>
58327
58328         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
58329         1.5.x.
58330
58331 2007-04-04  Bruno Haible  <bruno@clisp.org>
58332
58333         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
58334         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
58335
58336 2007-04-04  Bruno Haible  <bruno@clisp.org>
58337
58338         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
58339         results for "%010a" of Infinity and NaN.
58340         * tests/test-vasprintf-posix.c (test_function): Likewise.
58341         * tests/test-snprintf-posix.h (test_function): Likewise.
58342         * tests/test-sprintf-posix.h (test_function): Likewise.
58343         * tests/test-fprintf-posix.h (test_function): Remove these tests.
58344         * tests/test-printf-posix.h (test_function): Likewise.
58345         * tests/test-fprintf-posix.out: Update.
58346         Needed for FreeBSD 6.1.
58347
58348 2007-04-04  Bruno Haible  <bruno@clisp.org>
58349
58350         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
58351         directly used by the gnulib modules nor by gnulib-tool.
58352
58353 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
58354
58355         * DEPENDENCIES: Give overall description of version dependency
58356         desirability.  Use more-typical names for apps.
58357         Add shell, coreutils, diffutils, grep, tar, gzip.
58358
58359 2007-04-04  Simon Josefsson  <simon@josefsson.org>
58360
58361         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
58362
58363 2007-04-04  Karl Berry  <karl@gnu.org>
58364
58365         * MODULES.html.sh (func_module): missing '.
58366
58367 2007-04-03  Bruno Haible  <bruno@clisp.org>
58368
58369         * modules/argmatch-tests (Makefile.am): New variable
58370         test_argmatch_LDADD.
58371         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
58372         * modules/array-list-tests (Makefile.am): New variable
58373         test_array_list_LDADD.
58374         * modules/array-oset-tests (Makefile.am): New variable
58375         test_array_oset_LDADD.
58376         * modules/avltree-list-tests (Makefile.am): New variable
58377         test_avltree_list_LDADD.
58378         * modules/avltree-oset-tests (Makefile.am): New variable
58379         test_avltree_oset_LDADD.
58380         * modules/avltreehash-list-tests (Makefile.am): New variable
58381         test_avltreehash_list_LDADD.
58382         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
58383         test_canonicalize_lgpl_LDADD.
58384         * modules/carray-list-tests (Makefile.am): New variable
58385         test_carray_list_LDADD.
58386         * modules/dirname-tests (Makefile.am): New variable
58387         test_dirname_LDADD.
58388         * modules/linked-list-tests (Makefile.am): New variable
58389         test_linked_list_LDADD.
58390         * modules/linkedhash-list-tests (Makefile.am): New variable
58391         test_linkedhash_list_LDADD.
58392         * modules/rbtree-list-tests (Makefile.am): New variable
58393         test_rbtree_list_LDADD.
58394         * modules/rbtree-oset-tests (Makefile.am): New variable
58395         test_rbtree_oset_LDADD.
58396         * modules/rbtreehash-list-tests (Makefile.am): New variable
58397         test_rbtreehash_list_LDADD.
58398         * modules/xvasprintf-tests (Makefile.am): New variable
58399         test_xvasprintf_LDADD.
58400         Reported by Eric Blake.
58401
58402 2007-04-03  Eric Blake  <ebb9@byu.net>
58403
58404         * DEPENDENCIES: Weaken m4 requirements.
58405
58406 2007-04-03  Bruno Haible  <bruno@clisp.org>
58407
58408         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
58409         * modules/isnanl-tests (configure.ac): Likewise.
58410
58411 2007-04-03  Ben Pfaff  <blp@gnu.org>
58412
58413         * modules/iconv_open: Add $(srcdir)/ to source directory
58414         references in Makefile fragments that call gperf, to fix VPATH
58415         builds.
58416
58417 2007-04-03  Bruno Haible  <bruno@clisp.org>
58418
58419         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
58420         * lib/ldexpl.c: Undo last change.
58421
58422 2007-04-03  Bruno Haible  <bruno@clisp.org>
58423
58424         * modules/printf-frexpl (Depends-on): Undo last change.
58425         (Files): Add m4/ldexpl.m4.
58426
58427 2007-04-03  Bruno Haible  <bruno@clisp.org>
58428
58429         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
58430         * modules/isnanl (Link): New section.
58431
58432         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
58433         * modules/frexp (Link): New section.
58434
58435         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
58436         * modules/frexpl (Link): New section.
58437
58438         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
58439         * modules/ldexpl (Link): New section.
58440
58441 2007-04-03  Bruno Haible  <bruno@clisp.org>
58442
58443         * modules/TEMPLATE-EXTENDED: New file.
58444         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
58445
58446 2007-04-03  Bruno Haible  <bruno@clisp.org>
58447
58448         * DEPENDENCIES: New file.
58449         Suggested by Simon Josefsson.
58450
58451 2007-04-03  Bruno Haible  <bruno@clisp.org>
58452
58453         * doc/gnulib.texi: Escape @.
58454
58455 2007-04-03  James Youngman  <jay@gnu.org>
58456         and Paul Eggert  <eggert@cs.ucla.edu>
58457
58458         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
58459         birthtime on all systems that have birthtime, not just those which
58460         use st_birthtimensec rather than st_birthtim.  Putting zero in
58461         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
58462         that the birth time is not available for files on an NFS mount.
58463
58464 2007-04-03  Simon Josefsson  <simon@josefsson.org>
58465
58466         * modules/memxor: Move back from crypto/, suggested by Bruno.
58467         * modules/crypto/hmac-sha1: Fix memxor dependency.
58468
58469         * modules/crypto/gc: Moved from ../.
58470
58471 2007-04-02  Eric Blake  <ebb9@byu.net>
58472
58473         * lib/ldexpl.c (includes): Avoid libm.
58474
58475         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
58476
58477 2007-04-02  Bruno Haible  <bruno@clisp.org>
58478
58479         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
58480         on IRIX.
58481
58482 2007-04-02  Bruno Haible  <bruno@clisp.org>
58483
58484         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
58485         x86 or x86_64 platforms running MacOS X.
58486         Reported by Ryan Schmidt <@ryandesign.com>.
58487
58488 2007-04-02  Bruno Haible  <bruno@clisp.org>
58489
58490         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
58491         i386.
58492
58493 2007-04-01  Simon Josefsson  <simon@josefsson.org>
58494
58495         * modules/crypto/arcfour: Moved from ../.
58496         * modules/crypto/arcfour-tests: Moved from ../.
58497         * modules/crypto/arctwo: Moved from ../.
58498         * modules/crypto/arctwo-tests: Moved from ../.
58499         * modules/crypto/des: Moved from ../.
58500         * modules/crypto/des-tests: Moved from ../.
58501         * modules/crypto/gc-arcfour: Moved from ../.
58502         * modules/crypto/gc-arcfour-tests: Moved from ../.
58503         * modules/crypto/gc-arctwo: Moved from ../.
58504         * modules/crypto/gc-arctwo-tests: Moved from ../.
58505         * modules/crypto/gc-des: Moved from ../.
58506         * modules/crypto/gc-des-tests: Moved from ../.
58507         * modules/crypto/gc-hmac-md5: Moved from ../.
58508         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
58509         * modules/crypto/gc-hmac-sha1: Moved from ../.
58510         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
58511         * modules/crypto/gc-md2: Moved from ../.
58512         * modules/crypto/gc-md2-tests: Moved from ../.
58513         * modules/crypto/gc-md4: Moved from ../.
58514         * modules/crypto/gc-md4-tests: Moved from ../.
58515         * modules/crypto/gc-md5: Moved from ../.
58516         * modules/crypto/gc-md5-tests: Moved from ../.
58517         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
58518         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
58519         * modules/crypto/gc-random: Moved from ../.
58520         * modules/crypto/gc-rijndael: Moved from ../.
58521         * modules/crypto/gc-rijndael-tests: Moved from ../.
58522         * modules/crypto/gc-sha1: Moved from ../.
58523         * modules/crypto/gc-sha1-tests: Moved from ../.
58524         * modules/crypto/gc-tests: Moved from ../.
58525         * modules/crypto/hmac-md5: Moved from ../.
58526         * modules/crypto/hmac-md5-tests: Moved from ../.
58527         * modules/crypto/hmac-sha1: Moved from ../.
58528         * modules/crypto/hmac-sha1-tests: Moved from ../.
58529         * modules/crypto/md2: Moved from ../.
58530         * modules/crypto/md2-tests: Moved from ../.
58531         * modules/crypto/md4: Moved from ../.
58532         * modules/crypto/md4-tests: Moved from ../.
58533         * modules/crypto/md5: Moved from ../.
58534         * modules/crypto/md5-tests: Moved from ../.
58535         * modules/crypto/memxor: Moved from ../.
58536         * modules/crypto/rijndael: Moved from ../.
58537         * modules/crypto/rijndael-tests: Moved from ../.
58538         * modules/crypto/sha1: Moved from ../.
58539
58540 2007-03-30  James Youngman  <jay@gnu.org>
58541
58542         * tests/test-stat-time.c (prepare_test): use chmod() rather than
58543         rename() to change the ctime of a file (because ctime is unaffected
58544         by rename on jfs2 on AIX 5.1).
58545         (main): Start by doing cleanup, in case a previous run failed leaving
58546         test files behind.
58547
58548 2007-03-31  Bruno Haible  <bruno@clisp.org>
58549
58550         Support old proprietary implementations of iconv.
58551         * modules/iconv_open: New file.
58552         * lib/iconv_.h: New file.
58553         * m4/iconv_h.m4: New file.
58554         * lib/iconv_open.c: New file.
58555         * lib/iconv_open-aix.gperf: New file.
58556         * lib/iconv_open-hpux.gperf: New file.
58557         * lib/iconv_open-irix.gperf: New file.
58558         * lib/iconv_open-osf.gperf: New file.
58559         * m4/iconv_open.m4: New file.
58560         * modules/linebreak (Depends-on): Add iconv_open.
58561         * modules/striconv (Depends-on): Likewise.
58562         * modules/striconveh (Depends-on): Likewise.
58563         * modules/unicodeio (Depends-on): Likewise.
58564         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
58565         (iconv_t)(-1).
58566         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
58567         conversion if cd is (iconv_t)(-1).
58568         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
58569         is not possible.
58570
58571 2007-03-31  Bruno Haible  <bruno@clisp.org>
58572
58573         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
58574         work on Solaris either. Protect also second use of "autodetect_jp".
58575
58576 2007-03-31  Bruno Haible  <bruno@clisp.org>
58577
58578         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
58579         the function is not present.
58580
58581 2007-03-31  Bruno Haible  <bruno@clisp.org>
58582
58583         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
58584         the function is not present.
58585
58586 2007-03-31  Bruno Haible  <bruno@clisp.org>
58587
58588         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
58589         a bug in HP-UX iconv_open().
58590
58591 2007-03-31  Bruno Haible  <bruno@clisp.org>
58592
58593         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
58594         (Mathematics <math.h>): New section, add fpieee.
58595         (Input/output <stdio.h>): Add fseterr.
58596         (Mathematics <math.h>): New section, add printf-frexp.
58597         (Container data structures): Add sublist.
58598         (Core language properties): Add fpucw, inline.
58599         (Functions for greatest-width integer types <inttypes.h>): Add
58600         imaxabs, imaxdiv, inttypes.
58601         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
58602         isnanl-nolibm, ldexp.
58603         (Mathematics <math.h>): New section, add printf-frexpl.
58604         (Support for systems lacking POSIX:2001): Add fprintf-posix,
58605         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
58606         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
58607         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
58608         (Unicode string functions): Add unistr/u*-mbtoucr.
58609         (Java): Add javacomp-script, javaexec-script.
58610         (C#): Add csharpcomp-script, csharpexec-script.
58611         (Support for building libraries and executables): Add havelib,
58612         relocatable-*.
58613         (Support for maintaining and releasing projects): Renamed from
58614         'Support for maintaining and release projects'. Add announce-gen.
58615
58616 2007-03-31  Bruno Haible  <bruno@clisp.org>
58617
58618         * README: Talk primarily about git.
58619         (git and CVS): Renamed from CVS.
58620         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
58621         gnulib is available through git.
58622         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
58623
58624 2007-03-30  Bruno Haible  <bruno@clisp.org>
58625
58626         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
58627         * lib/poll_.h: Likewise.
58628         * lib/stat_.h: Likewise.
58629         * lib/sys_time_.h: Likewise.
58630         * lib/sysexit_.h: Likewise.
58631         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
58632         * lib/stdbool_.h: Likewise.
58633         * lib/byteswap_.h: Add double-inclusion guard.
58634
58635 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
58636
58637         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
58638
58639 2007-03-30  Karl Berry  <karl@gnu.org>
58640
58641         * config/srclist-update: double space after USA in the license
58642         substitution, since that's how it's usually (?) written.
58643
58644 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
58645
58646         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
58647         reported by Bruno Haible.
58648
58649 2007-03-29  Bruno Haible  <bruno@clisp.org>
58650
58651         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
58652         a bug in AIX iconv().
58653
58654 2007-03-29  Bruno Haible  <bruno@clisp.org>
58655
58656         * modules/ldexpl-tests: New file.
58657         * tests/test-ldexpl.c: New file.
58658
58659 2007-03-29  Bruno Haible  <bruno@clisp.org>
58660
58661         * lib/ldexpl.c: Include fpucw.h.
58662         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
58663         multiplication.
58664         * modules/ldexpl (Depends-on): Add fpucw.
58665
58666 2007-03-29  Bruno Haible  <bruno@clisp.org>
58667
58668         * modules/ldexpl: New file.
58669         * m4/ldexpl.m4: New file.
58670         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
58671         set.
58672         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
58673         REPLACE_LDEXPL.
58674         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
58675         REPLACE_LDEXPL.
58676         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
58677         gl_FUNC_LDEXPL_WORKS.
58678         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
58679         * modules/mathl (Files): Remove lib/ldexpl.c.
58680         (Depends-on): Add ldexpl.
58681
58682 2007-03-29  Bruno Haible  <bruno@clisp.org>
58683
58684         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
58685
58686 2007-03-29  Bruno Haible  <bruno@clisp.org>
58687
58688         * tests/test-striconveh.c (main): Don't assume that a direct conversion
58689         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
58690         and possibly also HP-UX.
58691         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
58692         work on AIX, IRIX, HP-UX, OSF/1.
58693         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
58694         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
58695         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
58696         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
58697         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
58698         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
58699
58700 2007-03-29  Bruno Haible  <bruno@clisp.org>
58701
58702         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
58703
58704 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
58705
58706         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
58707         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
58708
58709 2007-03-29  Eric Blake  <ebb9@byu.net>
58710
58711         * lib/acl-internal.h: Remove redundant include.
58712         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
58713         Cygwin when a file is locked.
58714
58715 2007-03-29  Bruno Haible  <bruno@clisp.org>
58716
58717         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
58718         file.
58719         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
58720
58721 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
58722
58723         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
58724         try to remove a parent directory if the child couldn't be removed
58725         (except for the first rmdir, which could fail because the child
58726         doesn't exist).  Problem reported by Jeff Blaine in
58727         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
58728
58729 2007-03-28  Bruno Haible  <bruno@clisp.org>
58730
58731         * lib/striconveh.c (utf8conv_carefully): New function.
58732         (mem_cd_iconveh_internal): Invoke it.
58733
58734 2007-03-28  Bruno Haible  <bruno@clisp.org>
58735
58736         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
58737         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
58738         input.
58739         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
58740         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
58741         unistr/u8-uctomb.
58742
58743 2007-03-28  Bruno Haible  <bruno@clisp.org>
58744
58745         * modules/unistr/u8-mbtoucr: New file.
58746         * lib/unistr/u8-mbtoucr.c: New file.
58747         * modules/unistr/u16-mbtoucr: New file.
58748         * lib/unistr/u16-mbtoucr.c: New file.
58749         * modules/unistr/u16-mbtoucr: New file.
58750         * lib/unistr/u16-mbtoucr.c: New file.
58751         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
58752
58753 2007-03-27  Simon Josefsson  <simon@josefsson.org>
58754             Bruno Haible  <bruno@clisp.org>
58755
58756         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
58757         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
58758         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
58759
58760         * m4/stdio_h.m4: Add stubs for vasprintf too.
58761
58762         * modules/stdio: Support vasprintf in sed command.
58763
58764         * modules/vasprintf: Depend on stdio for prototypes.  Remove
58765         vasprintf.h.  Add stdio module indicator.
58766
58767         * lib/stdio_.h: Declare asprintf and vasprintf, based on
58768         vasprintf.h.
58769
58770         * lib/vasprintf.h: File removed.
58771
58772         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
58773         * lib/vasprintf.c: Ditto.
58774         * lib/xvasprintf.c: Ditto.
58775         * tests/test-vasprintf-posix.c: Ditto.
58776         * tests/test-vasprintf.c: Ditto.
58777
58778 2007-03-27  Bruno Haible  <bruno@clisp.org>
58779
58780         Make vasnprintf multithread-safe.
58781         * lib/vasnprintf.c (decimal_point_char): New function.
58782         (VASNPRINTF): Use it.
58783         Suggested by Simon Josefsson.
58784
58785 2007-03-27  Eric Blake  <ebb9@byu.net>
58786
58787         Support sub-second birthtime on cygwin.
58788         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
58789         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
58790         (get_stat_birthtime): Also work with st_birthtim.
58791
58792 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
58793
58794         * lib/stat-time.h (USE_BIRTHTIME): Remove.
58795         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
58796         (get_stat_birthtime_ns): Do not try to use "spare" fields.
58797         (get_stat_birthtime_ns): Simplify compile-time tests.
58798         (get_stat_birthtime): Change the API to look like
58799         get_stat_mtime etc., except return a negative tv_nsec on error.
58800         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
58801         Don't check for "spare" fields.
58802         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
58803         or for struct stat.st_birthtime, as these tests aren't used.
58804         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
58805
58806 2007-03-27  Bruno Haible  <bruno@clisp.org>
58807
58808         * lib/stat-time.h: Include <sys/stat.h>.
58809
58810 2007-03-27  James Youngman  <jay@gnu.org>
58811
58812         * lib/stat-time.h (get_stat_birthtime): New function for
58813           retrieving st_birthtime as provided by UFS2 (hence *BSD).
58814         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
58815           and its variants.
58816         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
58817         * modules/stat-time-test: New file.
58818         * tests/test-stat-time.c: New test, devised by Bruno Haible.
58819
58820 2007-03-26  Bruno Haible  <bruno@clisp.org>
58821
58822         Better support of signalling NaNs.
58823         * lib/atanl.c: Include isnanl.h.
58824         (atanl): Perform test for NaN at the beginning of the function and
58825         through a call to isnanl.
58826         * lib/cosl.c: Include isnanl.h.
58827         (cosl): Perform test for NaN at the beginning of the function and
58828         through a call to isnanl.
58829         * lib/ldexpl.c: Include isnanl.h.
58830         (ldexpl): Perform test for NaN through a call to isnanl.
58831         * lib/logl.c: Include isnanl.h.
58832         (logl): Perform test for NaN at the beginning of the function and
58833         through a call to isnanl.
58834         * lib/sinl.c: Include isnanl.h.
58835         (sinl): Perform test for NaN at the beginning of the function and
58836         through a call to isnanl.
58837         * lib/sqrtl.c: Include isnanl.h.
58838         (sqrtl): Perform test for NaN at the beginning of the function and
58839         through a call to isnanl.
58840         * lib/tanl.c: Include isnanl.h.
58841         (tanl): Perform test for NaN at the beginning of the function and
58842         through a call to isnanl.
58843         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
58844         * modules/mathl (Depends-on): Add isnanl.
58845
58846 2007-03-26  Eric Blake  <ebb9@byu.net>
58847
58848         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
58849         regression in logic sense of previous patch.
58850
58851 2007-03-26  Bruno Haible  <bruno@clisp.org>
58852
58853         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
58854         unportable shell command "if ! ...".
58855         Reported by Ralf Wildenhues.
58856
58857 2007-03-25  Bruno Haible  <bruno@clisp.org>
58858
58859         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
58860         <sysexits.h> file, and only add EX_CONFIG.
58861         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
58862         absolute file name and whether it is sufficient. Substitute also
58863         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
58864         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
58865         ABSOLUTE_SYSEXITS_H into sysexits.h.
58866
58867 2007-03-25  Bruno Haible  <bruno@clisp.org>
58868
58869         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
58870         hints is NULL.
58871
58872 2007-03-25  Bruno Haible  <bruno@clisp.org>
58873
58874         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
58875         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
58876
58877 2007-03-25  Bruno Haible  <bruno@clisp.org>
58878
58879         * lib/vasnprintf.c: Include langinfo.h.
58880         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
58881         multithread-safe.
58882         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
58883         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
58884         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58885         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58886         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58887         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58888         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58889         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
58890         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58891         Reported by Simon Josefsson.
58892
58893 2007-03-25  Bruno Haible  <bruno@clisp.org>
58894
58895         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
58896         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
58897         * modules/vasnprintf (Depends-on): Add stdint.
58898
58899 2007-03-25  Bruno Haible  <bruno@clisp.org>
58900
58901         * modules/fpieee: New file.
58902         * m4/fpieee.m4: New file.
58903         * modules/isnan-nolibm (Depends-on): Add fpieee.
58904         * modules/isnanl-nolibm (Depends-on): Add fpieee.
58905         * modules/isnanl (Depends-on): Add fpieee.
58906
58907 2007-03-25  Bruno Haible  <bruno@clisp.org>
58908
58909         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
58910
58911 2007-03-25  Bruno Haible  <bruno@clisp.org>
58912
58913         Avoid test failures on IRIX 6.5.
58914         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
58915         (main): Use it.
58916         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
58917         macros.
58918         (main): Use them.
58919
58920 2007-03-25  Bruno Haible  <bruno@clisp.org>
58921
58922         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
58923         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
58924         exists but doesn't work.
58925         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
58926         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
58927         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
58928         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
58929         math.h.
58930
58931 2007-03-25  Bruno Haible  <bruno@clisp.org>
58932
58933         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
58934         returns inf. Needed on IRIX 6.5.
58935
58936 2007-03-25  Bruno Haible  <bruno@clisp.org>
58937
58938         * tests/test-frexpl.c: Include isnanl-nolibm.h.
58939         (main): Use isnanl instead of x != x idiom.
58940         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
58941
58942         * tests/test-frexp.c: Include isnan.h.
58943         (main): Use isnan instead of x != x idiom.
58944         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
58945
58946 2007-03-25  Bruno Haible  <bruno@clisp.org>
58947
58948         * tests/test-frexp.c (NaN): New function/macro.
58949         (main): Use it instead of 0.0 / 0.0.
58950         * tests/test-isnan.c (NaN): New function/macro.
58951         (main): Use it instead of 0.0 / 0.0.
58952         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
58953         (test_function): Use it instead of 0.0 / 0.0.
58954         * tests/test-vasprintf-posix.c (NaN): New function/macro.
58955         (test_function): Use it instead of 0.0 / 0.0.
58956         * tests/test-snprintf-posix.h (NaN): New function/macro.
58957         (test_function): Use it instead of 0.0 / 0.0.
58958         * tests/test-sprintf-posix.h (NaN): New function/macro.
58959         (test_function): Use it instead of 0.0 / 0.0.
58960         * tests/test-fprintf-posix.h (NaN): New function/macro.
58961         (test_function): Use it instead of 0.0 / 0.0.
58962         * tests/test-printf-posix.h (NaN): New function/macro.
58963         (test_function): Use it instead of 0.0 / 0.0.
58964
58965         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
58966
58967 2007-03-25  Bruno Haible  <bruno@clisp.org>
58968
58969         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
58970
58971 2007-03-25  Bruno Haible  <bruno@clisp.org>
58972
58973         * lib/regexec.c (merge_state_with_log): Make static.
58974
58975 2007-03-25  Bruno Haible  <bruno@clisp.org>
58976
58977         * lib/trigl.c (kernel_rem_pio2): Make static.
58978
58979 2007-03-25  Bruno Haible  <bruno@clisp.org>
58980
58981         * lib/sincosl.c (sincosl_table): Make static.
58982
58983 2007-03-25  Bruno Haible  <bruno@clisp.org>
58984
58985         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
58986         if the compiler does not support C99.
58987
58988 2007-03-25  Bruno Haible  <bruno@clisp.org>
58989
58990         * modules/time (Makefile.am): Ensure all rule action lines start with a
58991         tab.
58992
58993 2007-03-24  Bruno Haible  <bruno@clisp.org>
58994
58995         * modules/tsearch-tests: New file.
58996         * tests/test-tsearch.sh: New file.
58997         * tests/test-tsearch.c: New file, mostly copied from glibc.
58998
58999         * modules/search-tests: New file.
59000         * tests/test-search.c: New file.
59001
59002         * modules/search: New file.
59003         * lib/search_.h: New file, incorporating lib/tsearch.h.
59004         * m4/search_h.m4: New file.
59005         * lib/tsearch.h: Remove file.
59006         * lib/tsearch.c: Include search.h instead of tsearch.h.
59007         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
59008         HAVE_TSEARCH.
59009         * modules/tsearch (Files): Remove lib/tsearch.h.
59010         (Depends-on): Add search.
59011         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
59012         (Include): Change tsearch.h into search.h.
59013
59014 2007-03-24  Bruno Haible  <bruno@clisp.org>
59015
59016         * modules/fpucw: New file.
59017         * lib/fpucw.h: New file.
59018         * lib/frexp.c: Include fpucw.h.
59019         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
59020         (FUNC): Use them.
59021         * lib/printf-frexp.c: Include fpucw.h.
59022         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
59023         (FUNC): Use them.
59024         * lib/vasnprintf.c: Include fpucw.h.
59025         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
59026         'long double' calculations.
59027         * tests/test-frexpl.c: Include fpucw.h.
59028         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
59029         * tests/test-printf-frexpl.c: Include fpucw.h.
59030         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
59031         * modules/frexpl (Depends-on): Add fpucw.
59032         * modules/printf-frexpl (Depends-on): Likewise.
59033         * modules/fprintf-posix (Depends-on): Likewise.
59034         * modules/snprintf-posix (Depends-on): Likewise.
59035         * modules/sprintf-posix (Depends-on): Likewise.
59036         * modules/vasnprintf-posix (Depends-on): Likewise.
59037         * modules/vasprintf-posix (Depends-on): Likewise.
59038         * modules/vfprintf-posix (Depends-on): Likewise.
59039         * modules/vsnprintf-posix (Depends-on): Likewise.
59040         * modules/vsprintf-posix (Depends-on): Likewise.
59041         * modules/frexpl-tests (Depends-on): Likewise.
59042         * modules/printf-frexpl-tests (Depends-on): Likewise.
59043
59044 2007-03-24  Bruno Haible  <bruno@clisp.org>
59045
59046         * lib/float+.h: New file.
59047         * lib/isnan.c: Include float+.h.
59048         (SIZE): New macro.
59049         (FUNC): Compare only SIZE bytes of the value.
59050         * lib/vasnprintf.c: Include float+.h.
59051         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
59052         SIZEOF_LDBL or SIZEOF_DBL bytes.
59053         * modules/isnan-nolibm (Files): Add lib/float+.h.
59054         * modules/isnanl-nolibm (Files): Add lib/float+.h.
59055         * modules/isnanl (Files): Add lib/float+.h.
59056         * modules/vasnprintf (Files): Add lib/float+.h.
59057
59058 2007-03-24  Bruno Haible  <bruno@clisp.org>
59059
59060         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
59061         include isnanl-nolibm.h.
59062
59063 2007-03-24  Bruno Haible  <bruno@clisp.org>
59064
59065         * tests/test-read-file.c (main): Don't produce spurious output for
59066         expected situations. Make the test fail if it encountered unexpected
59067         results.
59068
59069 2007-03-24  Bruno Haible  <bruno@clisp.org>
59070
59071         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
59072         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
59073
59074 2007-03-24  Bruno Haible  <bruno@clisp.org>
59075
59076         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
59077
59078 2007-03-24  Bruno Haible  <bruno@clisp.org>
59079
59080         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
59081         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
59082
59083         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
59084         * modules/utf8-ucs4: Turn into a symbolic link to module
59085         unistr/u8-mbtouc.
59086
59087         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
59088         utf8-ucs4-unsafe.
59089         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
59090         unistr/u8-mbtouc-unsafe.
59091
59092         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
59093         * modules/utf16-ucs4: Turn into a symbolic link to module
59094         unistr/u16-mbtouc.
59095
59096         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
59097         utf16-ucs4-unsafe.
59098         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
59099         unistr/u16-mbtouc-unsafe.
59100
59101         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
59102         * modules/ucs4-utf8: Turn into a symbolic link to module
59103         unistr/u8-ubtomb.
59104
59105         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
59106         * modules/ucs4-utf16: Turn into a symbolic link to module
59107         unistr/u16-ubtomb.
59108
59109 2007-03-24  Bruno Haible  <bruno@clisp.org>
59110
59111         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
59112         Enable the function only if HAVE_INLINE.
59113         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
59114         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
59115         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
59116         Enable the function only if HAVE_INLINE.
59117         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
59118         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
59119         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
59120         Enable the function only if HAVE_INLINE.
59121         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
59122         Enable the function only if HAVE_INLINE.
59123         * modules/utf8-ucs4: Update.
59124         * modules/utf8-ucs4-unsafe: Update.
59125         * modules/utf16-ucs4: Update.
59126         * modules/utf16-ucs4-unsafe: Update.
59127         * modules/ucs4-utf8: Update.
59128         * modules/ucs4-utf16: Update.
59129
59130 2007-03-24  Bruno Haible  <bruno@clisp.org>
59131
59132         * lib/utf8-ucs4.h: Remove file.
59133         * lib/utf8-ucs4-unsafe.h: Remove file.
59134         * lib/utf16-ucs4.h: Remove file.
59135         * lib/utf16-ucs4-unsafe.h: Remove file.
59136         * lib/ucs4-utf8.h: Remove file.
59137         * lib/ucs4-utf16.h: Remove file.
59138         * lib/unistr.h: Include their previous contents.
59139         * m4/utf-ucs4.m4: Remove file.
59140         * m4/ucs4-utf.m4: Remove file.
59141         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
59142         (Depends-on): Add unistr/base.
59143         (configure.ac): Remove gl_UTF_UCS4.
59144         (Makefile.am): Update.
59145         (Include): Change to unistr.h.
59146         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
59147         (Depends-on): Add unistr/base.
59148         (configure.ac): Remove gl_UTF_UCS4.
59149         (Makefile.am): Update.
59150         (Include): Change to unistr.h.
59151         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
59152         (Depends-on): Add unistr/base.
59153         (configure.ac): Remove gl_UTF_UCS4.
59154         (Makefile.am): Update.
59155         (Include): Change to unistr.h.
59156         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
59157         (Depends-on): Add unistr/base.
59158         (configure.ac): Remove gl_UTF_UCS4.
59159         (Makefile.am): Update.
59160         (Include): Change to unistr.h.
59161         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
59162         (Depends-on): Add unistr/base.
59163         (configure.ac): Remove gl_UCS4_UTF.
59164         (Makefile.am): Update.
59165         (Include): Change to unistr.h.
59166         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
59167         (Depends-on): Add unistr/base.
59168         (configure.ac): Remove gl_UCS4_UTF.
59169         (Makefile.am): Update.
59170         (Include): Change to unistr.h.
59171         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
59172         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
59173         utf8-ucs4-unsafe.h.
59174         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
59175         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
59176         utf16-ucs4-unsafe.h.
59177         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
59178         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
59179         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
59180         * lib/unistr/u8-strchr.c: Likewise.
59181         * lib/unistr/u8-strrchr.c: Likewise.
59182         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
59183         * lib/unistr/u16-strchr.c: Likewise.
59184         * lib/unistr/u16-strrchr.c: Likewise.
59185         * lib/striconveh.c: Update.
59186         * lib/linebreak.c: Update.
59187
59188 2007-03-24  Bruno Haible  <bruno@clisp.org>
59189
59190         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
59191         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
59192
59193 2007-03-22  Bruno Haible  <bruno@clisp.org>
59194
59195         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
59196
59197 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
59198
59199         * MODULES.html.sh (File system functions): New module write-any-file.
59200         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
59201         * m4/write-any-file.m4: New files.
59202
59203 2007-03-23  Eric Blake  <ebb9@byu.net>
59204
59205         * gnulib-tool: Rearrange space-tab sequences, since some editors
59206         like to eat them.
59207
59208 2007-03-23  Eric Blake  <ebb9@byu.net>
59209
59210         * lib/version-etc.c (version_etc_va): Update license wording to
59211         be more concise.  Recommended by Richard Stallman.
59212
59213 2007-03-22  Bruno Haible  <bruno@clisp.org>
59214
59215         * lib/poll.c (MSG_PEEK): New fallback definition.
59216
59217 2007-03-22  Bruno Haible  <bruno@clisp.org>
59218
59219         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
59220         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
59221         (main): Update.
59222         Fixes a compilation error on BeOS.
59223
59224 2007-03-22  Bruno Haible  <bruno@clisp.org>
59225
59226         * modules/frexpl-tests: New file.
59227         * tests/test-frexpl.c: New file.
59228
59229         * modules/frexpl: New file.
59230         * m4/frexpl.m4: New file.
59231         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
59232         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
59233         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
59234         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
59235         (Depends-on): Add frexpl. Remove isnanl-nolibm.
59236         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
59237
59238 2007-03-22  Bruno Haible  <bruno@clisp.org>
59239
59240         * lib/frexpl.c: Share code with lib/frexp.c.
59241         * modules/mathl (Files): Add lib/frexp.c.
59242         (Depends-on): Add isnanl-nolibm.
59243
59244 2007-03-22  Bruno Haible  <bruno@clisp.org>
59245
59246         * modules/printf-frexp (Files): Add m4/frexp.m4.
59247         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
59248         only if the found frexp function actually works.
59249
59250 2007-03-22  Bruno Haible  <bruno@clisp.org>
59251
59252         * lib/frexp.c: Remove older implementation that uses divisions.
59253
59254 2007-03-21  Bruno Haible  <bruno@clisp.org>
59255
59256         * modules/frexp-tests: New file.
59257         * tests/test-frexp.c: New file.
59258
59259         * modules/frexp: New file.
59260         * lib/frexp.c: New file.
59261         * m4/frexp.m4: New file.
59262         * lib/math_.h (frexp): New declaration.
59263         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
59264         REPLACE_FREXP.
59265         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
59266
59267 2007-03-21  Bruno Haible  <bruno@clisp.org>
59268
59269         * modules/isnanl-tests: New file.
59270         * tests/test-isnanl.c: New file.
59271
59272         * modules/isnanl: New file.
59273         * lib/isnanl.h: New file.
59274         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
59275         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
59276         gl_FUNC_ISNANL_WORKS.
59277         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
59278         New macros.
59279
59280 2007-03-21  Bruno Haible  <bruno@clisp.org>
59281
59282         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
59283         lib/isnanl.h.
59284         (Include): Update.
59285         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
59286         * lib/vasnprintf.c: Update.
59287         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
59288         tests/test-isnanl.h, remove tests/test-isnanl.c.
59289         (Makefile.am): Update.
59290         * tests/test-isnanl-nolibm.c: New file.
59291         * tests/test-isnanl.h: New file.
59292         * tests/test-isnanl.c: Remove file.
59293
59294 2007-03-21  Jim Meyering  <jim@meyering.net>
59295
59296         When trying to open ".", treat ESTALE like EACCES.
59297         * lib/savewd.c (savewd_save): Resort to forking not just upon
59298         failure with EACCES, but also when errno is ESTALE.
59299
59300 2007-03-20  Bruno Haible  <bruno@clisp.org>
59301
59302         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
59303         Needed on AIX 5.1. Reported by Matthew Woehlke.
59304
59305 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
59306
59307         Suggestions by Bruno Haible:
59308         * lib/acl-internal.h: Include "gettext.h" rather than rolling
59309         our own.
59310         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
59311         * modules/acl (Depends-on): Add gettext.
59312
59313 2007-03-19  Bruno Haible  <bruno@clisp.org>
59314
59315         * modules/iconvme: Remove file.
59316         * lib/iconvme.h: Remove file.
59317         * lib/iconvme.c: Remove file.
59318         * m4/iconvme.m4: Remove file.
59319
59320 2007-03-19  Bruno Haible  <bruno@clisp.org>
59321
59322         * doc/relocatable-maint.texi: Break long shell script line.
59323         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
59324
59325 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
59326
59327         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
59328         handle file_has_acl.
59329         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
59330         * lib/acl.c: Move header inclusions and related macro defns into
59331         lib/acl-internal.h.
59332         (S_ISLNK): Remove defn, since that's now done for us.
59333         (file_has_acl): Move to lib/file-has-acl.c.
59334         Call acl_trivial if available.  This is the crucial part of the fix.
59335         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
59336         shared within the library.  Rewrite a bit, partly to make it compatible
59337         with the GNU coding style.
59338         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
59339         Remove unnecessary double-quotes.
59340         Don't test for acl_to_text; the build will catch that.
59341         Replace acl_entries if it doesn't exist and it is needed.
59342         Check for -lsec and acl_trivial (as used on Solaris 10).
59343         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
59344         lib/file-has-acl.c.
59345         (Depends-on): Add sys_stat, for S_ISLNK.
59346
59347 2007-03-19  Ben Pfaff  <blp@gnu.org>
59348
59349         * doc/gnulib.texi: Fix typos.
59350         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
59351
59352 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
59353
59354         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
59355         If size is zero here, buf must be zero.
59356
59357 2007-03-19  Simon Josefsson  <simon@josefsson.org>
59358
59359         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
59360         <bruno@clisp.org>.
59361
59362 2007-03-18  Bruno Haible  <bruno@clisp.org>
59363
59364         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
59365         Suggested by Eric Blake.
59366
59367 2007-03-18  Ben Pfaff  <blp@gnu.org>
59368
59369         * doc/relocatable.texi: Recommend using as prefix a directory
59370         that does not exist and will never be created.  Based on
59371         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
59372         and others.
59373
59374 2007-03-17  Bruno Haible  <bruno@clisp.org>
59375
59376         * lib/fchownat.c: Include lchown.h.
59377
59378 2007-03-17  Bruno Haible  <bruno@clisp.org>
59379
59380         Fix endless loop when the given allocated size was > INT_MAX.
59381         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
59382         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
59383         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
59384         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
59385         * lib/sprintf.c (sprintf): Likewise.
59386
59387 2007-03-17  Bruno Haible  <bruno@clisp.org>
59388
59389         * tests/test-argp-2.sh (func_compare): Output a context diff.
59390
59391 2007-03-17  Bruno Haible  <bruno@clisp.org>
59392
59393         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
59394         locale's decimal-point character.
59395
59396 2007-03-17  Bruno Haible  <bruno@clisp.org>
59397
59398         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
59399         before comparing it. Needed because on some platforms (e.g. x86) a
59400         'long double' occupies less bytes than sizeof (long double).
59401
59402 2007-03-17  Bruno Haible  <bruno@clisp.org>
59403
59404         * tests/test-crc.c (main): Make printf statements 64-bit clean.
59405         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
59406         * tests/test-getaddrinfo.c (simple): Likewise.
59407         * tests/test-read-file.c (main): Likewise.
59408
59409 2007-03-17  Bruno Haible  <bruno@clisp.org>
59410
59411         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
59412
59413 2007-03-17  Bruno Haible  <bruno@clisp.org>
59414
59415         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
59416         unused variable.
59417
59418 2007-03-17  Bruno Haible  <bruno@clisp.org>
59419
59420         * tests/test-c-strcasecmp.c: Include c-strcase.h.
59421         * tests/test-c-strncasecmp.c: Likewise.
59422
59423 2007-03-17  Bruno Haible  <bruno@clisp.org>
59424
59425         * modules/stdlib (Depends-on): Add unistd.
59426         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
59427         Needed for MacOS X 10.3.
59428
59429 2007-03-17  Bruno Haible  <bruno@clisp.org>
59430
59431         * lib/unistr/u-strdup.h: Include <stdlib.h>.
59432
59433 2007-03-17  Bruno Haible  <bruno@clisp.org>
59434
59435         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
59436
59437 2007-03-17  Bruno Haible  <bruno@clisp.org>
59438
59439         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
59440         to reflect files copied from gnulib (with or without modifications).
59441         Suggested by Jim Meyering.
59442
59443 2007-03-17  Eric Blake  <ebb9@byu.net>
59444
59445         * NEWS: Document stdlib change from 2007-02-18.
59446
59447 2007-03-17  Jim Meyering  <jim@meyering.net>
59448
59449         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
59450         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
59451         someone uses a name containing shell meta-characters.
59452         Reported by Alfred M. Szmidt.
59453
59454         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
59455
59456 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
59457
59458         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
59459         and copy gettext configuration files only if configure.ac contains
59460         a use of AM_GNU_GETTEXT_VERSION.
59461
59462 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
59463
59464         * build-aux/bootstrap (gnulib_name): New variable.
59465         (gnulib_tool_options): Use it.
59466
59467 2007-03-13  Simon Josefsson  <simon@josefsson.org>
59468
59469         * tests/test-des.c: Use new namespace.
59470
59471 2007-03-15  Bruno Haible  <bruno@clisp.org>
59472
59473         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
59474         Reported by James Youngman <jay@gnu.org>.
59475
59476 2007-03-15  Bruno Haible  <bruno@clisp.org>
59477
59478         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
59479         declared prototype. Needed with cc on OSF/1 5.1.
59480
59481 2007-03-15  Bruno Haible  <bruno@clisp.org>
59482
59483         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
59484         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
59485         (struct gl_list_implementation): Add dispose_fn argument to the
59486         'create_empty', 'create' methods.
59487         (struct gl_list_impl_base): Add field 'dispose_fn'.
59488         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
59489         argument.
59490         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
59491         dispose_fn argument.
59492         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
59493         dispose_fn on the dropped values.
59494         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
59495         dispose_fn argument.
59496         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
59497         dropped values.
59498         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
59499         (gl_tree_remove_node): Call dispose_fn on the dropped value.
59500         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
59501         (gl_tree_remove_node): Call dispose_fn on the dropped value.
59502         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
59503         argument.
59504         (gl_tree_list_free): Call dispose_fn on the dropped values.
59505         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
59506         the dropped values.
59507         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
59508         Add dispose_fn argument.
59509         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
59510         Call dispose_fn on the dropped values.
59511         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
59512         Add dispose_fn argument.
59513         (gl_sublist_create): Initialize the 'dispose_fn' field.
59514         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
59515         * tests/test-array_list.c (main): Update.
59516         * tests/test-carray_list.c (main): Update.
59517         * tests/test-avltree_list.c (main): Update.
59518         * tests/test-rbtree_list.c (main): Update.
59519         * tests/test-avltreehash_list.c (main): Update.
59520         * tests/test-rbtreehash_list.c (main): Update.
59521         * tests/test-linked_list.c (main): Update.
59522         * tests/test-linkedhash_list.c (main): Update.
59523         * tests/test-array_oset.c (main): Update.
59524
59525 2007-03-15  Bruno Haible  <bruno@clisp.org>
59526
59527         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
59528         (gl_oset_create_empty): Add dispose_fn argument.
59529         (struct gl_oset_implementation): Add dispose_fn argument to
59530         'create_empty' method.
59531         (struct gl_oset_impl_base): Add dispose_fn field.
59532         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
59533         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
59534         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
59535         values.
59536         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
59537         (gl_tree_oset_free): Call dispose_fn on the dropped values.
59538         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
59539         dropped value.
59540         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
59541         dropped value.
59542         * tests/test-array_oset.c (main): Update.
59543         * tests/test-avltree_oset.c (main): Update.
59544         * tests/test-rbtree_oset.c (main): Update.
59545         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
59546
59547 2007-03-13  Bruno Haible  <bruno@clisp.org>
59548
59549         * tests/test-stdbool.c (i): Update after last patch.
59550
59551 2007-03-12  Bruno Haible  <bruno@clisp.org>
59552
59553         * lib/quotearg.c: Include <wctype.h> early, before the definition of
59554         the iswprint macro. Needed on Solaris 2.5.1.
59555
59556 2007-03-12  Bruno Haible  <bruno@clisp.org>
59557
59558         * tests/test-printf-frexp.c (main): Declare x as volatile.
59559
59560 2007-03-12  Simon Josefsson  <simon@josefsson.org>
59561
59562         * doc/gnulib.texi (Build robot for gnulib): New section.
59563
59564 2007-03-12  Jim Meyering  <jim@meyering.net>
59565
59566         * build-aux/bootstrap: New file.
59567         * build-aux/bootstrap.conf: New file, from coreutils.
59568
59569 2007-03-11  Bruno Haible  <bruno@clisp.org>
59570
59571         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
59572
59573 2007-03-12  Simon Josefsson  <simon@josefsson.org>
59574
59575         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
59576         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
59577         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
59578
59579 2007-03-11  Bruno Haible  <bruno@clisp.org>
59580
59581         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
59582         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
59583
59584 2007-03-11  Bruno Haible  <bruno@clisp.org>
59585
59586         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
59587         formula. Needed for SunPRO C 5.0.
59588
59589 2007-03-11  Bruno Haible  <bruno@clisp.org>
59590
59591         * modules/long-options (Depends-on): Add getopt.
59592
59593 2007-03-11  Bruno Haible  <bruno@clisp.org>
59594
59595         * modules/modechange (Depends-on): Add stdbool.
59596
59597 2007-03-11  Bruno Haible  <bruno@clisp.org>
59598
59599         * modules/i-ring (Depends-on): Add stdbool.
59600
59601 2007-03-11  Bruno Haible  <bruno@clisp.org>
59602
59603         * modules/gc-des (Depends-on): Add stdbool.
59604
59605 2007-03-11  Bruno Haible  <bruno@clisp.org>
59606
59607         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
59608
59609 2007-03-11  Bruno Haible  <bruno@clisp.org>
59610
59611         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
59612
59613 2007-03-11  Bruno Haible  <bruno@clisp.org>
59614
59615         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
59616
59617 2007-03-11  Bruno Haible  <bruno@clisp.org>
59618
59619         * lib/vasnprintf.c (sprintf): Undefine.
59620
59621 2007-03-11  Bruno Haible  <bruno@clisp.org>
59622
59623         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
59624         initializers in SunPRO C and Compaq C compilers.
59625
59626 2007-03-11  Bruno Haible  <bruno@clisp.org>
59627
59628         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
59629         decrementing code ANSI C compliant.
59630
59631 2007-03-11  Bruno Haible  <bruno@clisp.org>
59632
59633         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
59634         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
59635
59636 2007-03-11  Bruno Haible  <bruno@clisp.org>
59637
59638         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
59639         <stdbool.h> substitute doesn't pass.
59640
59641 2007-03-11  Bruno Haible  <bruno@clisp.org>
59642
59643         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
59644
59645 2007-03-11  Bruno Haible  <bruno@clisp.org>
59646
59647         * gnulib-tool (func_create_megatestdir): Create also an autobuild
59648         script, for submission to autobuild.josefsson.org.
59649
59650 2007-03-10  Bruno Haible  <bruno@clisp.org>
59651
59652         * modules/canonicalize-lgpl-tests: New file.
59653         * tests/test-canonicalize-lgpl.sh: New file.
59654         * tests/test-canonicalize-lgpl.c: New file.
59655
59656         * modules/c-strcase-tests: New file.
59657         * tests/test-c-strcase.sh: New file.
59658         * tests/test-c-strcasecmp.c: New file.
59659         * tests/test-c-strncasecmp.c: New file.
59660
59661         * modules/atexit-tests: New file.
59662         * tests/test-atexit.sh: New file.
59663         * tests/test-atexit.c: New file.
59664
59665 2007-03-10  Bruno Haible  <bruno@clisp.org>
59666
59667         * tests/test-binary-io.sh: Use temporary filenames that are not so
59668         likely to clash with those of other tests (in a parallel make).
59669         * tests/test-binary-io.c: Likewise.
59670
59671 2007-03-10  Bruno Haible  <bruno@clisp.org>
59672
59673         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
59674         fallback; use #error instead.
59675         Suggested by Simon Josefsson.
59676
59677 2007-03-10  Bruno Haible  <bruno@clisp.org>
59678
59679         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
59680         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
59681         first and the last.
59682
59683 2007-03-10  Bruno Haible  <bruno@clisp.org>
59684
59685         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
59686
59687 2007-03-10  Bruno Haible  <bruno@clisp.org>
59688
59689         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
59690         "make distcheck".
59691         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
59692         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
59693         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
59694
59695 2007-03-10  Bruno Haible  <bruno@clisp.org>
59696
59697         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
59698         variable.
59699         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
59700         variable.
59701
59702 2007-03-09  Eric Blake  <ebb9@byu.net>
59703         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
59704
59705         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
59706         types are not being provided by gnulib.
59707         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
59708         types are supported.
59709
59710 2007-03-10  Bruno Haible  <bruno@clisp.org>
59711
59712         * lib/stdio_.h (__attribute__): New macro.
59713         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
59714         vsprintf): Specify __attribute__ __format__ for GCC.
59715         Suggested by Eric Blake.
59716
59717 2007-03-09  Bruno Haible  <bruno@clisp.org>
59718
59719         * modules/printf-posix-tests: New file.
59720         * tests/test-printf-posix.sh: New file.
59721         * tests/test-printf-posix.c: New file.
59722
59723         * modules/printf-posix: New file.
59724         * lib/printf.c: New file.
59725         * m4/printf-posix-rpl.m4: New file.
59726         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
59727         REPLACE_PRINTF.
59728         * lib/stdio_.h (printf): New declaration.
59729         (format, __format__, ____printf____, ____scanf____, ____strftime____,
59730         ____strfmon____): New macros.
59731         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
59732         REPLACE_PRINTF.
59733
59734 2007-03-09  Bruno Haible  <bruno@clisp.org>
59735
59736         * tests/test-vasnprintf-posix2.sh: New file.
59737         * tests/test-vasnprintf-posix2.c: New file.
59738         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
59739         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
59740         (Makefile.am): Activate test-vasnprintf-posix2.sh.
59741
59742         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
59743         a locale dependent decimal point, rather than always '.'.
59744
59745 2007-03-09  Eric Blake  <ebb9@byu.net>
59746
59747         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
59748         spite of platforms like Tandem/NSK that define it to -1.
59749
59750 2007-03-08  Bruno Haible  <bruno@clisp.org>
59751
59752         * modules/vprintf-posix-tests: New file.
59753         * tests/test-vprintf-posix.sh: New file.
59754         * tests/test-vprintf-posix.c: New file.
59755         * tests/test-printf-posix.h: New file.
59756
59757         * modules/vprintf-posix: New file.
59758         * lib/vprintf.c: New file.
59759         * m4/vprintf-posix.m4: New file.
59760         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
59761         REPLACE_VPRINTF.
59762         * lib/stdio_.h (vprintf): New declaration.
59763         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
59764         REPLACE_VPRINTF.
59765
59766 2007-03-08  Bruno Haible  <bruno@clisp.org>
59767
59768         * modules/fprintf-posix-tests: New file.
59769         * tests/test-fprintf-posix.sh: New file.
59770         * tests/test-fprintf-posix.c: New file.
59771
59772         * modules/fprintf-posix: New file.
59773         * lib/fprintf.c: New file.
59774         * m4/fprintf-posix.m4: New file.
59775         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
59776         REPLACE_FPRINTF.
59777         * lib/stdio_.h (fprintf): New declaration.
59778         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
59779         REPLACE_FPRINTF.
59780
59781 2007-03-08  Bruno Haible  <bruno@clisp.org>
59782
59783         * modules/vfprintf-posix-tests: New file.
59784         * tests/test-vfprintf-posix.sh: New file.
59785         * tests/test-vfprintf-posix.c: New file.
59786         * tests/test-fprintf-posix.h: New file.
59787         * tests/test-fprintf-posix.out: New file.
59788
59789         * modules/vfprintf-posix: New file.
59790         * lib/vfprintf.c: New file.
59791         * m4/vfprintf-posix.m4: New file.
59792         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
59793         REPLACE_VFPRINTF.
59794         * lib/stdio_.h (vfprintf): New declaration.
59795         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
59796         REPLACE_VFPRINTF.
59797
59798 2007-03-08  Bruno Haible  <bruno@clisp.org>
59799
59800         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
59801
59802 2007-03-08  Bruno Haible  <bruno@clisp.org>
59803
59804         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
59805         instead of 'expr' invocations.
59806         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59807         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59808         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59809         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59810         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59811         Suggested by Paul Eggert.
59812
59813 2007-03-08  Bruno Haible  <bruno@clisp.org>
59814
59815         * modules/fseterr-tests: New file.
59816         * tests/test-fseterr.c: New file.
59817
59818         * modules/fseterr: New file.
59819         * lib/fseterr.h: New file.
59820         * lib/fseterr.c: New file.
59821
59822 2007-03-08  Bruno Haible  <bruno@clisp.org>
59823
59824         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
59825         * lib/getopt_.h: Likewise.
59826         * lib/mbswidth.h: Likewise.
59827         * lib/setenv.h: Likewise.
59828         * lib/vasnprintf.h: Likewise.
59829         * lib/vasprintf.h: Likewise.
59830         * lib/verror.h: Likewise.
59831         * lib/xsetenv.h: Likewise.
59832         * lib/xvasprintf.h: Likewise.
59833
59834 2007-03-08  Jim Meyering  <jim@meyering.net>
59835
59836         * users.txt: Add parted.
59837
59838         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
59839
59840 2007-03-07  Bruno Haible  <bruno@clisp.org>
59841
59842         * m4/printf.m4: Make the shell script snippets copy&pastable.
59843
59844 2007-03-02  Bruno Haible  <bruno@clisp.org>
59845
59846         * lib/netinet_in_.h: New file.
59847         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
59848         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
59849         * modules/netinet_in (Files): Add lib/netinet_in_.h.
59850         (Depends-on): Add absolute-header.
59851         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
59852         into netinet/in.h.
59853
59854 2007-03-03  Bruno Haible  <bruno@clisp.org>
59855
59856         * lib/sys_select_.h: New file.
59857         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
59858         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
59859         * modules/sys_select (Files): Add lib/sys_select_.h.
59860         (Depends-on): Add absolute-header.
59861         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
59862         into sys/select.h.
59863
59864 2007-03-02  Bruno Haible  <bruno@clisp.org>
59865
59866         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
59867         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
59868         values.
59869         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
59870         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
59871         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
59872         * modules/sys_socket (Depends-on): Add absolute-header.
59873         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
59874         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
59875         (Include): Remove requirement of inclusion of <sys/types.h>.
59876
59877 2007-03-02  Bruno Haible  <bruno@clisp.org>
59878
59879         * lib/byteswap_.h (bswap_32): Fix formula.
59880
59881 2007-03-06  Bruno Haible  <bruno@clisp.org>
59882
59883         * modules/sprintf-posix-tests: New file.
59884         * tests/test-sprintf-posix.c: New file.
59885
59886         * modules/sprintf-posix: New file.
59887         * lib/sprintf.c: New file.
59888         * m4/sprintf-posix.m4: New file.
59889         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
59890         REPLACE_SPRINTF.
59891         * lib/stdio_.h (sprintf): New declaration.
59892         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
59893         REPLACE_SPRINTF.
59894
59895 2007-03-06  Bruno Haible  <bruno@clisp.org>
59896
59897         * modules/vsprintf-posix-tests: New file.
59898         * tests/test-vsprintf-posix.c: New file.
59899         * tests/test-sprintf-posix.h: New file.
59900
59901         * modules/vsprintf-posix: New file.
59902         * lib/vsprintf.c: New file.
59903         * m4/vsprintf-posix.m4: New file.
59904         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
59905         REPLACE_VSPRINTF.
59906         * lib/stdio_.h (vsprintf): New declaration.
59907         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
59908         REPLACE_VSPRINTF.
59909
59910 2007-03-06  Bruno Haible  <bruno@clisp.org>
59911
59912         * modules/vsnprintf (Depend-on): Remove minmax.
59913
59914 2007-03-06  Bruno Haible  <bruno@clisp.org>
59915
59916         * modules/snprintf-posix-tests: New file.
59917         * tests/test-snprintf-posix.c: New file.
59918
59919         * modules/snprintf-posix: New file.
59920         * m4/snprintf-posix.m4: New file.
59921         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
59922         gl_FUNC_SNPRINTF.
59923         (gl_FUNC_SNPRINTF): Invoke it.
59924         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
59925         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
59926         is set.
59927         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
59928
59929 2007-03-06  Bruno Haible  <bruno@clisp.org>
59930
59931         * modules/vsnprintf-posix-tests: New file.
59932         * tests/test-vsnprintf-posix.c: New file.
59933         * tests/test-snprintf-posix.h: New file.
59934
59935         * modules/vsnprintf-posix: New file.
59936         * m4/vsnprintf-posix.m4: New file.
59937         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
59938         gl_FUNC_VSNPRINTF.
59939         (gl_FUNC_VSNPRINTF): Invoke it.
59940         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
59941         * lib/stdio_.h (vsnprintf): Define as a replacement if
59942         REPLACE_VSNPRINTF is set.
59943         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
59944
59945 2007-03-06  Bruno Haible  <bruno@clisp.org>
59946
59947         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
59948         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
59949
59950 2007-03-06  Bruno Haible  <bruno@clisp.org>
59951
59952         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
59953         (asinl): Declare also if HAVE_DECL_ASINL is set.
59954         (atanl): Declare also if HAVE_DECL_ATANL is set.
59955         (ceill): Declare also if HAVE_DECL_CEILL is set.
59956         (cosl): Declare also if HAVE_DECL_COSL is set.
59957         (expl): Declare also if HAVE_DECL_EXPL is set.
59958         (floorl): Declare also if HAVE_DECL_FLOORL is set.
59959         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
59960         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
59961         (logl): Declare also if HAVE_DECL_LOGL is set.
59962         (sinl): Declare also if HAVE_DECL_SINL is set.
59963         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
59964         (tanl): Declare also if HAVE_DECL_TANL is set.
59965         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
59966         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
59967         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
59968         declaration of frexpl, ldexpl.
59969         * modules/printf-frexpl (Depends-on): Add math.
59970         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
59971
59972 2007-03-05  Bruno Haible  <bruno@clisp.org>
59973
59974         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
59975         frexpl and ldexpl are declared.
59976         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
59977
59978 2007-03-05  Bruno Haible  <bruno@clisp.org>
59979
59980         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
59981         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
59982
59983 2007-03-05  Bruno Haible  <bruno@clisp.org>
59984
59985         * lib/stdio_.h: Include <stddef.h>.
59986
59987 2007-03-05  Bruno Haible  <bruno@clisp.org>
59988
59989         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
59990
59991 2007-03-05  Bruno Haible  <bruno@clisp.org>
59992
59993         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
59994         NetBSD 4, from Ralf Wildenhues.
59995
59996 2007-03-04  Bruno Haible  <bruno@clisp.org>
59997
59998         * lib/vasprintf.h: Update #if logic for the case when the functions
59999         exist but are overridden.
60000
60001 2007-03-04  Bruno Haible  <bruno@clisp.org>
60002
60003         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
60004         implementations: glibc-2.4 and MacOS X 10.3.
60005         * tests/test-vasnprintf-posix.c (test_function): Test also the case
60006         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
60007         * tests/test-vasprintf-posix.c (test_function): Likewise.
60008
60009 2007-03-04  Bruno Haible  <bruno@clisp.org>
60010
60011         * modules/vasprintf-posix-tests: New file.
60012         * tests/test-vasprintf-posix.c: New file.
60013
60014         * modules/vasprintf-posix: New file.
60015         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
60016         defined.
60017         * m4/vasprintf-posix.m4: New file.
60018         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
60019         gl_FUNC_VASPRINTF.
60020         (gl_FUNC_VASPRINTF): Invoke it.
60021         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
60022         here.
60023         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
60024
60025 2007-03-04  Bruno Haible  <bruno@clisp.org>
60026
60027         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
60028         REPLACE_GETTIMEOFDAY.
60029         * modules/sys_time (Makefile.am): Likewise.
60030         * m4/sys_time_h.m4: Likewise.
60031         * m4/gettimeofday.m4: Likewise.
60032
60033 2007-03-04  Bruno Haible  <bruno@clisp.org>
60034
60035         * modules/vasnprintf-posix-tests: New file.
60036         * tests/test-vasnprintf-posix.c: New file.
60037
60038         * modules/vasnprintf-posix: New file.
60039         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
60040         printf-frexpl.h.
60041         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
60042         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
60043         REPLACE_VASNPRINTF is defined.
60044         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
60045         gl_FUNC_VASNPRINTF.
60046         (gl_FUNC_VASNPRINTF): Invoke it.
60047         * m4/vasnprintf-posix.m4: New file.
60048         * m4/printf.m4: New file.
60049
60050 2007-03-04  Bruno Haible  <bruno@clisp.org>
60051
60052         Compile progreloc.c only if --enable-relocatable is specified.
60053         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
60054         if --enable-relocatable was specified.
60055         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
60056         lib_SOURCES.
60057
60058 2007-03-04  Jim Meyering  <jim@meyering.net>
60059
60060         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
60061         Use it consistently, rather than enumerating errno constants.
60062
60063 2007-03-04  Bruno Haible  <bruno@clisp.org>
60064
60065         * modules/xvasprintf-tests: New file.
60066         * tests/test-xvasprintf.c: New file.
60067
60068         * modules/vasprintf-tests: New file.
60069         * tests/test-vasprintf.c: New file.
60070
60071         * modules/vasnprintf-tests: New file.
60072         * tests/test-vasnprintf.c: New file.
60073
60074         * modules/vsnprintf-tests: New file.
60075         * tests/test-vsnprintf.c: New file.
60076
60077         * modules/snprintf-tests: New file.
60078         * tests/test-snprintf.c: New file.
60079
60080 2007-03-04  Bruno Haible  <bruno@clisp.org>
60081
60082         Compile relocatable.c only if --enable-relocatable is specified.
60083         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
60084         gl_RELOCATABLE_LIBRARY.
60085         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
60086         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
60087         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
60088         gl_RELOCATABLE_LIBRARY.
60089         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
60090         (Makefile.am): Remove lib_SOURCES.
60091         * modules/relocatable-lib-lgpl (configure.ac): Invoke
60092         gl_RELOCATABLE_LIBRARY.
60093         (Makefile.am): Remove lib_SOURCES.
60094         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
60095         always.
60096         * modules/relocatable-prog-wrapper (configure.ac): Invoke
60097         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
60098
60099 2007-03-04  Bruno Haible  <bruno@clisp.org>
60100
60101         * modules/argmatch-tests: New file.
60102         * tests/test-argmatch.c: New file.
60103
60104         * tests/test-allocsa.c (main): Halve the number of loop runs.
60105
60106         * modules/alloca-opt-tests: New file.
60107         * tests/test-alloca-opt.c: New file.
60108
60109 2007-03-04  Jim Meyering  <jim@meyering.net>
60110
60111         Work around difference between Linux ACLs and Solaris 10 ZFS.
60112         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
60113         for EINVAL.
60114
60115 2007-03-03  Bruno Haible  <bruno@clisp.org>
60116
60117         * modules/relocatable-prog (Depends-on): Add back progreloc's
60118         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
60119
60120 2007-03-03  Bruno Haible  <bruno@clisp.org>
60121
60122         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
60123         * modules/relocatable-lib: New file.
60124
60125 2007-03-03  Bruno Haible  <bruno@clisp.org>
60126
60127         * modules/relocatable-prog: Renamed from modules/relocatable.
60128         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
60129
60130 2007-03-03  Bruno Haible  <bruno@clisp.org>
60131
60132         * modules/relocatable-script (Files): Add doc/relocatable.texi,
60133         m4/relocatable-lib.m4.
60134         (Depends-on): Remove 'relocatable'.
60135         (configure.ac): Add gl_RELOCATABLE_NOP.
60136
60137 2007-03-03  Bruno Haible  <bruno@clisp.org>
60138
60139         * modules/relocatable-prog-wrapper: New file.
60140         * modules/relocatable (Depends-on): Add it. Remove all other
60141         dependencies except progname.
60142         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
60143
60144         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
60145         (gl_FUNC_STRERROR): Nop.
60146         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
60147
60148         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
60149         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
60150
60151         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
60152         (gl_FUNC_READLINK): Update.
60153
60154         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
60155
60156 2007-03-03  Bruno Haible  <bruno@clisp.org>
60157
60158         * lib/xreadlink.c: Include <unistd.h> unconditionally.
60159         * modules/xreadlink (Depends-on): Add unistd.
60160         * modules/xreadlink-with-size (Depends-on): Likewise.
60161
60162 2007-03-03  Bruno Haible  <bruno@clisp.org>
60163
60164         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
60165         extracted from gt_FUNC_SETENV.
60166         (gt_FUNC_SETENV): Remove macro.
60167         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
60168         remove gt_FUNC_SETENV.
60169
60170 2007-03-03  Bruno Haible  <bruno@clisp.org>
60171
60172         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
60173         ENABLE_RELOCATABLE here.
60174         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
60175
60176 2007-03-03  Bruno Haible  <bruno@clisp.org>
60177
60178         * modules/rbtreehash-list-tests (Depends-on): Add progname.
60179         * tests/test-rbtreehash_list.c: Include progname.h.
60180         (main): Call set_program_name.
60181
60182         * modules/rbtree-oset-tests (Depends-on): Add progname.
60183         * tests/test-rbtree_oset.c: Include progname.h.
60184         (main): Call set_program_name.
60185
60186         * modules/rbtree-list-tests (Depends-on): Add progname.
60187         * tests/test-rbtree_list.c: Include progname.h.
60188         (main): Call set_program_name.
60189
60190         * modules/linked-list-tests (Depends-on): Add progname.
60191         * tests/test-linked_list.c: Include progname.h.
60192         (main): Call set_program_name.
60193
60194 2007-03-03  Bruno Haible  <bruno@clisp.org>
60195
60196         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
60197         All uses of __restrict changed to _Restrict_.
60198         * lib/glob_.h (__restrict): Remove macro.
60199
60200 2007-03-02  Bruno Haible  <bruno@clisp.org>
60201
60202         * modules/gettext (configure.ac): Require gettext infrastructure
60203         from version 0.16.1.
60204
60205 2007-03-02  Bruno Haible  <bruno@clisp.org>
60206
60207         * modules/linkedhash-list-tests (Depends-on): Add progname.
60208         * tests/test-linkedhash_list.c: Include progname.h.
60209         (main): Call set_program_name.
60210
60211         * modules/carray-list-tests (Depends-on): Add progname.
60212         * tests/test-carray_list.c: Include progname.h.
60213         (main): Call set_program_name.
60214
60215         * modules/avltreehash-list-tests (Depends-on): Add progname.
60216         * tests/test-avltreehash_list.c: Include progname.h.
60217         (main): Call set_program_name.
60218
60219         * modules/avltree-oset-tests (Depends-on): Add progname.
60220         * tests/test-avltree_oset.c: Include progname.h.
60221         (main): Call set_program_name.
60222
60223         * modules/avltree-list-tests (Depends-on): Add progname.
60224         * tests/test-avltree_list.c: Include progname.h.
60225         (main): Call set_program_name.
60226
60227         * modules/array-oset-tests (Depends-on): Add progname.
60228         * tests/test-array_oset.c: Include progname.h.
60229         (main): Call set_program_name.
60230
60231         * modules/array-list-tests (Depends-on): Add progname.
60232         * tests/test-array_list.c: Include progname.h.
60233         (main): Call set_program_name.
60234
60235         * modules/argp-tests (Depends-on): Add progname.
60236         * tests/test-argp.c: Include argp.h first. Include progname.h.
60237         (main): Call set_program_name.
60238
60239 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
60240
60241         * doc/gnulib-tool.texi (Initial import): Reword description of
60242         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
60243         limited effect even if defined after the first system include.
60244
60245 2007-03-01  Bruno Haible  <bruno@clisp.org>
60246
60247         * build-aux/config.libpath: Update to libtool-1.5.22.
60248         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
60249
60250 2007-03-01  Bruno Haible  <bruno@clisp.org>
60251
60252         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
60253         foo_CFLAGS.
60254         Reported by Ralf Wildenhues.
60255
60256 2007-03-01  Bruno Haible  <bruno@clisp.org>
60257
60258         * build-aux/install-reloc: Remove object files left over by some
60259         compilers.
60260         Reported by Ralf Wildenhues.
60261
60262 2007-03-01  Bruno Haible  <bruno@clisp.org>
60263
60264         * build-aux/install-reloc: Break long lines.
60265
60266 2007-03-01  Bruno Haible  <bruno@clisp.org>
60267
60268         * doc/relocatable.texi: Document that it may not work on OpenBSD.
60269         Reported by Ralf Wildenhues.
60270
60271 2007-03-01  Bruno Haible  <bruno@clisp.org>
60272
60273         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
60274         include ordering constraints.
60275
60276 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
60277
60278         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
60279         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
60280         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
60281         as another example.
60282         * lib/time_.h: Fix misspelling.
60283         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
60284         Require gl_HEADER_TIME_H_DEFAULTS.
60285         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
60286         * m4/time_r.m4 (gl_TIME_R): Likewise.
60287         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
60288
60289 2007-03-01  Bruno Haible  <bruno@clisp.org>
60290
60291         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
60292         * m4/utimens.m4 (gl_UTIMENS): Likewise.
60293
60294 2007-03-01  Jim Meyering  <jim@meyering.net>
60295
60296         * modules/xreadlink (Maintainer): Add my name.
60297         * modules/xreadlink-with-size (Depends-on): Alphabetize.
60298
60299 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
60300             Bruno Haible  <bruno@clisp.org>
60301
60302         * build-aux/install-reloc: Compile also c-ctype.c.
60303         * build-aux/relocatable.sh.in: New file.
60304         * doc/relocatable.texi: New file.
60305         * doc/relocatable-maint.texi: New file.
60306         * doc/gnulib.texi: Include relocatable-maint.texi.
60307         * lib/progreloc.c: Include unistd.h unconditionally.
60308         * lib/relocwrapper.c: Include unistd.h unconditionally.
60309         Include c-ctype.h.
60310         (add_dotbin): Use c_tolower.
60311         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
60312         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
60313         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
60314         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
60315         to m4/relocatable-lib.m4.
60316         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
60317         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
60318         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
60319         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
60320         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
60321         * modules/relocatable: New file.
60322         * modules/relocatable-lib: New file.
60323         * modules/relocatable-script: New file.
60324
60325 2007-02-28  Bruno Haible  <bruno@clisp.org>
60326
60327         Import --enable-relocatable infrastructure.
60328         * build-aux/config.libpath: New file, from GNU gettext.
60329         * build-aux/install-reloc: New file, from GNU gettext.
60330         * build-aux/reloc-ldflags: New file, from GNU gettext.
60331         * lib/relocatable.h: New file, from GNU gettext.
60332         * lib/relocatable.c: New file, from GNU gettext.
60333         * lib/relocwrapper.c: New file, from GNU gettext.
60334         * m4/relocatable.m4: New file, from GNU gettext.
60335
60336 2007-02-28  Bruno Haible  <bruno@clisp.org>
60337
60338         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
60339
60340         * modules/xreadlink: New file, from GNU gettext with modifications.
60341         * lib/xreadlink.c: New file, from GNU gettext.
60342         * lib/xreadlink.h: Add comments.
60343         (xreadlink): New declaration.
60344
60345         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
60346         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
60347         lib/xreadlink-with-size.c.
60348         (configure.ac): Remove gl_XREADLINK invocation.
60349         (Makefile.am): Augment lib_SOURCES.
60350         * m4/xreadlink.m4: Remove file.
60351         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
60352         (xreadlink_with_size): Renamed from xreadink.
60353         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
60354         * modules/canonicalize (Depends-on): Replace xreadlink with
60355         xreadlink-with-size.
60356         * lib/canonicalize.c (canonicalize_filename_mode): Update.
60357
60358 2007-02-25  Jim Meyering  <jim@meyering.net>
60359
60360         * build-aux/announce-gen: When complaining about excess arguments,
60361         list them.
60362
60363 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
60364
60365         * README: Document signed integer overflow situation more
60366         accurately.
60367
60368 2007-02-25  Bruno Haible  <bruno@clisp.org>
60369
60370         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
60371         'a' or 'A' conversion.
60372
60373 2007-02-25  Bruno Haible  <bruno@clisp.org>
60374
60375         * modules/filename: Renamed from modules/pathname.
60376         (Files): Replace lib/pathname.h with lib/filename.h. Replace
60377         lib/concatpath.c with lib/concat-filename.c.
60378         (Makefile.am): Update.
60379         (Include): Replace pathname.h with filename.h.
60380         * lib/filename.h: Renamed from lib/pathname.h.
60381         (concatenated_filename): Renamed from concatenated_pathname.
60382         * lib/concat-filename.c: Renamed from lib/concatpath.c.
60383         (concatenated_filename): Renamed from concatenated_pathname.
60384         * lib/findprog.c: Include filename.h instead of pathname.h.
60385         (find_in_path): Update.
60386         * lib/javacomp.c: Include filename.h instead of pathname.h.
60387         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
60388         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
60389         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
60390         is_oldgcj_14_13_usable, is_javac_usable): Update.
60391         * lib/javaexec.c: Include filename.h instead of pathname.h.
60392         (execute_java_class): Update.
60393         * modules/findprog: Update.
60394         * modules/javacomp: Update.
60395         * modules/javaexec: Update.
60396         * MODULES.html.sh (File system functions): Add 'filename', remove
60397         'pathname'.
60398
60399 2007-02-25  Bruno Haible  <bruno@clisp.org>
60400
60401         * modules/printf-frexpl-tests: New file.
60402         * tests/test-printf-frexpl.c: New file.
60403
60404         * modules/printf-frexpl: New file.
60405         * lib/printf-frexpl.h: New file.
60406         * lib/printf-frexpl.c: New file.
60407         * m4/printf-frexpl.m4: New file.
60408
60409 2007-02-25  Bruno Haible  <bruno@clisp.org>
60410
60411         * modules/printf-frexp-tests: New file.
60412         * tests/test-printf-frexp.c: New file.
60413
60414         * modules/printf-frexp: New file.
60415         * lib/printf-frexp.h: New file.
60416         * lib/printf-frexp.c: New file.
60417         * m4/printf-frexp.m4: New file.
60418
60419 2007-02-25  Bruno Haible  <bruno@clisp.org>
60420
60421         Assume automake >= 1.10 for the tests.
60422         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
60423         * modules/arctwo-tests: Likewise.
60424         * modules/argp-tests: Likewise.
60425         * modules/avltree-list-tests: Likewise.
60426         * modules/avltree-oset-tests: Likewise.
60427         * modules/avltreehash-list-tests: Likewise.
60428         * modules/carray-list-tests: Likewise.
60429         * modules/crc-tests: Likewise.
60430         * modules/des-tests: Likewise.
60431         * modules/gc-arcfour-tests: Likewise.
60432         * modules/gc-arctwo-tests: Likewise.
60433         * modules/gc-des-tests: Likewise.
60434         * modules/gc-hmac-md5-tests: Likewise.
60435         * modules/gc-hmac-sha1-tests: Likewise.
60436         * modules/gc-md2-tests: Likewise.
60437         * modules/gc-md4-tests: Likewise.
60438         * modules/gc-md5-tests: Likewise.
60439         * modules/gc-pbkdf2-sha1-tests: Likewise.
60440         * modules/gc-rijndael-tests: Likewise.
60441         * modules/gc-sha1-tests: Likewise.
60442         * modules/gc-tests: Likewise.
60443         * modules/getaddrinfo-tests: Likewise.
60444         * modules/hmac-md5-tests: Likewise.
60445         * modules/hmac-sha1-tests: Likewise.
60446         * modules/linked-list-tests: Likewise.
60447         * modules/linkedhash-list-tests: Likewise.
60448         * modules/lock-tests: Likewise.
60449         * modules/md2-tests: Likewise.
60450         * modules/md4-tests: Likewise.
60451         * modules/md5-tests: Likewise.
60452         * modules/rbtree-list-tests: Likewise.
60453         * modules/rbtree-oset-tests: Likewise.
60454         * modules/rbtreehash-list-tests: Likewise.
60455         * modules/read-file-tests: Likewise.
60456         * modules/rijndael-tests: Likewise.
60457         * modules/stdint-tests: Likewise.
60458         * modules/tls-tests: Likewise.
60459
60460 2007-02-24  Bruno Haible  <bruno@clisp.org>
60461
60462         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
60463         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
60464         function; instead check whether isnan with a double argument links.
60465         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
60466         function; instead check whether isnan with a 'long double' argument
60467         links.
60468         Reported by Eric Blake <ebb9@byu.net>.
60469
60470 2007-02-24  Bruno Haible  <bruno@clisp.org>
60471
60472         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
60473         defined.
60474         * lib/isnanl.c: Remove all code. Just include isnan.c.
60475         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
60476
60477 2007-02-25  Jim Meyering  <jim@meyering.net>
60478
60479         Avoid conflicting types for 'unsetenv' on FreeBSD.
60480         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
60481         conflicting with FreeBSD's (5.0 and 6.1) function declaration
60482         in stdlib.h.
60483
60484 2007-02-24  Bruno Haible  <bruno@clisp.org>
60485
60486         * modules/isnanl-nolibm-tests: New file.
60487         * tests/test-isnanl.c: New file.
60488
60489         * modules/isnanl-nolibm: New file.
60490         * lib/isnanl.h: New file.
60491         * lib/isnanl.c: New file.
60492         * m4/isnanl.m4: New file.
60493
60494 2007-02-24  Bruno Haible  <bruno@clisp.org>
60495
60496         * modules/isnan-nolibm-tests: New file.
60497         * tests/test-isnan.c: New file.
60498
60499         * modules/isnan-nolibm: New file.
60500         * lib/isnan.h: New file.
60501         * lib/isnan.c: New file.
60502         * m4/isnan.m4: New file.
60503
60504 2007-02-24  Bruno Haible  <bruno@clisp.org>
60505
60506         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
60507         assume that an exponent fits in 20 bits.
60508
60509 2007-02-24  Jim Meyering  <jim@meyering.net>
60510
60511         * m4/regex.m4: Update the description of the configure-time option,
60512         --without-included-regex, to state accurately what the defaults are,
60513         and perhaps to give people an idea why using this option is risky.
60514
60515 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
60516
60517         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
60518         loops on small arguments.  This attempts to avoid the problem
60519         Bruno Haible reported for AIX 4.3.2 in
60520         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
60521
60522 2007-02-23  Bruno Haible  <bruno@clisp.org>
60523
60524         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
60525         Needed for help2man.
60526
60527 2007-02-23  Karl Berry  <karl@gnu.org>
60528
60529         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
60530         exists, foo.h should be cvs-ignored, not committed.
60531
60532 2007-02-23  Eric Blake  <ebb9@byu.net>
60533
60534         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
60535         * lib/stat-time.h (includes): Likewise.
60536         * lib/utimecmp.c (includes): Likewise.
60537         * lib/utimens.h (includes): Likewise.
60538         * lib/getdate.y (includes): Also include "timespec.h" for use
60539         internal to the module.
60540         * modules/utimens (Depends-on): Revert yesterday's patch.
60541         * modules/nanosleep (Depends-on): Add missing dependency.
60542
60543 2007-02-22  Bruno Haible  <bruno@clisp.org>
60544
60545         * lib/glob.c: Don't include getlogin_r.h.
60546
60547 2007-02-22  Jim Meyering  <jim@meyering.net>
60548
60549         * modules/utimens (Depends-on): Add timespec, required for
60550         utimens.h's inclusion of timespec.h.
60551
60552 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
60553
60554         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
60555         long unreadable paths in GNU/Linux.  Problem reported by Andreas
60556         Schwab in
60557         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
60558         I'll try to think of a better way to fix the Solaris problem.
60559
60560         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
60561         like glibc; on Solaris 10, it fails with errno == EINVAL.
60562         POSIX says the behavior is unspecified if the first argument is NULL,
60563         so play it safe and never pass NULL to the system getcwd.
60564
60565 2007-02-21  Jim Meyering  <jim@meyering.net>
60566
60567         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
60568         of gettimeofday.  It would conflict with the one now always
60569         provided via sys_time_.h.  Reported by Matthew Woehlke, as
60570         an IRIX 6.5 build failure.
60571
60572 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
60573
60574         Minor fixups to port to Solaris 10 with Sun C 5.8.
60575         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
60576         * modules/getcwd (Depends-on): Add dirfd.
60577         * lib/putenv.c (putenv): #undef it.
60578         (rpl_putenv): New decl.
60579         (malloc, free): Include <stdlib.h> rather than prototyping separately.
60580
60581 2007-02-20  Bruno Haible  <bruno@clisp.org>
60582
60583         * modules/stdio-tests: New file.
60584         * tests/test-stdio.c: New file.
60585
60586         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
60587         (Depends-on): Add stdio.
60588         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
60589         (Include): Use <stdio.h> instead of vsnprintf.h.
60590         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
60591         HAVE_DECL_VSNPRINTF.
60592         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
60593
60594         * modules/snprintf (Files): Remove lib/snprintf.h.
60595         (Depends-on): Add stdio.
60596         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
60597         (Include): Use <stdio.h> instead of snprintf.h.
60598         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
60599         HAVE_DECL_SNPRINTF.
60600         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
60601         * lib/getaddrinfo.c: Likewise.
60602
60603         * modules/stdio: New file.
60604         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
60605         * lib/snprintf.h: Remove file.
60606         * lib/vsnprintf.h: Remove file.
60607         * lib/.cppi-disable: Remove snprintf.h.
60608         * m4/stdio_h.m4: New file.
60609         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
60610
60611 2007-02-20  Jim Meyering  <jim@meyering.net>
60612
60613         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
60614         used by e.g., mingw.  From Bruno Haible.
60615
60616 2007-02-19  Bruno Haible  <bruno@clisp.org>
60617
60618         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
60619         warnings.
60620         Reported by Ben Pfaff <blp@cs.stanford.edu>.
60621
60622 2007-02-19  Bruno Haible  <bruno@clisp.org>
60623
60624         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
60625         from mingw users.
60626
60627 2007-02-19  Bruno Haible  <bruno@clisp.org>
60628
60629         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
60630         warnings.
60631         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
60632
60633 2007-02-19  Jim Meyering  <jim@meyering.net>
60634
60635         Don't use FD after a successful "fdopendir (fd)".
60636         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
60637         Reset it by calling dirfd on the just-obtained DIR*.
60638
60639         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
60640         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
60641
60642 2007-02-18  Bruno Haible  <bruno@clisp.org>
60643
60644         * lib/readlink.c: Include <unistd.h>.
60645         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
60646         HAVE_READLINK.
60647         * modules/readlink (Depends-on): Add unistd.
60648         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60649         (Include): Add <unistd.h>.
60650
60651         * lib/getlogin_r.h: Remove file.
60652         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
60653         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
60654         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
60655         HAVE_DECL_GETLOGIN_R.
60656         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
60657         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60658         (Include): Use <unistd.h> instead of getlogin_r.h.
60659
60660         * lib/getcwd.h: Remove file.
60661         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
60662         * lib/xgetcwd.c: Likewise.
60663         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
60664         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
60665         * modules/getcwd (Files): Remove lib/getcwd.h.
60666         (Depends-on): Add unistd.
60667         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60668         (Include): Use <unistd.h> instad of getcwd.h.
60669
60670         * lib/ftruncate.c: Include <unistd.h> first.
60671         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
60672         Set HAVE_FTRUNCATE.
60673         * modules/ftruncate (Depends-on): Add unistd.
60674         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60675
60676         * lib/fchdir.c: Include <unistd.h> first.
60677         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
60678         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
60679         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
60680         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60681         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
60682
60683         * lib/dup2.c: Include <unistd.h> first.
60684         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
60685         HAVE_DUP2.
60686         * modules/dup2 (Depends-on): Add unistd.
60687         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60688
60689         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
60690         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
60691         REPLACE_CHOWN. Don't define chown as a macro here.
60692         * modules/chown (Depends-on): Add unistd.
60693         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60694
60695         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
60696         Add definition for GL_LINK_WARNING.
60697         (chown, dup2): New declarations.
60698         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
60699         link warning.
60700         (ftruncate): New declaration.
60701         (getcwd): New declaration, taken from old getcwd.h.
60702         (getlogin_r): New declaration, taken from old getlogin_r.h.
60703         (readlink): New declaration.
60704         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
60705         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
60706         (gl_PREREQ_UNISTD): Remove macro.
60707         (gl_UNISTD_MODULE_INDICATOR): New macro.
60708         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
60709         many new variables. Don't set UNISTD_H.
60710         * modules/unistd (Description): Change.
60711         (Depends-on): Add link-warning.
60712         (configure.ac): Update.
60713         (Makefile.am): Create unistd.h always. Substitute many new variables
60714         into it.
60715
60716 2007-02-18  Bruno Haible  <bruno@clisp.org>
60717
60718         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
60719         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
60720         HAVE_GETSUBOPT.
60721         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
60722         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
60723         * lib/getsubopt.h: Remove file.
60724         * modules/getsubopt (Files): Remove lib/getsubopt.h.
60725         (Depends-on): Add stdlib.
60726         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60727         (Includes): Use <stdlib.h> instead of getsubopt.h.
60728         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
60729         Set HAVE_GETSUBOPT.
60730         * lib/getsubopt.c: Don't include getsubopt.h.
60731
60732 2007-02-18  Bruno Haible  <bruno@clisp.org>
60733
60734         * modules/fchdir (Depends-on): Add dup2.
60735
60736 2007-02-18  Bruno Haible  <bruno@clisp.org>
60737
60738         * lib/stdlib_.h: Handle glibc's special invocation convention
60739         specially.
60740
60741 2007-02-18  Bruno Haible  <bruno@clisp.org>
60742
60743         * modules/stdlib-tests: New file.
60744         * tests/test-stdlib.c: New file.
60745
60746         * modules/mkstemp (Files): Remove lib/mkstemp.h.
60747         (Depends-on): Add stdlib.
60748         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60749         (Includes): Use <stdlib.h> instead of mkstemp.h.
60750         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
60751         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
60752         * lib/mkstemp.c: Don't include mkstemp.h.
60753         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
60754         * lib/stdlib--.h: Don't include mkstemp.h.
60755
60756         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
60757         (Depends-on): Add stdlib.
60758         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60759         (Includes): Use <stdlib.h> instead of mkdtemp.h.
60760         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
60761         HAVE_MKDTEMP.
60762         * lib/mkdtemp.c: Don't include mkdtemp.h.
60763         * lib/clean-temp.c: Don't include mkdtemp.h.
60764
60765         * modules/exit (Files): Remove lib/exit.h.
60766         (Depends-on): Add stdlib.
60767         (Makefile.am): Remove lib_SOURCES.
60768         (Include): Use <stdlib.h> instead of exit.h.
60769         * lib/argmatch.c: Don't include exit.h.
60770         * lib/execute.c: Likewise.
60771         * lib/pagealign_alloc.c: Likewise.
60772         * lib/pipe.c: Likewise.
60773         * lib/wait-process.c: Likewise.
60774         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
60775         * lib/exitfail.c: Likewise.
60776         * lib/savewd.c: Likewise.
60777         * lib/xsetenv.c: Likewise.
60778
60779         * modules/stdlib: New file.
60780         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
60781         and extra comments about mkstemp().
60782         * lib/exit.h: Remove file.
60783         * lib/mkdtemp.h: Remove file.
60784         * lib/mkstemp.h: Remove file.
60785         * m4/stdlib_h.m4: New file.
60786         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
60787
60788 2007-02-18  Bruno Haible  <bruno@clisp.org>
60789
60790         * modules/math-tests: New file.
60791         * tests/test-math.c: New file.
60792
60793         * modules/math: New file.
60794         * modules/mathl (Files): Remove lib/mathl.h.
60795         (Depends-on): Add math.
60796         (Makefile.am): Don't mention mathl.h.
60797         (Include): Use <math.h> instead of mathl.h.
60798         * lib/math_.h: New file.
60799         * lib/mathl.h: Remove file.
60800         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
60801         mathl.h.
60802         * lib/asinl.c: Likewise.
60803         * lib/atanl.c: Likewise.
60804         * lib/ceill.c: Likewise.
60805         * lib/cosl.c: Likewise.
60806         * lib/expl.c: Likewise.
60807         * lib/floorl.c: Likewise.
60808         * lib/frexpl.c: Likewise.
60809         * lib/ldexpl.c: Likewise.
60810         * lib/logl.c: Likewise.
60811         * lib/sincosl.c: Likewise.
60812         * lib/sinl.c: Likewise.
60813         * lib/sqrtl.c: Likewise.
60814         * lib/tanl.c: Likewise.
60815         * lib/trigl.c: Likewise.
60816         * m4/math_h.m4: New file.
60817         * MODULES.html.sh (Mathematics): Add math.
60818
60819 2007-02-17  Bruno Haible  <bruno@clisp.org>
60820
60821         * modules/wctype-tests: New file.
60822         * tests/test-wctype.c: New file.
60823
60824         * modules/wchar-tests: New file.
60825         * tests/test-wchar.c: New file.
60826
60827         * modules/unistd-tests: New file.
60828         * tests/test-unistd.c: New file.
60829
60830         * modules/time-tests: New file.
60831         * tests/test-time.c: New file.
60832
60833         * modules/sysexits-tests: New file.
60834         * tests/test-sysexits.c: New file.
60835
60836         * modules/sys_time-tests: New file.
60837         * tests/test-sys_time.c: New file.
60838
60839         * modules/sys_stat-tests: New file.
60840         * tests/test-sys_stat.c: New file.
60841
60842         * modules/sys_socket-tests: New file.
60843         * tests/test-sys_socket.c: New file.
60844
60845         * modules/sys_select-tests: New file.
60846         * tests/test-sys_select.c: New file.
60847
60848         * modules/string-tests: New file.
60849         * tests/test-string.c: New file.
60850
60851         * modules/stdbool-tests: New file.
60852         * tests/test-stdbool.c: New file.
60853
60854         * modules/netinet_in-tests: New file.
60855         * tests/test-netinet_in.c: New file.
60856
60857         * modules/inttypes-tests: New file.
60858         * tests/test-inttypes.c: New file.
60859
60860         * modules/fcntl-tests: New file.
60861         * tests/test-fcntl.c: New file.
60862
60863         * modules/byteswap-tests: New file.
60864         * tests/test-byteswap.c: New file.
60865
60866         * modules/arpa_inet-tests: New file.
60867         * tests/test-arpa_inet.c: New file.
60868
60869 2007-02-17  Bruno Haible  <bruno@clisp.org>
60870
60871         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
60872         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
60873         if the corresponding module is not enabled. Emit link warnings if
60874         the function is used nevertheless.
60875         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
60876         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
60877         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
60878         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
60879         * modules/inttypes (Depends-on): Add link-warning.
60880         (Makefile.am): Copy the contents of build-aux/link-warning.h into
60881         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
60882         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
60883         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
60884         * modules/imaxdiv (configure.ac): Likewise.
60885         * modules/strtoimax (configure.ac): Likewise.
60886         * modules/strtoumax (configure.ac): Likewise.
60887
60888 2007-02-17  Bruno Haible  <bruno@clisp.org>
60889
60890         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
60891         gl_STRING_MODULE_INDICATOR_DEFAULTS.
60892         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
60893         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
60894
60895 2007-02-17  Bruno Haible  <bruno@clisp.org>
60896
60897         * modules/link-warning: New file.
60898         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
60899         * lib/string_.h (GL_LINK_WARNING): Remove definition.
60900         * modules/string (Depends-on): Add link-warning.
60901         (Makefile.am): Copy the contents of build-aux/link-warning.h into
60902         string.h.
60903         * MODULES.html.sh (Support for building libraries and executables): Add
60904         link-warning.
60905
60906 2007-02-17  Bruno Haible  <bruno@clisp.org>
60907
60908         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
60909         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
60910         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
60911         long lines.
60912
60913 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
60914             Bruno Haible  <bruno@clisp.org>
60915
60916         * modules/tmpfile: New file.
60917         * lib/tmpfile.c: New file.
60918         * m4/tmpfile.m4: New file.
60919         * MODULES.html.sh (func_all_modules): New section "Input/output".
60920
60921 2007-02-15  Bruno Haible  <bruno@clisp.org>
60922
60923         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
60924         (supports_delete_on_close): New function.
60925         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
60926
60927 2007-02-14  Bruno Haible  <bruno@clisp.org>
60928
60929         * modules/mbspcasecmp-tests: New file.
60930         * tests/test-mbspcasecmp.sh: New file.
60931         * tests/test-mbspcasecmp.c: New file.
60932
60933         New module mbspcasecmp.
60934         * modules/mbspcasecmp: New file.
60935         * lib/mbspcasecmp.c: New file.
60936         * lib/string_.h (strncasecmp): Change warning message.
60937         (mbspcasecmp): New declaration.
60938         * m4/mbspcasecmp.m4: New file.
60939         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60940         GNULIB_MBSPCASECMP.
60941         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
60942         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
60943
60944 2007-02-14  Bruno Haible  <bruno@clisp.org>
60945
60946         * modules/mbsncasecmp-tests: New file.
60947         * tests/test-mbsncasecmp.sh: New file.
60948         * tests/test-mbsncasecmp.c: New file.
60949
60950         New module mbsncasecmp.
60951         * modules/mbsncasecmp: New file.
60952         * lib/mbsncasecmp.c: New file.
60953         * lib/string_.h (mbsncasecmp): New declaration.
60954         * m4/mbsncasecmp.m4: New file.
60955         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
60956         GNULIB_MBSNCASECMP.
60957         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
60958         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
60959
60960 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
60961
60962         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
60963         Verify that it doesn't overlap with our flags.
60964         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
60965         do not have the desired effect in multibyte locales; instead, use
60966         mbscasecmp.
60967         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
60968         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
60969         we don't require GNU fnmatch ourselves (if our users require it, they
60970         should do so explicitly).
60971
60972         Fix regex code so it doesn't rely on strcasecmp.
60973         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
60974         Otherwise, include gnulib's langinfo.h.
60975         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
60976         undesirable behavior in non-C locales.  Instead, rely on localecharset.
60977         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
60978         * modules/regex (FILES): Remove m4/codeset.m4.
60979         (Depends-on): Add localcharset.  Remove strcase.
60980
60981 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60982
60983         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
60984         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
60985
60986 2007-02-13  Bruno Haible  <bruno@clisp.org>
60987
60988         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
60989         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60990
60991 2007-02-12  Bruno Haible  <bruno@clisp.org>
60992
60993         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
60994         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
60995         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
60996         time warning rather than a link error.
60997
60998 2007-02-12  Bruno Haible  <bruno@clisp.org>
60999
61000         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
61001         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
61002         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61003
61004 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
61005
61006         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
61007         args, not 2.
61008
61009 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
61010
61011         New module 'time', so that apps can include <time.h> as per
61012         POSIX and GNU instead of separate include files like time_r.h
61013         and timegm.h.  This implementation tries out a simpler approach
61014         for replacing decls in standard include files (as compared to
61015         the string module), somewhat as an experiment.
61016
61017         * config/srclist.txt: Comment out mktime.c for now.
61018         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
61019         since it doesn't apply any more.  Use generic wording instead.
61020         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
61021         'time'.
61022         * lib/time_.h, m4/time_h.m4, modules/time: New files.
61023         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
61024         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
61025         Don't include <sys/types.h>; no longer needed since we assume C89.
61026         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
61027         * lib/strftime.c: Likewise.
61028         * lib/time_r.c: Likewise.
61029         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
61030         * lib/nanosleep.c: Include <time.h> first, to check interface.
61031         * lib/strptime.c: Likewise.
61032         * lib/time_r.c: Likewise.
61033         * lib/timegm.c: Likewise.
61034         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
61035         needed.
61036         * lib/timegm.c: Don't include timegm.h; no longer needed.
61037         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
61038         time.h now handles any problems in that area.
61039         (struct timespec, nanosleep): Remove; time.h now arranges for these.
61040         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
61041         that time.h defines struct timespec.
61042         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
61043         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
61044         handles that.
61045         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
61046         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
61047         needed.  Set REPLACE_LOCALTIME.
61048         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
61049         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
61050         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
61051         nanosleep; time_h.m4 now does that.  Don't require
61052         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
61053         module handles this now.
61054         * modules/getdate (Depends-on): Remove timespec.  Add time.
61055         * modules/nanosleep (Depends-on): Likewise.
61056         * modules/stat-time (Depends-on): Likewise.
61057         * modules/nanosleep (Include): Include time.h, not timespec.h.
61058         * modules/strptime (Files): Remove lib/strptime.h.
61059         (Depends-on): Add extensions, time.
61060         (Include): Include time.h, not strptime.h.
61061         * modules/time_r (Files): Remove lib/time_r.h.
61062         (Depends-on): Add time.
61063         (Include): Include time.h, not time_r.h.
61064         * modules/timegm: Likewise.
61065         * modules/timespec (Description): Now does timespec-related decls
61066         of our own, instead of struct timespec itself.
61067         (Depends-on): Add time; remove extensions.
61068         (Maintainer): Add self.
61069         * modules/utimecmp (Depends-on): Add time; remove timespec.
61070         * modules/utimens (Depends-on): Likewise.
61071         * modules/xnanosleep (Depends-on): Likewise.
61072
61073 2007-02-11  Bruno Haible  <bruno@clisp.org>
61074
61075         * lib/c-strstr.c: Include allocsa.h.
61076         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
61077         * lib/c-strcasestr.c: Include allocsa.h.
61078         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
61079         * lib/strcasestr.c: Include allocsa.h.
61080         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
61081         * lib/mbsstr.c: Include allocsa.h.
61082         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
61083         allocsa/freesa instead of malloc/free.
61084         * lib/mbscasestr.c: Include allocsa.h.
61085         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
61086         allocsa/freesa instead of malloc/free.
61087         * modules/c-strstr (Depends-on): Add allocsa.
61088         * modules/c-strcasestr (Depends-on): Likewise.
61089         * modules/strcasestr (Depends-on): Likewise.
61090         * modules/mbsstr (Depends-on): Likewise.
61091         * modules/mbscasestr (Depends-on): Likewise.
61092
61093 2007-02-11  Bruno Haible  <bruno@clisp.org>
61094
61095         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
61096
61097         * modules/mbsspn-tests: New file.
61098         * tests/test-mbsspn.sh: New file.
61099         * tests/test-mbsspn.c: New file.
61100
61101 2007-02-11  Bruno Haible  <bruno@clisp.org>
61102
61103         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
61104
61105         * modules/mbspbrk-tests: New file.
61106         * tests/test-mbspbrk.sh: New file.
61107         * tests/test-mbspbrk.c: New file.
61108
61109 2007-02-11  Bruno Haible  <bruno@clisp.org>
61110
61111         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
61112         unneeded cast.
61113
61114         * modules/mbscspn-tests: New file.
61115         * tests/test-mbscspn.sh: New file.
61116         * tests/test-mbscspn.c: New file.
61117
61118 2007-02-11  Bruno Haible  <bruno@clisp.org>
61119
61120         * modules/mbscasecmp-tests: New file.
61121         * tests/test-mbscasecmp.sh: New file.
61122         * tests/test-mbscasecmp.c: New file.
61123
61124 2007-02-11  Bruno Haible  <bruno@clisp.org>
61125
61126         Ensure O(n) worst-case complexity of mbscasestr.
61127         * lib/mbscasestr.c: Include stdbool.h.
61128         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
61129         functions.
61130         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
61131         the bookkeeping indicates that it's worth it.
61132         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
61133
61134         * modules/mbscasestr-tests: New file.
61135         * tests/test-mbscasestr1.c: New file.
61136         * tests/test-mbscasestr2.sh: New file.
61137         * tests/test-mbscasestr2.c: New file.
61138         * tests/test-mbscasestr3.sh: New file.
61139         * tests/test-mbscasestr3.c: New file.
61140         * tests/test-mbscasestr4.sh: New file.
61141         * tests/test-mbscasestr4.c: New file.
61142         * m4/locale-tr.m4: New file.
61143
61144 2007-02-11  Bruno Haible  <bruno@clisp.org>
61145
61146         Ensure O(n) worst-case complexity of mbsstr.
61147         * lib/mbsstr.c: Include stdbool.h.
61148         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
61149         functions.
61150         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
61151         bookkeeping indicates that it's worth it.
61152         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
61153
61154         * modules/mbsstr-tests: New file.
61155         * tests/test-mbsstr1.c: New file.
61156         * tests/test-mbsstr2.sh: New file.
61157         * tests/test-mbsstr2.c: New file.
61158         * tests/test-mbsstr3.sh: New file.
61159         * tests/test-mbsstr3.c: New file.
61160         * m4/locale-fr.m4: New file.
61161
61162 2007-02-11  Bruno Haible  <bruno@clisp.org>
61163
61164         * lib/mbsrchr.c (mbsrchr): Fix bug.
61165
61166         * modules/mbsrchr-tests: New file.
61167         * tests/test-mbsrchr.sh: New file.
61168         * tests/test-mbsrchr.c: New file.
61169
61170 2007-02-11  Bruno Haible  <bruno@clisp.org>
61171
61172         * lib/mbschr.c (mbschr): Fix bug.
61173
61174         * modules/mbschr-tests: New file.
61175         * tests/test-mbschr.sh: New file.
61176         * tests/test-mbschr.c: New file.
61177         * m4/locale-zh.m4: New file.
61178
61179 2007-02-11  Bruno Haible  <bruno@clisp.org>
61180
61181         Support for copying multibyte string iterators.
61182         * lib/mbiter.h: Include <string.h>.
61183         (mbiter_multi_copy): New function.
61184         (mbi_copy): New macro.
61185         * lib/mbuiter.h: Include <string.h>.
61186         (mbuiter_multi_copy): New function.
61187         (mbui_copy): New macro.
61188
61189 2007-02-11  Bruno Haible  <bruno@clisp.org>
61190
61191         New module mbslen.
61192         * modules/mbslen: New file.
61193         * lib/mbslen.c: New file.
61194         * lib/string_.h (mbslen): New declaration.
61195         * m4/mbslen.m4: New file.
61196         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
61197         GNULIB_MBSLEN.
61198         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
61199         * MODULES.html.sh (Internationalization functions): Add mbslen.
61200
61201 2007-02-11  Bruno Haible  <bruno@clisp.org>
61202
61203         Ensure O(n) worst-case complexity of strcasestr substitute.
61204         * lib/strcasestr.c: Include stdbool.h.
61205         (knuth_morris_pratt): New function.
61206         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
61207         bookkeeping indicates that it's worth it.
61208         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
61209
61210         * modules/strcasestr-tests: New file.
61211         * tests/test-strcasestr.c: New file.
61212
61213 2007-02-11  Bruno Haible  <bruno@clisp.org>
61214
61215         Ensure O(n) worst-case complexity of c_strcasestr.
61216         * lib/c-strcasestr.c: Include stdbool.h, string.h.
61217         (knuth_morris_pratt): New function.
61218         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
61219         the bookkeeping indicates that it's worth it.
61220         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
61221
61222         * modules/c-strcasestr-tests: New file.
61223         * tests/test-c-strcasestr.c: New file.
61224
61225 2007-02-11  Bruno Haible  <bruno@clisp.org>
61226
61227         Ensure O(n) worst-case complexity of c_strstr.
61228         * lib/c-strstr.c: Include stdbool.h, string.h.
61229         (knuth_morris_pratt): New function.
61230         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
61231         bookkeeping indicates that it's worth it.
61232         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
61233
61234         * lib/c-strstr.c: Complete rewrite for maintainability.
61235
61236         * modules/c-strstr-tests: New file.
61237         * tests/test-c-strstr.c: New file.
61238
61239 2007-02-11  Bruno Haible  <bruno@clisp.org>
61240
61241         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
61242         5.2.1 and earlier, whereby \055 was treated just like the range
61243         delimiter '-'.
61244         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
61245
61246 2007-02-08  Bruno Haible  <bruno@clisp.org>
61247
61248         * modules/regex (Depends-on): Add stdbool.
61249         Reported by Dalibor Topic <robilad@kaffe.org>.
61250
61251 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
61252
61253         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
61254         Prefer returning from main to exiting from it.
61255         Remove unnecessary parens after sizeof.
61256
61257 2007-02-05  Bruno Haible  <bruno@clisp.org>
61258
61259         New module mbssep.
61260         * modules/mbssep: New file.
61261         * lib/mbssep.c: New file.
61262         * lib/string_.h (strsep): Add a conditional link warning.
61263         (mbssep): New declaration.
61264         * m4/mbssep.m4: New file.
61265         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
61266         GNULIB_MBSSEP.
61267         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
61268         * MODULES.html.sh (Internationalization functions): Add mbssep.
61269
61270 2007-02-05  Bruno Haible  <bruno@clisp.org>
61271
61272         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
61273         Optimize search in case of 1 delimiter.
61274
61275 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
61276
61277         * lib/acl.h: Include sys/types.h before sys/acl.h.
61278
61279 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
61280
61281         Merge upstream fix for glibc bugzilla #3957:
61282
61283         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
61284
61285         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
61286         bit for RE_HAT_LISTS_NOT_NEWLINE.
61287         (build_charclass_op): Remove bogus comment.
61288
61289 2007-02-05  Simon Josefsson  <simon@josefsson.org>
61290
61291         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
61292
61293 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
61294
61295         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
61296         * lib/memmem.c [!defined _LIBC]: Include config.h.
61297
61298 2007-02-04  Bruno Haible  <bruno@clisp.org>
61299
61300         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
61301         warning message.
61302
61303 2007-02-04  Bruno Haible  <bruno@clisp.org>
61304
61305         New module mbstok_r.
61306         * modules/mbstok_r: New file.
61307         * lib/mbstok_r.c: New file.
61308         * lib/string_.h (strtok_r): Change argument names to match the
61309         comments. Add a conditional link warning.
61310         (mbstok_r): New declaration.
61311         * m4/mbstok_r.m4: New file.
61312         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
61313         GNULIB_MBSTOK_R.
61314         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
61315         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
61316
61317 2007-02-04  Bruno Haible  <bruno@clisp.org>
61318
61319         New module mbsspn.
61320         * modules/mbsspn: New file.
61321         * lib/mbsspn.c: New file.
61322         * lib/string_.h (strspn): Add a conditional link warning.
61323         (mbsspn): New declaration.
61324         * m4/mbsspn.m4: New file.
61325         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
61326         GNULIB_MBSSPN.
61327         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
61328         * MODULES.html.sh (Internationalization functions): Add mbsspn.
61329
61330 2007-02-04  Bruno Haible  <bruno@clisp.org>
61331
61332         New module mbspbrk.
61333         * modules/mbspbrk: New file.
61334         * lib/mbspbrk.c: New file.
61335         * lib/string_.h (strpbrk): Add a conditional link warning.
61336         (mbspbrk): New declaration.
61337         * m4/mbspbrk.m4: New file.
61338         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
61339         GNULIB_MBSPBRK.
61340         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
61341         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
61342
61343 2007-02-04  Bruno Haible  <bruno@clisp.org>
61344
61345         New module mbscspn.
61346         * modules/mbscspn: New file.
61347         * lib/mbscspn.c: New file.
61348         * lib/string_.h (strcspn): Add a conditional link warning.
61349         (mbscspn): New declaration.
61350         * m4/mbscspn.m4: New file.
61351         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
61352         GNULIB_MBSCSPN.
61353         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
61354         * MODULES.html.sh (Internationalization functions): Add mbscspn.
61355
61356 2007-02-04  Bruno Haible  <bruno@clisp.org>
61357
61358         New module mbscasestr, reduced goal of strcasestr.
61359         * modules/mbscasestr: New file.
61360         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
61361         (mbscasestr): Renamed from strcasestr.
61362         * lib/strcasestr.c: Don't include mbuiter.h.
61363         (strcasestr): Remove support for multibyte locales.
61364         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
61365         Change the conditional link warning.
61366         (mbscasestr): New declaration.
61367         * m4/mbscasestr.m4: New file.
61368         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
61369         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
61370         REPLACE_STRCASESTR.
61371         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
61372         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
61373         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
61374         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
61375         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
61376         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
61377         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
61378         (Depends-on): Remove mbuiter.
61379         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
61380
61381 2007-02-04  Bruno Haible  <bruno@clisp.org>
61382
61383         Simplify handling of strncasecmp.
61384         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
61385         the conditional link warning.
61386         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
61387         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
61388         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
61389         * modules/strcase (configure.ac): Don't invoke
61390         gl_STRING_MODULE_INDICATOR.
61391         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
61392
61393 2007-02-04  Bruno Haible  <bruno@clisp.org>
61394
61395         New module mbscasecmp, reduced goal of strcasecmp.
61396         * modules/mbscasecmp: New file.
61397         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
61398         (mbscasecmp): Renamed from strcasecmp.
61399         * lib/strcasecmp.c: Don't include mbuiter.h.
61400         (strcasecmp): Remove support for multibyte locales.
61401         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
61402         Change the conditional link warning.
61403         (mbscasecmp): New declaration.
61404         * m4/mbscasecmp.m4: New file.
61405         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
61406         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
61407         REPLACE_STRCASECMP.
61408         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
61409         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
61410         GNULIB_MBSCASECMP.
61411         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
61412         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
61413         * modules/strcase (Files): Remove m4/mbrtowc.m4.
61414         (Depends-on): Remove mbuiter.
61415         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
61416
61417 2007-02-04  Bruno Haible  <bruno@clisp.org>
61418
61419         New module mbsstr. Remove module strstr.
61420         * modules/mbsstr: New file.
61421         * modules/strstr: Remove file.
61422         * lib/mbsstr.c: Renamed from lib/strstr.c.
61423         (mbsstr): Renamed from strstr.
61424         * lib/string_.h (strstr): Remove declaration. Change the conditional
61425         link warning.
61426         (mbsstr): New declaration.
61427         * m4/mbsstr.m4: New file.
61428         * m4/strstr.m4: Remove file.
61429         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
61430         REPLACE_STRSTR.
61431         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
61432         Don't initialize GNULIB_STRSTR.
61433         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
61434         substitute GNULIB_STRSTR and REPLACE_STRSTR.
61435         * MODULES.html.sh (Internationalization functions): Add mbsstr.
61436         (Support for systems lacking ANSI C 89): Remove strstr.
61437
61438 2007-02-04  Bruno Haible  <bruno@clisp.org>
61439
61440         New module mbsrchr.
61441         * modules/mbsrchr: New file.
61442         * lib/mbsrchr.c: New file.
61443         * lib/string_.h (strrchr): Add a conditional link warning.
61444         (mbsrchr): New declaration.
61445         * m4/mbsrchr.m4: New file.
61446         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
61447         GNULIB_MBSRCHR.
61448         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
61449         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
61450
61451 2007-02-04  Bruno Haible  <bruno@clisp.org>
61452
61453         New module mbschr.
61454         * modules/mbschr: New file.
61455         * lib/mbschr.c: New file.
61456         * lib/string_.h (strchr): Add a conditional link warning.
61457         (mbschr): New declaration.
61458         * m4/mbschr.m4: New file.
61459         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
61460         GNULIB_MBSCHR.
61461         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
61462         * MODULES.html.sh (Internationalization functions): Add mbschr.
61463
61464 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
61465
61466         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
61467
61468         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
61469
61470 2007-02-04  Bruno Haible  <bruno@clisp.org>
61471
61472         New module description section 'configure.ac-early'.
61473         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
61474         (func_get_autoconf_early_snippet): New function.
61475         (func_import, func_create_testdir): Use it. Remove special cases for
61476         modules 'extensions' and 'lock'.
61477         * modules/extensions (configure.ac-early): Require
61478         gl_USE_SYSTEM_EXTENSIONS.
61479         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
61480
61481 2007-02-04  Bruno Haible  <bruno@clisp.org>
61482
61483         Make use of gcj-4.3's -fsource and -ftarget option.
61484         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
61485         and if so try the options -fsource and -ftarget.
61486         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
61487         source_version, ftarget_option, target_version arguments.
61488         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
61489         (is_envjavac_oldgcj_14_14_usable): Renamed from
61490         is_envjavac_gcj_14_14_usable.
61491         (is_envjavac_oldgcj_14_13_usable): Renamed from
61492         is_envjavac_gcj_14_13_usable.
61493         (is_gcj_present): Update.
61494         (is_gcj_43, is_gcj43_usable): New functions.
61495         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
61496         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
61497         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
61498         try the options -fsource and -ftarget.
61499
61500 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
61501
61502         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
61503         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
61504         larger value.
61505
61506 2007-02-03  Jim Meyering  <jim@meyering.net>
61507
61508         Give tools a better chance to allocate space for very large buffers.
61509         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
61510
61511         Make pwd and readlink work also when run with an unreadable parent dir
61512         on systems with openat support.
61513         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
61514         provided getcwd function, even when we have openat support.
61515         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
61516
61517 2007-02-02  Bruno Haible  <bruno@clisp.org>
61518
61519         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
61520         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
61521         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
61522         portability problems if one of these functions is only used on specific
61523         platforms.
61524         Reported by Paul Eggert.
61525
61526 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
61527
61528         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
61529         is causing more trouble than it's curing.
61530         * lib/regex_internal.h (__mempcpy): Remove.
61531         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
61532         (and make the code a tad smaller to boot).
61533         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
61534
61535 2007-02-02  Jim Meyering  <jim@meyering.net>
61536
61537         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
61538         section, not in the Makefile.am: one.
61539
61540 2007-02-02  Eric Blake  <ebb9@byu.net>
61541
61542         * lib/strchrnul.c: Always include config.h first.
61543
61544         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
61545         gnulib strstr is not necessary here.
61546
61547 2007-02-02  Simon Josefsson  <simon@josefsson.org>
61548
61549         * m4/socklen.m4: Fix typo.
61550
61551 2007-02-02  Eric Blake  <ebb9@byu.net>
61552
61553         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
61554         * modules/netinet_in (Makefile.am): Likewise.
61555
61556 2007-02-01  Bruno Haible  <bruno@clisp.org>
61557
61558         * lib/string_.h (GL_LINK_WARNING): New macro.
61559         (strcasecmp, strstr, strcasestr): If provided by the system,
61560         conditionally define as a macro that leads to a warning instead of to
61561         an error.
61562         (strncasecmp): Conditionally define as a macro that leads to a warning.
61563
61564 2007-02-01  Karl Berry  <karl@gnu.org>
61565
61566         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
61567
61568 2007-02-01  Bruno Haible  <bruno@clisp.org>
61569
61570         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
61571         renamings.
61572
61573 2007-02-01  Eric Blake  <ebb9@byu.net>
61574
61575         * modules/regex (Depends-on): Revert dependence on mempcpy.
61576         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
61577         module's definition of mempcpy.
61578         Reported by Paul Eggert.
61579
61580 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
61581
61582         * lib/string_.h: If the gnulib module XYZ is not present, undefine
61583         the symbol XYZ before redefining it.  This fixes a problem with
61584         programs that don't use XYZ, when compiled on systems that define
61585         XYZ to something else.
61586
61587 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
61588
61589         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
61590         occurs when "mkdir -m foo" creates a setgid directory that is (1)
61591         writeable to group or other and (2) is intended to have a special
61592         mode bit that is set or cleared.  In such a case, the directory
61593         should be neither group- nor other-writeable until the special
61594         mode bits are right.
61595
61596 2007-01-31  Eric Blake  <ebb9@byu.net>
61597
61598         * modules/mountlist (Depends-on): Add strstr.
61599
61600         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
61601         bug.
61602         * modules/string (Makefile.am): Remove redundant replacement.
61603         * modules/regex (Depends-on): Add mempcpy.
61604
61605 2007-01-31  Bruno Haible  <bruno@clisp.org>
61606
61607         New module description field 'Link'.
61608         * gnulib-tool (func_usage): Document --extract-link-directive.
61609         (sed_extract_prog): Recognize 'Link' directive.
61610         (func_get_link_directive): New function.
61611         (func_import): Show summary of link directives.
61612         Handle --extract-link-directive option.
61613         * modules/acl (Link): New section.
61614         * modules/clock-time (Link): New section.
61615         * modules/euidaccess (Link): New section.
61616         * modules/gettext (Link): New section.
61617         * modules/iconv (Link): New section.
61618         * modules/lock (Link): New section.
61619         * modules/nanosleep (Link): New section.
61620         * modules/readline (Link): New section.
61621
61622 2007-01-27  Bruno Haible  <bruno@clisp.org>
61623
61624         Enforce the use of gnulib modules for unportable <string.h> functions.
61625         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
61626         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
61627         (gl_HEADER_STRING_H_BODY): Require it.
61628         * lib/string_.h: If the gnulib module XYZ is not present, redefine
61629         the symbol XYZ to one that gives a link error.
61630         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
61631         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
61632         * modules/mempcpy (configure.ac): Likewise.
61633         * modules/memrchr (configure.ac): Likewise.
61634         * modules/stpcpy (configure.ac): Likewise.
61635         * modules/stpncpy (configure.ac): Likewise.
61636         * modules/strcase (configure.ac): Likewise.
61637         * modules/strcasestr (configure.ac): Likewise.
61638         * modules/strchrnul (configure.ac): Likewise.
61639         * modules/strdup (configure.ac): Likewise.
61640         * modules/strndup (configure.ac): Likewise.
61641         * modules/strnlen (configure.ac): Likewise.
61642         * modules/strpbrk (configure.ac): Likewise.
61643         * modules/strsep (configure.ac): Likewise.
61644         * modules/strstr (configure.ac): Likewise.
61645         * modules/strtok_r (configure.ac): Likewise.
61646
61647 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
61648
61649         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
61650
61651 2007-01-30  Jim Meyering  <jim@meyering.net>
61652
61653         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
61654
61655 2007-01-29  Bruno Haible  <bruno@clisp.org>
61656
61657         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
61658         * lib/execute.c: Likewise.
61659         * lib/pipe.c: Likewise.
61660         * lib/printf-args.h: Likewise.
61661         * lib/printf-args.c: Likewise.
61662         * lib/printf-parse.c: Likewise.
61663         * lib/vasnprintf.c: Likewise.
61664
61665 2007-01-29  Eric Blake  <ebb9@byu.net>
61666
61667         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
61668         declaration.
61669
61670 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
61671
61672         * lib/strptime.h (strptime): Use 'restrict' for args where
61673         POSIX requires this.
61674         * lib/strptime.c (strptime): Likewise.
61675         Change license notice from LGPL to GPL, since gnulib-tool will
61676         change this as needed.
61677         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
61678         defined.
61679         Include "strptime.h" first, to check interface.
61680         Do not #undef _LIBC and _NL_CURRENT.
61681         Do not include <stdlib.h>; no longer needed.
61682         Include "time_r.h" and declare ptime_locale_status
61683         only if _LIBC is not defined.
61684         (__P): Remove unused macro.
61685         (match_string): Bring back glibc version, but use it only if _LIBC
61686         is defined.
61687         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
61688         Remove unnecessary assertion and abort() call.
61689         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
61690         * m4/strptime.m4: Fix serial number comment.
61691         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
61692         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
61693         (Depends-on): Add time_r.
61694
61695 2007-01-29  Bruno Haible  <bruno@clisp.org>
61696
61697         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
61698         strptime.
61699         * modules/strptime (Depends-on): Add stdbool.
61700         * lib/strptime.h: Include <time.h> always. Add comments.
61701
61702 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
61703
61704         * modules/strptime: New file.
61705         * lib/strptime.h: New file.
61706         * lib/strptime.c: New file.
61707         * m4/strptime.m4: New file.
61708
61709 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
61710
61711         * MODULES.html.sh: New module mpsort.
61712         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
61713
61714         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
61715         a circularity problem with HP-UX ia64 reported by Bob Proulx in
61716         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
61717         All uses changed.
61718         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
61719         All uses changed.
61720         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
61721         to _Restrict_.
61722         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
61723         the parameter matches the prototype.
61724
61725 2007-01-28  Jim Meyering  <jim@meyering.net>
61726
61727         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
61728         sys/time.h here, reverting that part of the previous patch:
61729         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
61730
61731 2007-01-28  Bruno Haible  <bruno@clisp.org>
61732
61733         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
61734         value of $(SYS_TIME_H).
61735         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
61736         remove it conditionally, too. [added by Jim Meyering]
61737         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
61738         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
61739         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
61740         GETTIMEOFDAY_REPLACEMENT to 1.
61741
61742 2007-01-28  Bruno Haible  <bruno@clisp.org>
61743
61744         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
61745         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
61746         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
61747         Set UNISTD_H instead of UNISTD_H2.
61748         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
61749
61750 2007-01-28  Bruno Haible  <bruno@clisp.org>
61751
61752         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
61753         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
61754
61755 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61756
61757         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
61758         (func_create_testdir): Ensure C locale for `grep' and `tr'
61759         character ranges.
61760         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
61761         ACLOCAL_AMFLAGS parsing state machine.
61762
61763 2007-01-27  Bruno Haible  <bruno@clisp.org>
61764
61765         * modules/unistr/base: Update.
61766
61767 2007-01-27  Bruno Haible  <bruno@clisp.org>
61768
61769         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
61770         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
61771         * modules/unistr/u32-mbtouc-unsafe: Renamed from
61772         modules/unistr/u32-mbtouc.
61773         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
61774         * lib/unistr.h: Update.
61775         * lib/linebreak.c: Update.
61776         * modules/unistr/u32-mbtouc: Renamed from
61777         modules/unistr/u32-mbtouc-safe.
61778         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
61779         * lib/unistr.h: Update.
61780         * lib/unistr/u32-to-u8.c: Update.
61781         * lib/unistr/u32-to-u16.c: Update.
61782
61783 2007-01-27  Bruno Haible  <bruno@clisp.org>
61784
61785         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
61786         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
61787         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
61788         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
61789         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
61790         * modules/unistr/u16-mbtouc-unsafe: Renamed from
61791         modules/unistr/u16-mbtouc.
61792         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
61793         * lib/unistr.h: Update.
61794         * lib/linebreak.c: Update.
61795         * modules/linebreak: Update.
61796         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
61797         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
61798         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
61799         * modules/unistr/u16-mbtouc: Renamed from
61800         modules/unistr/u16-mbtouc-safe.
61801         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
61802         * lib/unistr.h: Update.
61803         * lib/unistr/u16-to-u8.c: Update.
61804         * modules/unistr/u16-to-u8: Update.
61805         * lib/unistr/u16-to-u32.c: Update.
61806         * modules/unistr/u16-to-u32: Update.
61807
61808 2007-01-27  Bruno Haible  <bruno@clisp.org>
61809
61810         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
61811         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
61812         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
61813         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
61814         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
61815         * modules/unistr/u8-mbtouc-unsafe: Renamed from
61816         modules/unistr/u8-mbtouc.
61817         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
61818         * lib/unistr.h: Update.
61819         * lib/striconveh.c: Update.
61820         * modules/striconveh: Update.
61821         * lib/linebreak.c: Update.
61822         * modules/linebreak: Update.
61823         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
61824         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
61825         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
61826         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
61827         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
61828         * lib/unistr.h: Update.
61829         * lib/striconveh.c: Update.
61830         * modules/striconveh: Update.
61831         * lib/unistr/u8-to-u16.c: Update.
61832         * modules/unistr/u8-to-u16: Update.
61833         * lib/unistr/u8-to-u32.c: Update.
61834         * modules/unistr/u8-to-u32: Update.
61835
61836 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61837
61838         Sync from Libtool.
61839         * lib/argz.c: Do not include strings.h nor memory.h, include
61840         string.h unconditionally.  Patch by Simon Josefsson.
61841
61842 2007-01-27  Bruno Haible  <bruno@clisp.org>
61843
61844         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
61845         from gl_HEADER_STRING_H_BODY.
61846         (gl_HEADER_STRING_H_BODY): Require it.
61847         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
61848         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
61849         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
61850         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
61851         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
61852         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
61853         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
61854         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
61855         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
61856         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
61857         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
61858         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
61859         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
61860         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
61861         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
61862
61863 2007-01-27  Bruno Haible  <bruno@clisp.org>
61864
61865         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
61866         check_PROGRAMS into noinst_PROGRAMS.
61867         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
61868         check_PROGRAMS in this case.
61869         (func_import): Set for_test to false.
61870         (func_create_testdir): Set for_test to true.
61871
61872 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
61873             Bruno Haible  <bruno@clisp.org>
61874
61875         * modules/strcasestr (Files): Remove lib/strcasestr.h.
61876         (Depends-on): Add string.
61877         (Includes): Use <string.h> instead of strcasestr.h.
61878         * modules/string (Makefile.am): Also substitute the value of
61879         REPLACE_STRCASESTR.
61880         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
61881         assume strcasestr is declared in <string.h> not <strings.h>. Also
61882         set REPLACE_STRCASESTR.
61883         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
61884         REPLACE_STRCASESTR.
61885         * lib/strcasestr.h: Remove file.
61886         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
61887         * lib/string_.h (strcasestr): New declaration.
61888
61889 2007-01-27  Bruno Haible  <bruno@clisp.org>
61890
61891         * lib/string_.h: Use 'extern'.
61892
61893 2007-01-27  Jim Meyering  <jim@meyering.net>
61894
61895         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
61896         of set-but-not-used local, "q".
61897
61898         * lib/mempcpy.c: Include <config.h> before <string.h>.
61899         This fixes a compilation error on HP-UX, due to the system's
61900         "restrict"-using mempcpy prototype.
61901
61902 2007-01-26  Bruno Haible  <bruno@clisp.org>
61903
61904         Small optimization.
61905         * lib/javacomp.c: Include c-strstr.h.
61906          (is_envjavac_gcj): Use c_strstr instead of strstr.
61907         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
61908
61909 2007-01-26  Bruno Haible  <bruno@clisp.org>
61910
61911         * MODULES.html.sh (Unicode string functions): Add the new modules.
61912
61913         * modules/uniconv/u32-strconv-to-locale: New file.
61914         * lib/uniconv/u32-strconv-to-locale.c: New file.
61915
61916         * modules/uniconv/u16-strconv-to-locale: New file.
61917         * lib/uniconv/u16-strconv-to-locale.c: New file.
61918
61919         * modules/uniconv/u8-strconv-to-locale: New file.
61920         * lib/uniconv/u8-strconv-to-locale.c: New file.
61921
61922         * modules/uniconv/u32-strconv-from-locale: New file.
61923         * lib/uniconv/u32-strconv-from-locale.c: New file.
61924
61925         * modules/uniconv/u16-strconv-from-locale: New file.
61926         * lib/uniconv/u16-strconv-from-locale.c: New file.
61927
61928         * modules/uniconv/u8-strconv-from-locale: New file.
61929         * lib/uniconv/u8-strconv-from-locale.c: New file.
61930
61931         * modules/uniconv/u32-strconv-to-enc: New file.
61932         * lib/uniconv/u32-strconv-to-enc.c: New file.
61933         * modules/uniconv/u32-strconv-to-enc-tests: New file.
61934         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
61935
61936         * modules/uniconv/u16-strconv-to-enc: New file.
61937         * lib/uniconv/u16-strconv-to-enc.c: New file.
61938         * lib/uniconv/u-strconv-to-enc.h: New file.
61939         * modules/uniconv/u16-strconv-to-enc-tests: New file.
61940         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
61941
61942         * modules/uniconv/u8-strconv-to-enc: New file.
61943         * lib/uniconv/u8-strconv-to-enc.c: New file.
61944         * modules/uniconv/u8-strconv-to-enc-tests: New file.
61945         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
61946
61947         * modules/uniconv/u32-strconv-from-enc: New file.
61948         * lib/uniconv/u32-strconv-from-enc.c: New file.
61949         * modules/uniconv/u32-strconv-from-enc-tests: New file.
61950         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
61951
61952         * modules/uniconv/u16-strconv-from-enc: New file.
61953         * lib/uniconv/u16-strconv-from-enc.c: New file.
61954         * modules/uniconv/u16-strconv-from-enc-tests: New file.
61955         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
61956
61957         * modules/uniconv/u8-strconv-from-enc: New file.
61958         * lib/uniconv/u8-strconv-from-enc.c: New file.
61959         * lib/uniconv/u-strconv-from-enc.h: New file.
61960         * modules/uniconv/u8-strconv-from-enc-tests: New file.
61961         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
61962
61963         * modules/uniconv/u32-conv-from-enc: New file.
61964         * lib/uniconv/u32-conv-from-enc.c: New file.
61965         * modules/uniconv/u32-conv-from-enc-tests: New file.
61966         * tests/uniconv/test-u32-conv-from-enc.c: New file.
61967
61968         * modules/uniconv/u16-conv-from-enc: New file.
61969         * lib/uniconv/u16-conv-from-enc.c: New file.
61970         * lib/uniconv/u-conv-from-enc.h: New file.
61971         * modules/uniconv/u16-conv-from-enc-tests: New file.
61972         * tests/uniconv/test-u16-conv-from-enc.c: New file.
61973
61974         * modules/uniconv/u8-conv-from-enc: New file.
61975         * lib/uniconv/u8-conv-from-enc.c: New file.
61976         * modules/uniconv/u8-conv-from-enc-tests: New file.
61977         * tests/uniconv/test-u8-conv-from-enc.c: New file.
61978
61979         * modules/uniconv/base: New file.
61980         * lib/uniconv.h: New file.
61981
61982 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
61983
61984         * doc/gnulib-tool.texi (Initial import): Update to match current
61985         behavior with strdup module.
61986         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
61987         * lib/memmem.h: Remove; all uses removed.  This is now done
61988         by <string.h>.
61989         * lib/mempcpy.h: Likewise.
61990         * lib/memrchr.h: Likewise.
61991         * lib/stpcpy.h: Likewise.
61992         * lib/stpncpy.h: Likewise.
61993         * lib/strcase.h: Likewise.
61994         * lib/strchrnul.h: Likewise.
61995         * lib/strdup.h: Likewise.
61996         * lib/strndup.h: Likewise.
61997         * lib/strnlen.h: Likewise.
61998         * lib/strpbrk.h: Likewise.
61999         * lib/strsep.h: Likewise.
62000         * lib/strstr.h: Likewise.
62001         * lib/strtok_r.h: Likewise.
62002         * lib/string_.h: New file.
62003         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
62004         Rely on <string.h> instead.
62005         * lib/canon-host.c: Likewise.
62006         * lib/chdir-long.c: Likewise.
62007         * lib/concatpath.c: Likewise.
62008         * lib/exclude.c: Likewise.
62009         * lib/fchdir.c: Likewise.
62010         * lib/getaddrinfo.c: Likewise.
62011         * lib/getcwd.c: Likewise.
62012         * lib/getsubopt.c: Likewise.
62013         * lib/glob.c: Likewise.
62014         * lib/hard-locale.c: Likewise.
62015         * lib/iconvme.c: Likewise.
62016         * lib/javacomp.c: Likewise.
62017         * lib/mempcpy.c: Likewise.
62018         * lib/memrchr.c: Likewise.
62019         * lib/regex_internal.h: Likewise.
62020         * lib/stpncpy.c: Likewise.
62021         * lib/strcasecmp.c: Likewise.
62022         * lib/strchrnul.c: Likewise.
62023         * lib/strdup.c: Likewise.
62024         * lib/striconv.c: Likewise.
62025         * lib/striconveh.c: Likewise.
62026         * lib/striconveha.c: Likewise.
62027         * lib/strncasecmp.c: Likewise.
62028         * lib/strndup.c: Likewise.
62029         * lib/strnlen.c: Likewise.
62030         * lib/strsep.c: Likewise.
62031         * lib/strstr.c: Likewise.
62032         * lib/strtok_r.c: Likewise.
62033         * lib/userspec.c: Likewise.
62034         * lib/w32spawn.h: Likewise.
62035         * lib/xstrndup.c: Likewise.
62036         * lib/mountlist.c (strstr): Remove decl.
62037         * m4/string_h.m4: New file.
62038         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
62039         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
62040         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
62041         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
62042         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
62043         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
62044         Set REPLACE_STRCASECMP if necessary.
62045         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
62046         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
62047         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
62048         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
62049         HAVE_DECL_STRDUP if necessary.
62050         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
62051         since gl_FUNC_STRNDUP does that now.
62052         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
62053         Check for decl here...
62054         (gl_PREREQ_STRNLEN): ... not here.
62055         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
62056         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
62057         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
62058         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
62059         necessary.
62060         * modules/string: New file.
62061         * modules/memmem (Files): Remove special-purpose include file.
62062         (Depends-on): Add string.
62063         (Include): Include <string.h>, not the removed file.
62064         * modules/mempcpy: Likewise.
62065         * modules/memrchr: Likewise.
62066         * modules/stpcpy: Likewise.
62067         * modules/stpncpy: Likewise.
62068         * modules/strcase: Likewise.
62069         * modules/strchrnul: Likewise.
62070         * modules/strdup: Likewise.
62071         * modules/strndup: Likewise.
62072         * modules/strnlen: Likewise.
62073         * modules/strpbrk: Likewise.
62074         * modules/strsep: Likewise.
62075         * modules/strstr: Likewise.
62076         * modules/strtok_r: Likewise.
62077         * tests/test-dirname.c: Don't include "strdup.h", since
62078         <string.h> now suffices.
62079         * tests/test-memmem.c: Don't include "memmem.h", since
62080         <string.h> now suffices.
62081
62082 2007-01-25  Bruno Haible  <bruno@clisp.org>
62083
62084         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
62085         *resultp is 0.
62086
62087         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
62088         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
62089         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
62090         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
62091
62092         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
62093         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
62094         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
62095         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
62096         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
62097         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
62098
62099 2007-01-24  Bruno Haible  <bruno@clisp.org>
62100
62101         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
62102         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
62103         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
62104         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
62105         gl_FUNC_FTS_CORE.
62106         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
62107         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
62108         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
62109         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
62110         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
62111         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
62112         gl_FUNC_FCHOWNAT.
62113         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
62114         gl_FUNC_STRFTIME.
62115         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
62116         Reported by Ralf Wildenhues.
62117
62118 2007-01-24  Bruno Haible  <bruno@clisp.org>
62119
62120         Drop AC_REQUIRE calls that are redundant with the module dependencies.
62121         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
62122         gl_GETADDRINFO.
62123         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
62124         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
62125         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
62126
62127 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
62128
62129         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
62130         Don't use 'exit'; just return from 'main'.
62131         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
62132
62133         * lib/fnmatch_.h: Readjust white space and comments to match
62134         glibc, to avoid spurious diffs.
62135
62136 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62137
62138         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
62139         2004-12-01 change by Jakub Jelinek, since this code won't compile
62140         if !LIBC.  Problem reported by Bob Proulx.
62141
62142 2007-01-23  Bruno Haible  <bruno@clisp.org>
62143
62144         * lib/striconveh.c: Include c-strcaseeq.h.
62145         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
62146         * modules/striconveh (Depends-on): Add c-strcaseeq.
62147
62148 2007-01-23  Bruno Haible  <bruno@clisp.org>
62149
62150         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
62151
62152         * modules/c-strcaseeq: New file.
62153         * lib/c-strcaseeq.h: New file.
62154
62155         * modules/streq: New file.
62156         * lib/streq.h: New file.
62157
62158 2007-01-23  Bruno Haible  <bruno@clisp.org>
62159
62160         * modules/striconveha-tests: New file.
62161         * tests/test-striconveha.c: New file.
62162
62163         * lib/striconveha.h: Include <stdbool.h>.
62164         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
62165         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
62166         (mem_iconveha_notranslit): Renamed from mem_iconveha.
62167         (mem_iconveha): New function.
62168         (str_iconveha_notranslit): Renamed from str_iconveha.
62169         (str_iconveha): New function.
62170         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
62171         c-strcase.
62172
62173 2007-01-23  Bruno Haible  <bruno@clisp.org>
62174
62175         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
62176         encodings without forgiving before trying any encoding with handler.
62177         (str_iconveha): Try all encodings without forgiving before trying any
62178         encoding with handler.
62179
62180 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62181
62182         Import the following changes from libc.
62183
62184         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
62185
62186         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
62187
62188         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
62189
62190         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
62191         normal_bracket label.
62192
62193         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
62194
62195         [BZ #361]
62196         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
62197         to normal_bracket after fetching the next character.
62198
62199 2007-01-22  Bruno Haible  <bruno@clisp.org>
62200
62201         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
62202         argument.
62203         * lib/striconveh.c (iconv_carefully_1): New function.
62204         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
62205         argument.
62206         (str_cd_iconveh): Update.
62207         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
62208         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
62209         * tests/test-striconveh.c (MAGIC): New macro.
62210         (new_offsets): New function.
62211         (main): Test call with and without offsets.
62212
62213 2007-01-22  Bruno Haible  <bruno@clisp.org>
62214
62215         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
62216         * modules/sys_select (Makefile.am): Likewise.
62217         * modules/sys_socket (Makefile.am): Likewise.
62218         * modules/sys_time (Makefile.am): Likewise.
62219
62220 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
62221
62222         * modules/gettimeofday (License): Change from GPL to LGPL, since
62223         gettimeofday is a library function.
62224
62225 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62226
62227         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
62228
62229 2007-01-21  Bruno Haible  <bruno@clisp.org>
62230
62231         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
62232
62233 2007-01-21  Bruno Haible  <bruno@clisp.org>
62234
62235         * modules/striconveha: New file.
62236         * lib/striconveha.h: New file.
62237         * lib/striconveha.c: New file.
62238         * MODULES.html.sh (Internationalization functions): Add striconveha.
62239         * lib/striconv.c (str_iconv): Optimize the case of an empty input
62240         string.
62241         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
62242
62243 2007-01-21  Bruno Haible  <bruno@clisp.org>
62244
62245         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
62246         * lib/striconveh.c (str_iconveh): Likewise.
62247
62248 2007-01-21  Bruno Haible  <bruno@clisp.org>
62249
62250         * lib/striconveh.h (mem_iconveh): New declaration.
62251         * lib/striconveh.c (mem_iconveh): New function.
62252         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
62253
62254 2007-01-21  Bruno Haible  <bruno@clisp.org>
62255
62256         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
62257
62258         * lib/striconveh.h (mem_cd_iconveh): Change specification.
62259         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
62260         original result buffer.
62261         (str_cd_iconveh): Update.
62262         * tests/test-striconveh.c (main): Update.
62263
62264         * lib/striconv.h (mem_cd_iconv): Change specification.
62265         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
62266         result buffer.
62267         (str_cd_iconv): Update.
62268         * tests/test-striconv.c (main): Update.
62269
62270 2007-01-21  Bruno Haible  <bruno@clisp.org>
62271
62272         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
62273
62274 2007-01-20  Jim Meyering  <jim@meyering.net>
62275
62276         * lib/userspec.c (parse_with_separator): If a user or group string
62277         starts with "+", skip the corresponding name-to-ID look-up, since
62278         such a look-up must fail: user and group names may not include "+".
62279
62280 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
62281
62282         * lib/poll.c: Include sys/time.h and time.h unconditionally,
62283         since we now assume the sys_time module.
62284         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
62285         check for sys/time.h; no longer needed.
62286         * modules/poll (Depends-on): Depend on sys_time.
62287
62288 2007-01-18  Bruno Haible  <bruno@clisp.org>
62289
62290         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
62291         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
62292
62293         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
62294         gettimeofday.
62295
62296         * tests/test-gettimeofday.c: Include <time.h>.
62297         (dummy): Remove variable.
62298
62299         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
62300         gl_HEADER_SYS_TIME_H.
62301         (gl_HEADER_SYS_TIME_H): New macro.
62302
62303         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
62304         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
62305         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
62306         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
62307         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
62308         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
62309         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
62310         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
62311         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
62312         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
62313         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
62314
62315         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
62316         last change; it caused a compilation error when cross-compiling to
62317         Cygwin.
62318
62319 2007-01-18  Jim Meyering  <jim@meyering.net>
62320
62321         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
62322         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
62323         than the race-prone "test -d sys || mkdir sys".
62324         (configure.ac): Use AC_PROG_MKDIR_P.
62325         * modules/sys_select: Likewise.
62326         * modules/sys_socket: Likewise.
62327         * modules/sys_time: Likewise.
62328
62329 2007-01-18  Eric Blake  <ebb9@byu.net>
62330
62331         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
62332         replace gettimeofday.
62333         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
62334         name, to avoid infinite recursion.
62335
62336 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
62337
62338         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
62339         module sys_time.
62340         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
62341         assume timespec.h defines struct timeval.
62342         * lib/settime.c: Likewise.
62343         * lib/utimens.c: Likewise.
62344         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
62345         since we now assume the gettimeofday module.
62346         * lib/tempname.c (__gen_tempname): Likewise.
62347         * lib/gettimeofday.h: Remove.
62348         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
62349         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
62350         Include <time.h>, for 'time()'.
62351         (localtime_buffer_addr): Also use this workaround if
62352         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
62353         to simplify the uses.  All uses changed.
62354         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
62355         that #undef is inside {}, and 'const' follows type name consistently.
62356         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
62357         (gettimeofday): Do not use the maximum possible value for
62358         tv->tv_usec, since that might break usages other than ls.c.
62359         Instead, we'll leave ls.c alone.  This undoes today's patch
62360         by Bruno.  Add a compile-time warning for 1s-clock resolution;
62361         we've never observed the problem but might as well keep the
62362         canary.
62363         * lib/nanosleep.c: Include timespec.h first, for interface check.
62364         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
62365         now assume the sys_time module.
62366         * lib/tempname.c: Likewise.
62367         * lib/timespec.h: Likewise.
62368         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
62369         needed.
62370         * lib/strftime.c: Likewise.
62371         * lib/timespec.h: Likewise.
62372         * lib/posixtm.c: Include posixtm.h first, for interface check.
62373         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
62374         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
62375         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
62376         * lib/sys_time_.h: New file.
62377         * lib/timespec.h (struct timespec): Use long int, not long.
62378         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
62379         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
62380         Remove obsolescent call to AC_HEADER_TIME.
62381         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
62382         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62383         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
62384         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
62385         Likewise.
62386         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
62387         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
62388         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
62389         into the sys_time module.  Check for gettimeofday just once.
62390         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
62391         for gettimeofday signature to just check the signature.  Merely
62392         compile it, since linking doesn't test signature.  Improve test for
62393         whether gettimeofday.o is actually needed.
62394         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
62395         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
62396         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
62397         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
62398         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
62399         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
62400         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
62401         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
62402         than worrying about sys/time.h.
62403         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
62404         Don't bother worrying about TIME_WITH_SYS_TIME.
62405         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
62406         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
62407         * m4/sys_time_h.m4: New file.
62408         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
62409         Don't include sys/time.h.  Return from main rather than exiting.
62410         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
62411         all uses changed.
62412         * modules/gethrxtime (Depends-on): Add sys_time.
62413         * modules/gettime (Depends-on): Likewise.
62414         * modules/gettimeofday (Depends-on): Likewise.
62415         * modules/nanosleep (Depends-on): Likewise.
62416         * modules/settime (Depends-on): Likewise.
62417         * modules/tempname (Depends-on): Likewise.
62418         * modules/utimens (Depends-on): Likewise.
62419         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
62420         (Include): Change back to <sys/time.h>.
62421         (Maintainer): Add self.
62422         * modules/sys_time: New file.
62423         * modules/tempname (Depends-on): Add gettimeofday.
62424         * tests/test-gettimeofday.c: Include <sys/time.h>
62425         rather than gettimeofday.h.
62426
62427 2007-01-17  Bruno Haible  <bruno@clisp.org>
62428
62429         * gnulib-tool (func_get_license): Revert last patch. Instead, let
62430         the license default to GPL.
62431         (func_create_testdir): Don't complain if a module is LGPL and its
62432         tests module depends on GPLed modules.
62433
62434 2007-01-17  Bruno Haible  <bruno@clisp.org>
62435
62436         * lib/gettimeofday.c (gettimeofday): Add code for the case
62437         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
62438         maximum possible value for tv->tv_usec, rather than the minimum one.
62439
62440 2005-10-08  Martin Lambers  <marlam@marlam.de>
62441 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
62442 2007-01-16  Bruno Haible  <bruno@clisp.org>
62443
62444         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
62445         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
62446         gl_FUNC_GETTIMEOFDAY.
62447         (Include): Add gettimeofday.h.
62448         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
62449         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
62450         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
62451         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
62452         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
62453         * lib/gettimeofday.h: New file.
62454         * lib/gettimeofday.c: Include <sys/timeb.h>.
62455         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
62456         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
62457         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
62458         fall back on time().
62459
62460         * tests/test-gettimeofday.c: New file.
62461         * modules/gettimeofday-tests: New file.
62462
62463 2007-01-16  Eric Blake  <ebb9@byu.net>
62464
62465         * modules/fnmatch (Depends-on): Depend on wchar.
62466         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
62467         * m4/fnmatch.m4: Likewise.
62468         * modules/mbchar (Makefile.am): Assume <wchar.h>.
62469         * m4/mbchar.m4: Likewise.
62470         * modules/mbswidth (Depends-on): Depend on wchar.
62471         * lib/mbswidth.c: Assume <wchar.h>.
62472         * m4/mbswidth.m4: Likewise.
62473         * modules/quotearg (Depends-on): Depend on wchar.
62474         * lib/quotearg.c: Assume <wchar.h>.
62475         * m4/quotearg.m4: Likewise.
62476         * modules/regex (Depends-on): Depend on wchar.
62477         * lib/regex_internal.h: Assume <wchar.h>.
62478         * m4/regex.m4: Likewise.
62479         * modules/stdint (Depends-on): Depend on wchar.
62480         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
62481         * m4/stdint.m4: Likewise.
62482         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
62483         * modules/strftime (Depends-on): Depend on wchar.
62484         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
62485         * modules/strtol (Depends-on): Depend on wchar.
62486         * lib/strtol.c: Assume <wchar.h>.
62487         * modules/wcwidth (Depends-on): Depend on wchar.
62488         * lib/wcwidth.h: Assume <wchar.h>.
62489         * m4/wcwidth.m4: Likewise.
62490
62491 2007-01-16  Bruno Haible  <bruno@clisp.org>
62492
62493         * modules/csharpexec-script: New, created from...
62494         * modules/csharpexec: ... this.
62495
62496 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
62497
62498         * modules/javaexec-script: New, created from...
62499         * modules/javaexec: ... this.
62500
62501 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62502
62503         * modules/poll (Dependencies): Add sys_select.
62504
62505 2007-01-15  Jim Meyering  <jim@meyering.net>
62506
62507         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
62508         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
62509         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
62510         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
62511
62512 2007-01-15  Bruno Haible  <bruno@clisp.org>
62513
62514         * modules/striconveh: New file.
62515         * lib/striconveh.h: New file.
62516         * lib/striconveh.c: New file.
62517         * MODULES.html.sh (Internationalization functions): Add striconveh.
62518
62519         * modules/striconveh-tests: New file.
62520         * tests/test-striconveh.c: New file.
62521
62522 2007-01-15  Bruno Haible  <bruno@clisp.org>
62523
62524         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
62525         not from GNU libiconv or GNU libc.
62526
62527 2007-01-15  Bruno Haible  <bruno@clisp.org>
62528
62529         * doc/gnulib-intro.texi (Copyright): Explain the different license
62530         terms for module descriptions, autoconf macros, tests, documentation.
62531
62532 2007-01-14  Bruno Haible  <bruno@clisp.org>
62533
62534         * modules/striconv-tests: New file.
62535         * tests/test-striconv.c: New file.
62536
62537 2007-01-14  Bruno Haible  <bruno@clisp.org>
62538
62539         * modules/iconv-tests: New file.
62540         * tests/test-iconv.c: New file.
62541
62542 2007-01-14  Bruno Haible  <bruno@clisp.org>
62543
62544         * gnulib-tool (func_get_license): For test modules, use the license of
62545         the main module.
62546
62547 2007-01-14  Bruno Haible  <bruno@clisp.org>
62548
62549         * modules/iconv (Include): Clarify that <iconv.h> can only be included
62550         if iconv is found to exist.
62551
62552 2007-01-14  Bruno Haible  <bruno@clisp.org>
62553
62554         * modules/c-ctype-tests: New file.
62555         * tests/test-c-ctype.c: New file.
62556
62557 2007-01-14  Bruno Haible  <bruno@clisp.org>
62558
62559         * modules/binary-io-tests: New file.
62560         * tests/test-binary-io.sh: New file.
62561         * tests/test-binary-io.c: New file.
62562
62563 2007-01-14  Bruno Haible  <bruno@clisp.org>
62564
62565         * modules/array-oset-tests: New file.
62566         * tests/test-array_oset.c: New file.
62567
62568 2007-01-14  Bruno Haible  <bruno@clisp.org>
62569
62570         * modules/array-list-tests: New file.
62571         * tests/test-array_list.c: New file.
62572
62573 2007-01-14  Bruno Haible  <bruno@clisp.org>
62574
62575         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
62576         and make.
62577         Reported by Simon Josefsson in
62578         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
62579
62580 2007-01-14  Bruno Haible  <bruno@clisp.org>
62581
62582         * modules/allocsa-tests: New file.
62583         * tests/test-allocsa.c: New file.
62584
62585 2007-01-14  Bruno Haible  <bruno@clisp.org>
62586
62587         * modules/fchdir (Depends-on): Add absolute-header.
62588         * modules/unistd (Depends-on): Likewise.
62589
62590 2006-12-30  Bruno Haible  <bruno@clisp.org>
62591
62592         * modules/fchdir: New file.
62593         * modules/unistd (Files): Add lib/unistd_.h.
62594         (Makefile.am): Generate unistd.h from unistd_.h.
62595         * lib/fchdir.c: New file.
62596         * lib/dirent_.h: New file.
62597         * lib/unistd_.h: New file.
62598         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
62599         * m4/fchdir.m4: New file.
62600         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
62601         (gl_HEADER_UNISTD): Invoke it.
62602         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
62603         function.
62604         * lib/backupfile.c (opendir, closedir): Undefine.
62605         * lib/chown.c (open, close): Undefine.
62606         * lib/clean-temp.c (open, close): Undefine.
62607         * lib/copy-file.c (open, close): Undefine.
62608         * lib/execute.c (open, close): Undefine.
62609         * lib/fsusage.c (open, close): Undefine.
62610         * lib/gc-gnulib.c (open, close): Undefine.
62611         * lib/getcwd.c (opendir, closedir): Undefine.
62612         * lib/glob.c (opendir, closedir): Undefine.
62613         * lib/javacomp.c (open, close): Undefine.
62614         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
62615         * lib/openat-proc.c (open, close): Undefine.
62616         * lib/pagealign_alloc.c (open, close): Undefine.
62617         * lib/pipe.c (open, close): Undefine.
62618         * lib/progreloc.c (open, close): Undefine.
62619         * lib/savedir.c (opendir, closedir): Undefine.
62620         * lib/utime.c (open, close): Undefine.
62621         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
62622
62623 2007-01-10  Bruno Haible  <bruno@clisp.org>
62624
62625         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
62626
62627 2007-01-12  Eric Blake  <ebb9@byu.net>
62628
62629         Provide a robust <wchar.h>.  Further simplifications are now
62630         possible in other modules, but not included here.
62631         * modules/wchar: New module.
62632         * m4/wchar.m4: New file.
62633         * lib/wchar_.h: Likewise.
62634         * modules/mbchar (Depends-on): Depend on wchar, as the first use
62635         of the new module.
62636         * MODULES.html.sh (Extended multibyte and wide character utilities):
62637         New section.
62638
62639 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
62640
62641         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
62642         to a reasonable default for memory allocation.
62643         (xreadlink): Don't allocate a huge buffer, to work around a buggy
62644         file system that reports garbage st_size values for symlinks.
62645         Problem reported by Liyang Hu.
62646
62647 2007-01-11  Simon Josefsson  <simon@josefsson.org>
62648
62649         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
62650         Emacs .#* auto-save files).
62651
62652 2007-01-11  Bruno Haible  <bruno@clisp.org>
62653
62654         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
62655         directory.
62656
62657 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
62658
62659         Use @...@ consistently in lib/wctype_.h.
62660         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
62661         on it being set to 1 or 0.
62662         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
62663         go back to AC_SUBSTing it.
62664         * modules/wctype (Makefile.am): Undo previous change.
62665
62666 2007-01-10  Eric Blake  <ebb9@byu.net>
62667
62668         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
62669         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
62670         * modules/wctype (Makefile.am): Likewise.
62671         Reported by Chris McGuire.
62672
62673 2007-01-10  Jim Meyering  <jim@meyering.net>
62674
62675         fts.c: a small readability/maintainability improvement
62676         * lib/fts.c (fts_read): Make this code slightly more readable and
62677         maintainable by hoisting the "sp->fts_cur = p" assignments to
62678         immediately follow the statements that set P.  Derived from
62679         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
62680
62681 2007-01-10  Eric Blake  <ebb9@byu.net>
62682
62683         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
62684         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
62685         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
62686         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
62687         Reported by Chris McGuire.
62688
62689 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62690
62691         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
62692         in sed script.
62693
62694 2007-01-09  Bruno Haible  <bruno@clisp.org>
62695
62696         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
62697         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
62698         variables.
62699         (func_module): Use them.
62700
62701 2007-01-09  Bruno Haible  <bruno@clisp.org>
62702
62703         * modules/unistr/base: New file.
62704         * lib/unistr.h: New file.
62705
62706         * modules/unistr/u8-to-u16: New file.
62707         * lib/unistr/u8-to-u16.c: New file.
62708
62709         * modules/unistr/u8-to-u32: New file.
62710         * lib/unistr/u8-to-u32.c: New file.
62711
62712         * modules/unistr/u16-to-u8: New file.
62713         * lib/unistr/u16-to-u8.c: New file.
62714
62715         * modules/unistr/u16-to-u32: New file.
62716         * lib/unistr/u16-to-u32.c: New file.
62717
62718         * modules/unistr/u32-to-u8: New file.
62719         * lib/unistr/u32-to-u8.c: New file.
62720
62721         * modules/unistr/u32-to-u16: New file.
62722         * lib/unistr/u32-to-u16.c: New file.
62723
62724         * modules/unistr/u8-check: New file.
62725         * modules/unistr/u16-check: New file.
62726         * modules/unistr/u32-check: New file.
62727         * lib/unistr/u8-check.c: New file.
62728         * lib/unistr/u16-check.c: New file.
62729         * lib/unistr/u32-check.c: New file.
62730
62731         * modules/unistr/u8-chr: New file.
62732         * modules/unistr/u16-chr: New file.
62733         * modules/unistr/u32-chr: New file.
62734         * lib/unistr/u8-chr.c: New file.
62735         * lib/unistr/u16-chr.c: New file.
62736         * lib/unistr/u32-chr.c: New file.
62737
62738         * modules/unistr/u8-cmp: New file.
62739         * modules/unistr/u16-cmp: New file.
62740         * modules/unistr/u32-cmp: New file.
62741         * lib/unistr/u8-cmp.c: New file.
62742         * lib/unistr/u16-cmp.c: New file.
62743         * lib/unistr/u32-cmp.c: New file.
62744
62745         * modules/unistr/u8-cpy: New file.
62746         * modules/unistr/u16-cpy: New file.
62747         * modules/unistr/u32-cpy: New file.
62748         * lib/unistr/u8-cpy.c: New file.
62749         * lib/unistr/u16-cpy.c: New file.
62750         * lib/unistr/u32-cpy.c: New file.
62751         * lib/unistr/u-cpy.h: New file.
62752
62753         * modules/unistr/u8-cpy-alloc: New file.
62754         * modules/unistr/u16-cpy-alloc: New file.
62755         * modules/unistr/u32-cpy-alloc: New file.
62756         * lib/unistr/u8-cpy-alloc.c: New file.
62757         * lib/unistr/u16-cpy-alloc.c: New file.
62758         * lib/unistr/u32-cpy-alloc.c: New file.
62759         * lib/unistr/u-cpy-alloc.h: New file.
62760
62761         * modules/unistr/u8-endswith: New file.
62762         * modules/unistr/u16-endswith: New file.
62763         * modules/unistr/u32-endswith: New file.
62764         * lib/unistr/u8-endswith.c: New file.
62765         * lib/unistr/u16-endswith.c: New file.
62766         * lib/unistr/u32-endswith.c: New file.
62767         * lib/unistr/u-endswith.h: New file.
62768
62769         * modules/unistr/u8-mblen: New file.
62770         * modules/unistr/u16-mblen: New file.
62771         * modules/unistr/u32-mblen: New file.
62772         * lib/unistr/u8-mblen.c: New file.
62773         * lib/unistr/u16-mblen.c: New file.
62774         * lib/unistr/u32-mblen.c: New file.
62775
62776         * modules/unistr/u8-mbtouc: New file.
62777         * modules/unistr/u16-mbtouc: New file.
62778         * modules/unistr/u32-mbtouc: New file.
62779         * lib/unistr/u8-mbtouc.c: New file.
62780         * lib/unistr/u16-mbtouc.c: New file.
62781         * lib/unistr/u32-mbtouc.c: New file.
62782
62783         * modules/unistr/u8-mbtouc-safe: New file.
62784         * modules/unistr/u16-mbtouc-safe: New file.
62785         * modules/unistr/u32-mbtouc-safe: New file.
62786         * lib/unistr/u8-mbtouc-safe.c: New file.
62787         * lib/unistr/u16-mbtouc-safe.c: New file.
62788         * lib/unistr/u32-mbtouc-safe.c: New file.
62789
62790         * modules/unistr/u8-move: New file.
62791         * modules/unistr/u16-move: New file.
62792         * modules/unistr/u32-move: New file.
62793         * lib/unistr/u8-move.c: New file.
62794         * lib/unistr/u16-move.c: New file.
62795         * lib/unistr/u32-move.c: New file.
62796         * lib/unistr/u-move.h: New file.
62797
62798         * modules/unistr/u8-next: New file.
62799         * modules/unistr/u16-next: New file.
62800         * modules/unistr/u32-next: New file.
62801         * lib/unistr/u8-next.c: New file.
62802         * lib/unistr/u16-next.c: New file.
62803         * lib/unistr/u32-next.c: New file.
62804
62805         * modules/unistr/u8-prev: New file.
62806         * modules/unistr/u16-prev: New file.
62807         * modules/unistr/u32-prev: New file.
62808         * lib/unistr/u8-prev.c: New file.
62809         * lib/unistr/u16-prev.c: New file.
62810         * lib/unistr/u32-prev.c: New file.
62811
62812         * modules/unistr/u8-set: New file.
62813         * modules/unistr/u16-set: New file.
62814         * modules/unistr/u32-set: New file.
62815         * lib/unistr/u8-set.c: New file.
62816         * lib/unistr/u16-set.c: New file.
62817         * lib/unistr/u32-set.c: New file.
62818         * lib/unistr/u-set.h: New file.
62819
62820         * modules/unistr/u8-startswith: New file.
62821         * modules/unistr/u16-startswith: New file.
62822         * modules/unistr/u32-startswith: New file.
62823         * lib/unistr/u8-startswith.c: New file.
62824         * lib/unistr/u16-startswith.c: New file.
62825         * lib/unistr/u32-startswith.c: New file.
62826         * lib/unistr/u-startswith.h: New file.
62827
62828         * modules/unistr/u8-stpcpy: New file.
62829         * modules/unistr/u16-stpcpy: New file.
62830         * modules/unistr/u32-stpcpy: New file.
62831         * lib/unistr/u8-stpcpy.c: New file.
62832         * lib/unistr/u16-stpcpy.c: New file.
62833         * lib/unistr/u32-stpcpy.c: New file.
62834         * lib/unistr/u-stpcpy.h: New file.
62835
62836         * modules/unistr/u8-stpncpy: New file.
62837         * modules/unistr/u16-stpncpy: New file.
62838         * modules/unistr/u32-stpncpy: New file.
62839         * lib/unistr/u8-stpncpy.c: New file.
62840         * lib/unistr/u16-stpncpy.c: New file.
62841         * lib/unistr/u32-stpncpy.c: New file.
62842         * lib/unistr/u-stpncpy.h: New file.
62843
62844         * modules/unistr/u8-strcat: New file.
62845         * modules/unistr/u16-strcat: New file.
62846         * modules/unistr/u32-strcat: New file.
62847         * lib/unistr/u8-strcat.c: New file.
62848         * lib/unistr/u16-strcat.c: New file.
62849         * lib/unistr/u32-strcat.c: New file.
62850         * lib/unistr/u-strcat.h: New file.
62851
62852         * modules/unistr/u8-strchr: New file.
62853         * modules/unistr/u16-strchr: New file.
62854         * modules/unistr/u32-strchr: New file.
62855         * lib/unistr/u8-strchr.c: New file.
62856         * lib/unistr/u16-strchr.c: New file.
62857         * lib/unistr/u32-strchr.c: New file.
62858
62859         * modules/unistr/u8-strcmp: New file.
62860         * modules/unistr/u16-strcmp: New file.
62861         * modules/unistr/u32-strcmp: New file.
62862         * lib/unistr/u8-strcmp.c: New file.
62863         * lib/unistr/u16-strcmp.c: New file.
62864         * lib/unistr/u32-strcmp.c: New file.
62865
62866         * modules/unistr/u8-strcpy: New file.
62867         * modules/unistr/u16-strcpy: New file.
62868         * modules/unistr/u32-strcpy: New file.
62869         * lib/unistr/u8-strcpy.c: New file.
62870         * lib/unistr/u16-strcpy.c: New file.
62871         * lib/unistr/u32-strcpy.c: New file.
62872         * lib/unistr/u-strcpy.h: New file.
62873
62874         * modules/unistr/u8-strcspn: New file.
62875         * modules/unistr/u16-strcspn: New file.
62876         * modules/unistr/u32-strcspn: New file.
62877         * lib/unistr/u8-strcspn.c: New file.
62878         * lib/unistr/u16-strcspn.c: New file.
62879         * lib/unistr/u32-strcspn.c: New file.
62880         * lib/unistr/u-strcspn.h: New file.
62881
62882         * modules/unistr/u8-strdup: New file.
62883         * modules/unistr/u16-strdup: New file.
62884         * modules/unistr/u32-strdup: New file.
62885         * lib/unistr/u8-strdup.c: New file.
62886         * lib/unistr/u16-strdup.c: New file.
62887         * lib/unistr/u32-strdup.c: New file.
62888         * lib/unistr/u-strdup.h: New file.
62889
62890         * modules/unistr/u8-strlen: New file.
62891         * modules/unistr/u16-strlen: New file.
62892         * modules/unistr/u32-strlen: New file.
62893         * lib/unistr/u8-strlen.c: New file.
62894         * lib/unistr/u16-strlen.c: New file.
62895         * lib/unistr/u32-strlen.c: New file.
62896         * lib/unistr/u-strlen.h: New file.
62897
62898         * modules/unistr/u8-strmblen: New file.
62899         * modules/unistr/u16-strmblen: New file.
62900         * modules/unistr/u32-strmblen: New file.
62901         * lib/unistr/u8-strmblen.c: New file.
62902         * lib/unistr/u16-strmblen.c: New file.
62903         * lib/unistr/u32-strmblen.c: New file.
62904
62905         * modules/unistr/u8-strmbtouc: New file.
62906         * modules/unistr/u16-strmbtouc: New file.
62907         * modules/unistr/u32-strmbtouc: New file.
62908         * lib/unistr/u8-strmbtouc.c: New file.
62909         * lib/unistr/u16-strmbtouc.c: New file.
62910         * lib/unistr/u32-strmbtouc.c: New file.
62911
62912         * modules/unistr/u8-strncat: New file.
62913         * modules/unistr/u16-strncat: New file.
62914         * modules/unistr/u32-strncat: New file.
62915         * lib/unistr/u8-strncat.c: New file.
62916         * lib/unistr/u16-strncat.c: New file.
62917         * lib/unistr/u32-strncat.c: New file.
62918         * lib/unistr/u-strncat.h: New file.
62919
62920         * modules/unistr/u8-strncmp: New file.
62921         * modules/unistr/u16-strncmp: New file.
62922         * modules/unistr/u32-strncmp: New file.
62923         * lib/unistr/u8-strncmp.c: New file.
62924         * lib/unistr/u16-strncmp.c: New file.
62925         * lib/unistr/u32-strncmp.c: New file.
62926
62927         * modules/unistr/u8-strncpy: New file.
62928         * modules/unistr/u16-strncpy: New file.
62929         * modules/unistr/u32-strncpy: New file.
62930         * lib/unistr/u8-strncpy.c: New file.
62931         * lib/unistr/u16-strncpy.c: New file.
62932         * lib/unistr/u32-strncpy.c: New file.
62933         * lib/unistr/u-strncpy.h: New file.
62934
62935         * modules/unistr/u8-strnlen: New file.
62936         * modules/unistr/u16-strnlen: New file.
62937         * modules/unistr/u32-strnlen: New file.
62938         * lib/unistr/u8-strnlen.c: New file.
62939         * lib/unistr/u16-strnlen.c: New file.
62940         * lib/unistr/u32-strnlen.c: New file.
62941         * lib/unistr/u-strnlen.h: New file.
62942
62943         * modules/unistr/u8-strpbrk: New file.
62944         * modules/unistr/u16-strpbrk: New file.
62945         * modules/unistr/u32-strpbrk: New file.
62946         * lib/unistr/u8-strpbrk.c: New file.
62947         * lib/unistr/u16-strpbrk.c: New file.
62948         * lib/unistr/u32-strpbrk.c: New file.
62949         * lib/unistr/u-strpbrk.h: New file.
62950
62951         * modules/unistr/u8-strrchr: New file.
62952         * modules/unistr/u16-strrchr: New file.
62953         * modules/unistr/u32-strrchr: New file.
62954         * lib/unistr/u8-strrchr.c: New file.
62955         * lib/unistr/u16-strrchr.c: New file.
62956         * lib/unistr/u32-strrchr.c: New file.
62957
62958         * modules/unistr/u8-strspn: New file.
62959         * modules/unistr/u16-strspn: New file.
62960         * modules/unistr/u32-strspn: New file.
62961         * lib/unistr/u8-strspn.c: New file.
62962         * lib/unistr/u16-strspn.c: New file.
62963         * lib/unistr/u32-strspn.c: New file.
62964         * lib/unistr/u-strspn.h: New file.
62965
62966         * modules/unistr/u8-strstr: New file.
62967         * modules/unistr/u16-strstr: New file.
62968         * modules/unistr/u32-strstr: New file.
62969         * lib/unistr/u8-strstr.c: New file.
62970         * lib/unistr/u16-strstr.c: New file.
62971         * lib/unistr/u32-strstr.c: New file.
62972         * lib/unistr/u-strstr.h: New file.
62973
62974         * modules/unistr/u8-strtok: New file.
62975         * modules/unistr/u16-strtok: New file.
62976         * modules/unistr/u32-strtok: New file.
62977         * lib/unistr/u8-strtok.c: New file.
62978         * lib/unistr/u16-strtok.c: New file.
62979         * lib/unistr/u32-strtok.c: New file.
62980         * lib/unistr/u-strtok.h: New file.
62981
62982         * modules/unistr/u8-uctomb: New file.
62983         * modules/unistr/u16-uctomb: New file.
62984         * modules/unistr/u32-uctomb: New file.
62985         * lib/unistr/u8-uctomb.c: New file.
62986         * lib/unistr/u16-uctomb.c: New file.
62987         * lib/unistr/u32-uctomb.c: New file.
62988
62989         * MODULES.html.sh (Unicode string functions): Add the new modules.
62990
62991 2007-01-08  Bruno Haible  <bruno@clisp.org>
62992
62993         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
62994         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
62995         subdirectories.
62996
62997 2007-01-08  Karl Berry  <karl@gnu.org>
62998
62999         * doc/error.texi: mention that main() fns must set program_name
63000         when progname is used.
63001
63002 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
63003
63004         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
63005         WCTYPE_H is empty, for the benefit of builds from non-distclean
63006         directories.  Problem reported by Eric Blake in
63007         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
63008
63009 2007-01-08  Bruno Haible  <bruno@clisp.org>
63010
63011         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
63012         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
63013         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
63014         PROVIDE_CANONICALIZE_FILENAME_MODE.
63015         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
63016
63017 2007-01-08  Bruno Haible  <bruno@clisp.org>
63018
63019         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
63020         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
63021         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
63022         * lib/fts.c: Likewise.
63023         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
63024
63025 2006-12-25  Bruno Haible  <bruno@clisp.org>
63026
63027         * modules/utf8-ucs4-safe: New file.
63028         * lib/utf8-ucs4-safe.h: New file.
63029         * lib/unistr/utf8-ucs4-safe.c: New file.
63030
63031         * modules/utf16-ucs4-safe: New file.
63032         * lib/utf16-ucs4-safe.h: New file.
63033         * lib/unistr/utf16-ucs4-safe.c: New file.
63034
63035         * MODULES.html.sh (Unicode string functions): Add the new modules.
63036
63037 2007-01-08  Bruno Haible  <bruno@clisp.org>
63038
63039         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
63040         (Depends-on): Add unitypes.
63041         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
63042         (u8_mbtouc_aux): Move out to separate file.
63043         (u8_mbtouc): Use ucs4_t, uint8_t types.
63044         * lib/unistr/utf8-ucs4.c: New file.
63045
63046         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
63047         (Depends-on): Add unitypes.
63048         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
63049         (u16_mbtouc_aux): Move out to separate file.
63050         (u16_mbtouc): Use ucs4_t, uint16_t types.
63051         * lib/unistr/utf16-ucs4.c: New file.
63052
63053         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
63054         (Depends-on): Add unitypes.
63055         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
63056         (u8_uctomb_aux): Move out to separate file.
63057         (u8_uctomb): Use ucs4_t, uint8_t types.
63058         * lib/unistr/ucs4-utf8.c: New file.
63059
63060         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
63061         (Depends-on): Add unitypes.
63062         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
63063         (u16_uctomb_aux): Move out to separate file.
63064         (u16_uctomb): Use ucs4_t, uint16_t types.
63065         * lib/unistr/ucs4-utf16.c: New file.
63066
63067 2006-12-25  Bruno Haible  <bruno@clisp.org>
63068
63069         * modules/unitypes: New file.
63070         * lib/unitypes.h: New file.
63071         * MODULES.html.sh (func_all_modules): New section "Unicode string
63072         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
63073         this section. Add unitypes.
63074
63075 2007-01-08  Bruno Haible  <bruno@clisp.org>
63076
63077         Avoid variable names that conflict with those from libtool.
63078         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
63079         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
63080         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
63081         library_names_spec to acl_library_names_spec, hardcode_* to
63082         acl_hardcode_*.
63083         Reported by Ralf Wildenhues.
63084
63085 2007-01-08  Bruno Haible  <bruno@clisp.org>
63086
63087         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
63088         definition.
63089         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
63090         definition.
63091         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
63092         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
63093         definition.
63094         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
63095         definition.
63096         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
63097         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
63098         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
63099         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
63100         definition.
63101         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
63102         definition.
63103         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
63104         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
63105         GC_USE_<algorithm>.
63106         * lib/gc-libgcrypt.c: Likewise.
63107         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
63108         * modules/gc-arctwo (configure.ac): Likewise.
63109         * modules/gc-des (configure.ac): Likewise.
63110         * modules/gc-hmac-md5 (configure.ac): Likewise.
63111         * modules/gc-hmac-sha1 (configure.ac): Likewise.
63112         * modules/gc-md2 (configure.ac): Likewise.
63113         * modules/gc-md4 (configure.ac): Likewise.
63114         * modules/gc-md5 (configure.ac): Likewise.
63115         * modules/gc-random (configure.ac): Likewise.
63116         * modules/gc-rijndael (configure.ac): Likewise.
63117         * modules/gc-sha1 (configure.ac): Likewise.
63118
63119 2007-01-08  Bruno Haible  <bruno@clisp.org>
63120
63121         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
63122         macro definition.
63123         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
63124         definition.
63125         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
63126         definition.
63127         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
63128         * modules/fcntl-safer (configure.ac): Likewise.
63129         * modules/fopen-safer (configure.ac): Likewise.
63130         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
63131         GNULIB_FWRITEERROR macro definition.
63132
63133 2007-01-08  Bruno Haible  <bruno@clisp.org>
63134
63135         * m4/gnulib-common.m4: New file.
63136         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
63137         (func_get_filelist): Add m4/gnulib-common.m4.
63138
63139 2007-01-08  Bruno Haible  <bruno@clisp.org>
63140
63141         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
63142         command.
63143
63144 2007-01-08  Jim Meyering  <jim@meyering.net>
63145
63146         Use a more robust test for a "can't happen" condition.
63147         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
63148         narrowed the st_size value.  Presuming the "can't happen" condition
63149         is true, that narrowing could conceivably convert an invalid st_size
63150         value into a valid one.  Instead, use a change based on Matthew
63151         Woehlke's original patch.
63152
63153         Slight readability improvement: use an assert-like macro
63154         in place of literal "abort ()" uses.
63155         * lib/fts.c (fts_assert): Define.
63156         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
63157         Use this macro instead of a bare 'abort'.
63158
63159 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
63160
63161         Don't worry about using IRIX 5.3's wctype.h broken definitions;
63162         simply work around them.
63163         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
63164         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
63165         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
63166         declaring.
63167         Don't bother to define as macros, since the standard doesn't require it.
63168         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
63169         longer worry about IRIX 5.3.
63170         (HAVE_WCTYPE_CTMP_BUG): Remove.
63171
63172 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
63173
63174         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
63175         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
63176         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
63177         Problems reported by Georg Schwarz for IRIX 5.3.
63178
63179         * gnulib-tool (autoconf_minversion): Take the maximum version number
63180         found, not the minimum.  Problem reported by James Youngman.
63181
63182 2007-01-03  Karl Berry  <karl@gnu.org>
63183
63184         * doc/error.texi: new file, explaining interaction with progname.
63185         * doc/gnulib.texi: include it.  Update copyright.
63186
63187 2007-01-03  Simon Josefsson  <simon@josefsson.org>
63188
63189         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
63190         AC_CANONICAL_HOST, to improve autobuild outputs.
63191
63192 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
63193             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
63194
63195         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
63196         sockets, server sockets, and other file descriptors.  Count errors
63197         to compute the return value.  Reorder the code a bit to be easier
63198         to follow.  Don't set event bits that were not requested (except
63199         POLLERR and POLLHUP).
63200
63201 2007-01-01  Bruno Haible  <bruno@clisp.org>
63202
63203         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
63204
63205 2007-01-03  Jim Meyering  <jim@meyering.net>
63206
63207         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
63208
63209 2007-01-02  Bruno Haible  <bruno@clisp.org>
63210
63211         * modules/settime (Include): Require timespec.h.
63212         * modules/nanosleep (Include): Likewise.
63213
63214 2007-01-01  Bruno Haible  <bruno@clisp.org>
63215
63216         * gnulib-tool (func_emit_copyright_notice): Bump year.
63217         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
63218
63219 2007-01-01  Bruno Haible  <bruno@clisp.org>
63220
63221         Improve support for OpenBSD.
63222         * build-aux/config.rpath (libname_spec): Export.
63223         (library_names_spec): New variable. Export.
63224         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
63225         library_names_spec from the config.rpath output. Locate shared library
63226         through the name pattern in library_names_spec.
63227
63228 2007-01-01  Eric Blake  <ebb9@byu.net>
63229
63230         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
63231
63232 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
63233
63234         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
63235         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
63236         assume the C locale, and avoid an "eval" that could cause trouble.
63237         Problem with SORT reported by Bob Proulx.
63238
63239         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
63240         Define.  Trivial patch from Henning Nielsen Lund, originally
63241         sent to bug-grep@gnu.org today.
63242
63243 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
63244
63245         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
63246         struct stat.  Problem reported by Henning Nielsen Lund.
63247         * lib/acl.c: Include acl.h first, to check interface.  Don't
63248         bother to include sys/types.h and sys/stat.h again.
63249
63250 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
63251
63252         Import the following change from libc; problem reported by
63253         Sven Verdoolaege.
63254
63255         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
63256
63257         [BZ #1373]
63258         * lib/argp.h: Remove __NTH for __argp_usage inline function.
63259
63260 2006-12-28  Jim Meyering  <jim@meyering.net>
63261
63262         * build-aux/announce-gen: Do not assume that the package
63263         builds any of tar.gz, tar.bz2, and .xdelta files.
63264         Suggestion from Simon Josefsson.
63265
63266 2006-12-28  Simon Josefsson  <simon@josefsson.org>
63267
63268         * modules/announce-gen: New file.
63269
63270 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
63271
63272         * lib/mbchar.h: Just include <wctype.h>; the wctype module
63273         handles its gotchas now.
63274         * lib/mbswidth.c: Likewise.
63275         * lib/wcwidth.h: Likewise.
63276         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
63277         and iswcntrl; the wctype module does this stuff now.
63278         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
63279         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
63280         * modules/mbchar (Depends-on): Add wctype.
63281         * modules/mbswidth (Depends-on): Likewise.
63282         * modules/wcwidth (Depends-on): Likewise.
63283
63284 2006-12-27  Eric Blake  <ebb9@byu.net>
63285
63286         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
63287         module uses more than what <wctype.h> is required to provide.
63288
63289 2006-12-26  Eric Blake  <ebb9@byu.net>
63290
63291         * gnulib-tool (sed_extract_prog): Avoid space-tab.
63292
63293 2006-12-26  Eric Blake  <ebb9@byu.net>
63294
63295         * modules/absolute-header: New module.
63296         * modules/fcntl (Depends-on): Depend on it.
63297         * modules/inttypes (Depends-on): Likewise.
63298         * modules/stdint (Depends-on): Likewise.
63299         * modules/sys_stat (Depends-on): Likewise.
63300         * modules/wctype (Depends-on): Likewise.
63301         * MODULES.html.sh (Support for building libraries and
63302         executables): Document it.
63303
63304 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
63305
63306         * gnulib-tool (SED): Remove, undoing previous change.
63307         The problem was that it broke coreutils on Solaris, because
63308         "sed --posix" leaked into a makefile.
63309         (sed): New alias, if 'alias' and GNU sed.
63310
63311 2006-12-24  Jim Meyering  <jim@meyering.net>
63312
63313         Work around an fchownat bug in glibc-2.4:
63314         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
63315         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
63316         in spite of the -P option.
63317         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
63318         New macros.
63319         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
63320         * modules/openat (Files): Add lib/fchownat.c.
63321         * lib/openat.c (fchownat): Don't define here.  Move to...
63322         * lib/fchownat.c: ...this new file.
63323
63324 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
63325
63326         Fix bug reported by Bruno Haible in
63327         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
63328         where quotearg.c didn't compile on Mac OS X 10.2 because it
63329         lacks <wchar.h> and wint_t.
63330         * lib/wctype_.h (__wctype_wint_t): New type.
63331         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
63332         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
63333         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
63334         Arg is now of type __wctype_wint_t, not wint_t.
63335         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
63336         substitute HAVE_WINT_T.
63337         * modules/wctype (Files): Add m4/wint_t.m4.
63338         (wctype.h): Substitute HAVE_WINT_T.
63339
63340 2006-12-23  Bruno Haible  <bruno@clisp.org>
63341
63342         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
63343
63344 2006-12-23  Bruno Haible  <bruno@clisp.org>
63345
63346         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
63347         S_ISLNK.
63348         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
63349         mingw.
63350
63351 2006-12-22  Bruno Haible  <bruno@clisp.org>
63352
63353         * lib/copy-file.c: Include acl.h.
63354         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
63355         Close the file descriptors only after being done with copy_acl.
63356         * modules/copy-file (Depends-on): Add acl.
63357
63358 2006-12-22  Bruno Haible  <bruno@clisp.org>
63359
63360         * gnulib-tool (SED): New variable.
63361         Use $SED instead of sed everywhere.
63362
63363 2006-12-22  Bruno Haible  <bruno@clisp.org>
63364
63365         * modules/no-c++: New file.
63366         * m4/no-c++.m4: New file.
63367         * MODULES.html.sh (Support for building libraries and executables):
63368         Add no-c++.
63369
63370 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
63371
63372         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
63373         Include <limits.h>, and use its INT_MAX to rewrite the
63374         j loop so that it does not overflow 'int'.  Problem reported by
63375         Ralf Wildenhues in
63376         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
63377         Play it safe by shifting left by 1 rather than multiplying by 2,
63378         as GCC is less likely to optimize this away when the value
63379         is signed (when it assumes overflow leads to undefined behavior).
63380         Also, don't assume time_t uses two's complement.
63381
63382 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
63383
63384         * MODULES.html.sh: New module wctype.
63385         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
63386         * lib/fnmatch.c: Don't bother to include <wchar.h> before
63387         <wctype.h>, since the new wctype module should fix this.
63388         * lib/quotearg.c: Include <wctype.h> unconditionally, since
63389         the wctype module should arrange for it.
63390         * lib/regex_internal.h: Likewise.
63391         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
63392         since the wctype module should handle this now.
63393         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
63394         * modules/fnmatch (Depends-on): Add wctype.
63395         * modules/quotearg (Depends-on): Likewise.
63396         * modules/regex (Depends-on): Likewise.
63397
63398 2006-12-19  Bruno Haible  <bruno@clisp.org>
63399
63400         * lib/strdup.h [C++]: Wrap definitions in extern "C".
63401         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
63402
63403 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63404
63405         * modules/savewd (Depends-on): Fix dependency on fcntl.
63406
63407 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
63408
63409         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
63410         conforms to C99, rather than relying on the user's environment
63411         setting of STDINT_H.
63412
63413 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
63414         and Eric Blake  <ebb9@byu.net>
63415
63416         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
63417         This is more consistent with the other defines here.
63418         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
63419         Port to z/OS.  Problem reported by Paul Gilmartin.
63420         Change local vars to use gl_ prefix rather than ac_.
63421         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
63422         with other defines.
63423         * modules/double-slash-root: New module.
63424         * modules/dirname (Files): Remove m4/double-slash-root.m4.
63425         (Depends-on): Add double-slash-root.
63426         * MODULES.html.sh (File system functions): Mention new module.
63427
63428 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
63429
63430         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
63431         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
63432         This is for the benefit of gzip, which doesn't do i18n.
63433
63434 2006-12-12  Jim Meyering  <jim@meyering.net>
63435
63436         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
63437         Reported by Andreas Schwab <schwab@suse.de>.
63438
63439 2006-12-12  Bruno Haible  <bruno@clisp.org>
63440
63441         Merge these changes.
63442         2006-09-05  Bruno Haible  <bruno@clisp.org>
63443         * lib/iconvme.c (iconv_string): No need to save and restore errno when
63444         iconv_alloc succeeded.
63445         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
63446         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
63447         test for " && dest " at the end - dest is always != NULL there. Call
63448         iconv with 4xNULL arguments initially, to reset the state. Call iconv
63449         with 2xNULL arguments, also to flush the state storage. Handle the
63450         IRIX iconv behaviour. Realloc the final result, to throw away unused
63451         memory.
63452
63453 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
63454
63455         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
63456         and fchmodat unconditionally, since glibc 2.4 has them.
63457         Problem reported by Arkadiusz Miskiewicz.
63458
63459 2006-12-10  Bruno Haible  <bruno@clisp.org>
63460
63461         * gnulib-tool (func_import): Show the include files only for those
63462         modules that are copied and specified.
63463         Reported by Karl Berry.
63464
63465 2006-12-08  Jim Meyering  <jim@meyering.net>
63466
63467         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
63468         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
63469
63470         * build-aux/announce-gen: Add two new options, both optional:
63471         --bootstrap-tools=TOOL_LIST
63472               a comma-separated list of tools, e.g.,
63473               autoconf,automake,bison,gnulib
63474         --gnulib-snapshot-date=DATE
63475               if gnulib is in the bootstrap tool list,
63476               then report this as the snapshot date.
63477               If not specified, use the current date/time.
63478               If you specify a date here, be sure it's UTC.
63479
63480 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63481
63482         * tests/test-argp-2.sh: Fix test to match actual output.
63483         (func_compare): Fix sed script to be portable.
63484
63485 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
63486
63487         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
63488         workaround for this case.  It is not autoconfigured now; offhand
63489         it's hard to see how to autoconfigure it.
63490
63491 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
63492
63493         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
63494         a directory that is about to be chowned.  Such a directory's
63495         initial file permissions should permit the owner only and this
63496         should not be changed until after the chown, since the group and
63497         other bits would be incorrect if they granted permission before
63498         the chown.
63499
63500         Fix porting problem for iswctype reported by Georg Schwarz in:
63501         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
63502         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
63503         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
63504         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
63505         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
63506
63507 2006-12-03  Jim Meyering  <jim@meyering.net>
63508
63509         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
63510         p->fts_statp may not yet be defined.
63511         (fts_read): Instead, set it in the caller, once p->fts_statp is
63512         sure to be defined, and corresponds to a top-level directory.
63513         This bug made du -x fail.  Here's the coreutils test case:
63514         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
63515         Reported by Mike Frysinger.
63516
63517 2006-12-01  Jim Meyering  <jim@meyering.net>
63518
63519         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
63520         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
63521         Reported by Simon Josefsson.
63522
63523 2006-11-30  Jim Meyering  <jim@meyering.net>
63524
63525         * m4/warning.m4: Use the all-permissive copyright notice
63526         recommended by RMS (rather than LGPL).
63527         * m4/vararrays.m4: Likewise.
63528         * m4/flexmember.m4: Likewise.
63529
63530 2006-11-29  Bruno Haible  <bruno@clisp.org>
63531
63532         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
63533         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
63534         using +=.
63535         Reported by Simon Josefsson <simon@josefsson.org>.
63536
63537 2006-11-28  James Youngman <jay@gnu.org>
63538
63539         * README: Advise users that they might find the bug-gnulib@gnu.org
63540         and autotools-announce@gnu.org mailing lists useful.
63541
63542 2006-11-28  Bruno Haible  <bruno@clisp.org>
63543
63544         * m4/ptrdiff_max.m4: Remove file.
63545
63546 2006-11-21  Bruno Haible  <bruno@clisp.org>
63547
63548         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
63549         _AC_COMPUTE_INT.
63550         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
63551         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
63552         _AC_COMPUTE_INT.
63553         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
63554         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
63555         _AC_COMPUTE_INT.
63556         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
63557
63558 2006-11-28  Jim Meyering  <jim@meyering.net>
63559
63560         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
63561         warning from "gcc -Wshadow" about shadowing the builtin.
63562
63563 2006-11-27  Bruno Haible  <bruno@clisp.org>
63564
63565         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
63566         _AC_COMPUTE_INT.
63567         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
63568
63569 2006-11-27  Bruno Haible  <bruno@clisp.org>
63570             Paul Eggert  <eggert@cs.ucla.edu>
63571
63572         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
63573
63574 2006-11-26  Bruno Haible  <bruno@clisp.org>
63575
63576         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
63577         noinst_LTLIBRARIES.
63578
63579 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
63580             Bruno Haible  <bruno@clisp.org>
63581
63582         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
63583         if compiling with "gcc -ansi".
63584
63585 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
63586
63587         Fix some incompatibilities with gcc -ansi -pedantic.
63588         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
63589         if compiling pedantically with GCC, unless it's C99 or later.
63590         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
63591         it mishandles gcc -ansi -pedantic as well.
63592         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
63593         if gcc -pedantic.
63594         * lib/regexec.c (check_node_accept_bytes): Don't use auto
63595         initializers for struct if -pedantic, unless it's C99 or later.
63596
63597 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
63598
63599         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
63600         Don't close an fd more than once. Identical atimes indicate
63601         success, not failure.
63602
63603 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
63604
63605         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
63606
63607 2006-11-23  Jim Meyering  <jim@meyering.net>
63608
63609         * build-aux/announce-gen: New file.  From coreutils.
63610
63611 2006-11-22  Jim Meyering  <jim@meyering.net>
63612
63613         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
63614         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
63615         (fts_read): Use a temporary to narrow the overused st_size member
63616         before using it in a switch statement.  Reported by Matthew Woehlke.
63617
63618         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
63619         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
63620
63621 2006-11-20  Bruno Haible  <bruno@clisp.org>
63622
63623         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
63624         changequote instead of pairs of brackets.
63625         Reported by Andreas Schwab <schwab@suse.de>.
63626
63627 2006-11-21  Jim Meyering  <jim@meyering.net>
63628
63629         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
63630         so as to remain compatible with older compilers.
63631         Patch from Michael Deutschmann.
63632
63633 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
63634
63635         * MODULES.html.sh (File system functions): Add openat.
63636
63637         * lib/openat.h (rpl_fstatat): New macro, if
63638         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
63639         (fstatat): Define to rpl_fstatat under the same conditions,
63640         unless COMPILING_FSTATAT.
63641         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
63642         seems to have the bug.
63643         * lib/fstatat.c: New file.
63644         * modules/openat (Files): Add it.
63645
63646 2006-11-20  Bruno Haible  <bruno@clisp.org>
63647
63648         * Makefile: New file.
63649
63650 2006-11-20  Jim Meyering  <jim@meyering.net>
63651
63652         The beginnings of syntax-related checks for gnulib.
63653         * lib/Makefile: New file.
63654         * lib/t-idcache: New script.  Ensure that the two halves of
63655         idcache.c stay in sync.
63656
63657         * lib/idcache.c: Adjust comments in user- and group- portions to
63658         be more accurate, and to be consistent with one another.
63659
63660 2006-11-20  Jim Meyering  <jim@meyering.net>
63661
63662         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
63663         continue using the flexible array member (thus, this module performs
63664         half as many malloc calls), with the addition that...
63665         (getgroup, getuser): Consistently record a non-match via an empty
63666         "name" string, and map an empty string match to a NULL return value.
63667         * modules/idcache (Depends-on): Re-add flexmember.
63668
63669         * lib/idcache.c (getuser): Remove all uses of the register keyword.
63670         (getuidbyname, getgroup, getgidbyname): Likewise.
63671
63672         Use cleaner syntax: NULL rather than 0.
63673         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
63674
63675 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
63676
63677         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
63678         It mishandled the case where the group was missing.
63679         Problem reported by Greg Schafer.
63680         * modules/idcache: Likewise.
63681
63682 2006-11-18  Jim Meyering  <jim@meyering.net>
63683
63684         * check-module (%exempt_header): Add exception for some
63685         conditionally-included headers.
63686
63687         * modules/i-ring (Depends-on): Add verify.
63688         (License): Change to LGPL.
63689
63690 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63691
63692         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
63693         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
63694         and inttostr.h.  Use snprintf rather than uinttostr, so that
63695         LGPLed code doesn't depend on GPLed.
63696
63697 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
63698
63699         * modules/inline (License): Change from GPL to LGPL.
63700
63701 2006-11-17  Jim Meyering  <jim@meyering.net>
63702
63703         * modules/d-type (License): Switch to LGPL.
63704
63705 2006-11-15  Bruno Haible  <bruno@clisp.org>
63706
63707         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
63708
63709 2006-11-15  Eric Blake  <ebb9@byu.net>
63710
63711         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
63712         the module dependency.
63713
63714 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63715             Bruno Haible  <bruno@clisp.org>
63716
63717         * gnulib-tool (func_create_testdir): Add license consistency check.
63718
63719 2006-11-15  Eric Blake  <ebb9@byu.net>
63720
63721         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
63722         random "(cached)" in configure output.
63723
63724 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63725
63726         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
63727         test for conforming inttypes.h is both announced and cached.
63728
63729         * MODULES.html.sh (seen_modules, seen_files): New variables.
63730         (func_module): Rewrite to use a few less gnulib-tool and sed
63731         invocations.  Avoid a couple of quadratic algorithms for ...
63732         (missed_modules, missed_files): ... these, with ...
63733         (func_append, func_tmpdir): ... these new functions, from
63734         gnulib-tool.  Analogously, install traps for cleanup.
63735
63736         * tests/test-gc.c (main): Remove unused variables.
63737         * tests/test-read-file.c: Include stdlib.h, for 'free'.
63738
63739 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
63740
63741         * modules/inttostr (License): Change to LGPL.
63742
63743 2006-11-14  Eric Blake  <ebb9@byu.net>
63744
63745         * modules/tempname (License): Change to LGPL.
63746
63747 2006-11-14  Eric Blake  <ebb9@byu.net>
63748
63749         * doc/functions.texi (Function Portability): *printf functions on
63750         Cygwin now understand all POSIX size specifiers.
63751
63752 2006-11-14  Bruno Haible  <bruno@clisp.org>
63753
63754         * modules/c-ctype (License): Change to LGPL.
63755
63756 2006-11-12  Bruno Haible  <bruno@clisp.org>
63757
63758         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
63759         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
63760         for GNOME libraries, for which the include files are installed in
63761         subdirectories of $prefix/include.
63762
63763 2006-11-12  Bruno Haible  <bruno@clisp.org>
63764
63765         * m4/lib-link.m4: Require at least autoconf-2.54.
63766         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
63767         name to underscores for the --with option.
63768
63769 2006-11-13  Bruno Haible  <bruno@clisp.org>
63770
63771         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
63772         the tests directory.
63773         Reported by Ralf Wildenhues.
63774
63775 2006-11-13  Bruno Haible  <bruno@clisp.org>
63776
63777         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
63778         (func_emit_initmacro_end): Undo the override here.
63779         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
63780         Works around the famous automake error in coreutils.
63781
63782 2006-11-13  Eric Blake  <ebb9@byu.net>
63783
63784         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
63785         element, not its node.
63786
63787 2006-11-12  Bruno Haible  <bruno@clisp.org>
63788
63789         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
63790         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
63791
63792 2006-11-12  Bruno Haible  <bruno@clisp.org>
63793
63794         * gnulib-tool: New option --local-symlink.
63795         (func_usage): Document it.
63796         (lsymbolic): New variable.
63797         (func_import, func_create_testdir): If --symlink was not specified,
63798         test whether --local-symlink was specified and the file comes from
63799         the local_gnulib_dir.
63800
63801 2006-11-12  Bruno Haible  <bruno@clisp.org>
63802
63803         * gnulib-tool (func_ln): New function.
63804         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
63805
63806 2006-11-12  Bruno Haible  <bruno@clisp.org>
63807
63808         Finish support for source files in subdirectories.
63809         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
63810         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
63811         AUTOMAKE_OPTIONS.
63812         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
63813
63814 2006-11-12  Bruno Haible  <bruno@clisp.org>
63815
63816         * gnulib-tool (func_get_automake_snippet): Synthesize also an
63817         EXTRA_lib_SOURCES augmentation.
63818         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
63819
63820 2006-11-12  Jim Meyering  <jim@meyering.net>
63821
63822         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
63823         file descriptors.  This also averts a failure on systems with
63824         native openat support when a traversed directory lacks "x" access.
63825         * lib/fts_.h: Include "i-ring.h"
63826         (struct FTS) [fts_fd_ring]: New member.
63827         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
63828         (FCHDIR): Add parentheses.
63829         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
63830         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
63831         When descending, rather than simply closing the previous
63832         fts_cwd_fd value, push that file descriptor onto the ring.
63833         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
63834         (fts_open): Initialize the new fd_ring member.
63835         (fts_close): Clear the ring.
63836         (fts_safe_changedir): When possible, use our new fd_ring to skip
63837         the diropen and fstat and dev/ino comparison that would normally
63838         accompany a virtual `chdir ("..")'.
63839
63840         * modules/fts (Depends-on): Add i-ring.
63841         * modules/i-ring: New module.
63842         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
63843         * m4/i-ring.m4: New file.
63844
63845 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63846
63847         * gnulib-tool (func_create_testdir): Fix replacement of
63848         `build-aux' in configure.ac.  Run autotools in gltests
63849         subdirectory.
63850         (func_create_testdir, func_create_megatestdir, test): There is
63851         no need for '--force' in most autotool invocations in a new
63852         tree.  Actually fail the whole test if any of the tools, or the
63853         configure or make stages fail.
63854
63855         Sync from Automake.
63856         * build-aux/gnupload: Revert last change.  Add pointer to upload
63857         instructions of the GNU Maintenance Instructions.
63858         Suggestion by Karl Berry.
63859
63860 2006-11-10  Jim Meyering  <jim@meyering.net>
63861
63862         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
63863
63864 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
63865
63866         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
63867         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
63868         (bind_textdomain_codeset) [! ENABLE_NLS]:
63869         Evaluate all the arguments.  That way, callers get compatible behavior
63870         if the arguments have side effects.  Also, it avoids some GCC
63871         diagnostics in some cases; Joel E. Denny reported problems when Bison
63872         was configured with --enable-gcc-warnigs.
63873
63874 2006-11-10  Jim Meyering  <jim@meyering.net>
63875
63876         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
63877         relevant options in CFLAGS (like -O, -fno-inline) are taken into
63878         account.
63879
63880 2006-11-10  Jim Meyering  <jim@meyering.net>
63881
63882         * modules/inline: New file/module.
63883         * modules/xalloc (Files): Remove m4/inline.m4.
63884         (Depends-on): Add inline, instead.
63885         * modules/oset: Likewise.
63886         * modules/list: Likewise.
63887
63888 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
63889
63890         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
63891         Problem reported by Matthew Woehlke.
63892
63893 2006-11-09  Bruno Haible  <bruno@clisp.org>
63894
63895         * lib/tempname.c (gen_tempname): Remove variant that invokes
63896         __gen_tempname.
63897         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
63898         __gen_tempname.
63899
63900 2006-11-08  Bruno Haible  <bruno@clisp.org>
63901
63902         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
63903         to 'yes' instead of 'cross-compiling'.
63904
63905 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
63906
63907         * lib/quotearg.h (quotearg_free): New decl.
63908         * lib/quotearg.c (quotearg_free): New function.
63909         (slot0, nslots, slotvec0, slotvec):
63910         Now file-scope so that quotearg_free can get at them.
63911
63912 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63913
63914         Sync from Automake.
63915         * build-aux/gnupload: Add missing 'gnu' to example URL.
63916         Report by Karl Berry.
63917
63918 2006-11-08  Bruno Haible  <bruno@clisp.org>
63919
63920         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
63921         Suggested by Paul Eggert.
63922
63923 2006-11-08  Jim Meyering  <jim@meyering.net>
63924
63925         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
63926         It's already included if !_LIBC.
63927         (fts_safe_changedir): Add a comment.
63928
63929 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
63930
63931         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
63932         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
63933         Matthew Woehlke.
63934
63935         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
63936         definitions up, to avoid colliding with change below.
63937         (static_inline) [HAVE_INLINE]: New macro.
63938         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
63939         Provide extern decls when !HAVE_INLINE.  Do not define unless
63940         static_inline is defined, either by us or by xmalloc.c.  Use
63941         static_inline rather than static inline.
63942         (XCALLOC): Optimize sizeof(T) = 1 case.
63943         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
63944
63945 2006-11-07  Bruno Haible  <bruno@clisp.org>
63946
63947         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
63948         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
63949         AC_C_INLINE.
63950         * modules/xalloc (Files): Add m4/inline.m4.
63951
63952 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63953
63954         * README: Fix typo.
63955         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
63956         (Miscellanous Notes): ...from this.
63957
63958 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
63959
63960         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
63961         Mention that offsetof should be used instead of sizeof.
63962         From Bruno Haible.
63963
63964 2006-11-07  Bruno Haible  <bruno@clisp.org>
63965
63966         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
63967
63968 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
63969
63970         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
63971         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
63972         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
63973         (gl_tree_add_before, gl_tree_add_after):
63974         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
63975         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
63976         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
63977         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
63978         (gl_linked_add_after, gl_linked_add_at): Likewise.
63979         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
63980         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
63981         (gl_tree_add_before, gl_tree_add_after): Likewise.
63982         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
63983         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
63984         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
63985
63986 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63987
63988         * lib/gl_oset.h: Use C comment style, not C++ comment style.
63989
63990 2006-11-06  Bruno Haible  <bruno@clisp.org>
63991
63992         * m4/inline.m4: New file.
63993         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
63994         * modules/list (Files): Add m4/inline.m4.
63995         * modules/oset (Files): Likewise.
63996
63997 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
63998
63999         * lib/idcache.c: Include <stddef.h>, for offsetof.
64000         (struct userid.name): Change from char * to a flexible array member.
64001         All uses changed.
64002         * modules/idcache (Depends-on): Add flexmember.
64003
64004         * MODULES.html.sh (Core language properties): New module flexmember.
64005         * modules/flexmember, m4/flexmember.m4: New files.
64006
64007         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
64008         inline functions that are identical with the old xnmalloc_inline,
64009         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
64010         that we can avoid some unnecessary integer multiplications and
64011         divisions in the common case where the element size is known at
64012         compile time.
64013         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
64014         needed.
64015         (xnboundedmalloc): Remove.
64016         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
64017         arguments, for consistency with rest of this header.
64018         (xcharalloc): Rewrite using XNMALLOC.
64019         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
64020         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
64021         versions have been moved to lib/xalloc.h and renamed to be the
64022         non-*_inline versions.
64023         (xmalloc, xrealloc): Implement without reference to the xnmalloc
64024         and xnrealloc functions, since those functions are now inline and
64025         now call us.
64026         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
64027         renaming described above.
64028         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
64029         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
64030         captures the dependency in AC_C_INLINE.
64031
64032         New module canonicalize-lgpl, proposed by Charles Wilson in
64033         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
64034         with a few small changes afterwards.
64035         * MODULES.html.sh (File system functions): New module
64036         canonicalize-lgpl.
64037         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
64038         and canonicalize_file_name.
64039         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
64040         * modules/canonicalize-lgpl: New files.
64041
64042 2006-11-05  Bruno Haible  <bruno@clisp.org>
64043
64044         * gnulib-tool (func_import, func_create_testdir): Create directories
64045         also for files in subdirectories of lib/.
64046
64047 2006-11-05  Bruno Haible  <bruno@clisp.org>
64048
64049         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
64050         ANSI C compliant.
64051
64052 2006-11-03  Bruno Haible  <bruno@clisp.org>
64053
64054         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
64055         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
64056         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
64057         (xnboundedmalloc): New inline function.
64058         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
64059         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
64060         xmalloc.
64061         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
64062         xmalloc.
64063         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
64064         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
64065         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
64066         xmalloc.
64067         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
64068         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
64069         xmalloc.
64070         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
64071         gl_tree_add_after): Use XMALLOC instead of xmalloc.
64072         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
64073         xmalloc.
64074         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
64075         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
64076         gl_tree_add_after): Use XMALLOC instead of xmalloc.
64077         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
64078         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
64079         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
64080         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
64081
64082 2006-11-03  Bruno Haible  <bruno@clisp.org>
64083
64084         * lib/c-ctype.h [C++]: Define functions without name mangling.
64085         * lib/fwriteerror.h [C++]: Likewise.
64086         * lib/gcd.h [C++]: Likewise.
64087         * lib/linebreak.h [C++]: Likewise.
64088
64089 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
64090
64091         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
64092         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
64093         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
64094         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
64095         Check for functions and headers just once.
64096         Check for declaration of canonicalize_file_name.
64097         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
64098
64099 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
64100
64101         * gnulib-tool (func_import): Fix typo in actioncmd.
64102
64103 2006-11-02  Bruno Haible  <bruno@clisp.org>
64104
64105         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
64106         newline sequence in the Makefile.am snippet as a space, like "make"
64107         does.
64108         Reported by Roger Persson <perrog@gmail.com>.
64109
64110 2006-11-01  Bruno Haible  <bruno@clisp.org>
64111
64112         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
64113         already declared in <string.h>.
64114         * lib/strcase.h (strncasecmp): Don't declare it if yes.
64115
64116 2006-11-01  Bruno Haible  <bruno@clisp.org>
64117
64118         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
64119         * lib/strcase.h: Include <string.h>.
64120         (strcasecmp): Define to rpl_strcasecmp here.
64121
64122 2006-11-01  Bruno Haible  <bruno@clisp.org>
64123
64124         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
64125
64126 2006-11-01  Eric Blake  <ebb9@byu.net>
64127
64128         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
64129
64130         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
64131
64132 2006-10-29  Bruno Haible  <bruno@clisp.org>
64133
64134         Make it compile in C++ mode.
64135         * lib/full-write.c (full_rw): Add a cast.
64136
64137 2006-11-01  Bruno Haible  <bruno@clisp.org>
64138
64139         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
64140         be POSIX compliant.
64141         Reported by Roger Persson <perrog@gmail.com>.
64142
64143 2006-11-01  Eric Blake  <ebb9@byu.net>
64144
64145         * lib/getopt_.h: Fix comments.
64146
64147 2006-10-31  Eric Blake  <ebb9@byu.net>
64148
64149         * modules/tmpdir (Depends-on): Add sys_stat.
64150         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
64151         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
64152         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
64153         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
64154         tempname.
64155
64156 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
64157
64158         Avoid some C++ diagnostics reported by Bruno Haible.
64159         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
64160         xmalloc.
64161         (quotearg_alloc): Use xcharalloc rather than xmalloc.
64162         (struct slotvec): Move to top level.
64163         (quotearg_n_options): Rewrite to avoid xmalloc.
64164         * lib/xalloc.h (xcharalloc): New function.
64165         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
64166         [defined __cplusplus]: Add function template that provides result
64167         type propagation.  This part of the change is from Bruno Haible.
64168
64169 2006-10-29  Bruno Haible  <bruno@clisp.org>
64170
64171         Make it compile in C++ mode.
64172         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
64173         * lib/strnlen1.c (strnlen1): Cast memchr result.
64174         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
64175         * lib/clean-temp.c (string_equals, string_hash): Add casts.
64176         (create_temp_dir): Rename local variable 'template'.
64177         (compile_csharp_using_sscli): Add cast.
64178         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
64179         * lib/findprog.c (find_in_path): Likewise.
64180         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
64181         * lib/wait-process.c (register_slave_subprocess): Likewise.
64182
64183 2006-10-22  Bruno Haible  <bruno@clisp.org>
64184
64185         * modules/tsearch: New file.
64186         * lib/tsearch.h: New file.
64187         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
64188         * m4/tsearch.m4: New file.
64189         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
64190
64191 2006-10-29  Eric Blake  <ebb9@byu.net>
64192
64193         * lib/arcfour.c: Assume config.h.
64194         * lib/arctwo.c: Likewise.
64195         * lib/base64.c: Likewise.
64196         * lib/check-version.c: Likewise.
64197         * lib/crc.c: Likewise.
64198         * lib/des.c: Likewise.
64199         * lib/gc-gnulib.c: Likewise.
64200         * lib/gc-libgcrypt.c: Likewise.
64201         * lib/gc-pbkdf2-sha1.c: Likewise.
64202         * lib/getaddrinfo.c: Likewise.
64203         * lib/getdelim.c: Likewise.
64204         * lib/getline.c: Likewise.
64205         * lib/hmac-md5.c: Likewise.
64206         * lib/hmac-sha1.c: Likewise.
64207         * lib/iconvme.c: Likewise.
64208         * lib/md2.c: Likewise.
64209         * lib/md4.c: Likewise.
64210         * lib/memxor.c: Likewise.
64211         * lib/read-file.c: Likewise.
64212         * lib/readline.c: Likewise.
64213         * lib/rijndael-alg-fst.c: Likewise.
64214         * lib/rijndael-api-fst.c: Likewise.
64215         * lib/xgetdomainname.c: Likewise.
64216
64217 2006-10-28  Eric Blake  <ebb9@byu.net>
64218
64219         * lib/xstrndup.c: Assume config.h.
64220
64221 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
64222
64223         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
64224         stat-macros.h is now for our own macros, whereas stat_h is for
64225         macros in the <sys/stat.h> name space.
64226         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
64227         (STAT_MACROS_H): Remove.
64228         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
64229         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
64230         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
64231         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
64232         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
64233         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
64234         Move these macros to ...
64235         * lib/stat_.h: here.  Don't include stat-macros.h.
64236         * lib/canonicalize.c: Don't include stat-macros.h.
64237         * lib/chown.c: Likewise.
64238         * lib/euidaccess.c: Likewise.
64239         * lib/file-type.c: Likewise.
64240         * lib/filemode.c: Likewise.
64241         * lib/glob.c: Likewise.
64242         * lib/isapipe.c: Likewise.
64243         * lib/lchown.c: Likewise.
64244         * lib/lstat.c: Likewise.
64245         * lib/mkdir-p.c: Likewise.
64246         * lib/rmdir.c: Likewise.
64247         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
64248         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
64249         unless mkdir isn't declared, to speed up 'configure'.
64250         Always create sys/stat.h, since it's unlikely any real sys/stat.h
64251         would define all the S_* symbols.
64252         * modules/canonicalize (Depends-on):
64253         Depend on sys_stat, not stat-macros.
64254         * modules/chown: Likewise.
64255         * modules/euidaccess: Likewise.
64256         * modules/filemode: Likewise.
64257         * modules/file-type: Likewise.
64258         * modules/glob: Likewise.
64259         * modules/isapipe: Likewise.
64260         * modules/lchown: Likewise.
64261         * modules/lstat: Likewise.
64262         * modules/mkancesdirs: Likewise.
64263         * modules/rmdir: Likewise.
64264         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
64265         * modules/modechange: Likewise.
64266         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
64267         (configure.ac): Remove gl_STAT_MACROS.
64268         * modules/sys_stat (Depends-on): Remove stat-macros.
64269
64270 2006-10-27  Bruno Haible  <bruno@clisp.org>
64271
64272         * m4/signed.m4: Remove file.
64273         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
64274         invocation.
64275         * modules/vasnprintf (Files): Remove m4/signed.m4.
64276
64277 2006-10-27  Bruno Haible  <bruno@clisp.org>
64278
64279         Update to GNU gettext 0.16.
64280         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
64281         m4/inttypes-h.m4, m4/signed.m4.
64282         * m4/gettext.m4: Update to GNU gettext 0.16.
64283         * m4/intl.m4: New file, from GNU gettext.
64284         * m4/intldir.m4: New file, from GNU gettext.
64285         * config/srclist.txt: Update
64286
64287 2006-10-27  Eric Blake  <ebb9@byu.net>
64288
64289         * MODULES.html.sh: Document tempname.
64290         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
64291         dependencies.
64292         (Files): Move lib/tempname.c...
64293         * modules/tempname: ...to this new module.
64294         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
64295         (gl_PREREQ_TEMPNAME): Move...
64296         * m4/tempname.m4: ...to this new file.
64297         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
64298         * modules/sys_stat (Depends-on): Add stat-macros.
64299         * lib/stat_.h (includes): Pick up stat macros.
64300         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
64301         if stat macros are broken.
64302         * lib/tempname.c (includes): No need to include "stat-macros.h".
64303         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
64304         (direxists, __path_search) [!_LIBC]: Don't compile these in
64305         gnulib; the tmpdir module covers that.
64306         * lib/tempname.h: New file.
64307
64308 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
64309
64310         * COPYING: Explain how gnulib-tool converts licence headers.
64311         Almost all wording by Eric Blake.
64312
64313 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
64314
64315         * lib/mbchar.h (is_basic_table): Make read-only.
64316         * lib/mbchar.c (is_basic_table): Likewise.
64317         Reported by John Darrington.
64318
64319 2006-10-25  Bruno Haible  <bruno@clisp.org>
64320
64321         * lib/progname.h (set_program_name): Undefine before defining.
64322
64323 2006-10-25  Bruno Haible  <bruno@clisp.org>
64324
64325         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
64326         false for non-gcc C++ compilers.
64327         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
64328
64329 2006-10-24  Bruno Haible  <bruno@clisp.org>
64330
64331         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
64332         iconv implementations like Irix iconv.
64333
64334 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64335
64336         * modules/vararrays: New file.
64337         * m4/vararrays.m4: New file, taken from diffutils.
64338         * MODULES.html.sh: New module vararrays.
64339
64340 2006-10-24  Karl Berry  <karl@gnu.org>
64341
64342         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
64343         Don't call GNU Unix.
64344
64345 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64346
64347         * users.txt: Add Libtool.
64348
64349         Sync from Libtool:
64350
64351         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64352
64353         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
64354         to gnulib's policy of including config.h unconditionally.
64355
64356 2006-10-24  Bruno Haible  <bruno@clisp.org>
64357
64358         * modules/wcwidth (Files): Add m4/wint_t.m4.
64359         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
64360         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
64361
64362 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64363
64364         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
64365         to pacify GCC with some -W flags enabled.  Problem reported by
64366         Bruno Haible.
64367
64368 2006-10-24  Jim Meyering  <jim@meyering.net>
64369
64370         * MODULES.html.sh: Remove uinttostr.  It's not a module.
64371         Reported by Karl Berry.
64372
64373 2006-10-23  Bruno Haible  <bruno@clisp.org>
64374
64375         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
64376
64377 2006-10-24  Bruno Haible  <bruno@clisp.org>
64378
64379         * lib/gl_list.h: Use C comment style, not C++ comment style.
64380
64381 2006-10-23  Eric Blake  <ebb9@byu.net>
64382
64383         * lib/getaddrinfo.c (includes): Add missing include.
64384
64385 2006-10-23  Bruno Haible  <bruno@clisp.org>
64386             Paul Eggert  <eggert@cs.ucla.edu>
64387
64388         Ability to rename obstack_free.
64389         * lib/obstack.h (__obstack_free): New macro. Declare instead of
64390         obstack_free.
64391         (obstack_free): Invoke the __obstack_free macro.
64392         * lib/obstack.c (obstack_free): Use __obstack_free macro.
64393
64394 2006-10-23  Bruno Haible  <bruno@clisp.org>
64395             Paul Eggert  <eggert@cs.ucla.edu>
64396
64397         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
64398         __argc, __argv from the declaration. (They are defined as macros on
64399         mingw.)
64400
64401 2006-10-22  Bruno Haible  <bruno@clisp.org>
64402
64403         * doc/gnulib-intro.texi: New file.
64404         * doc/gnulib.texi: Include it.
64405
64406 2006-10-21  Bruno Haible  <bruno@clisp.org>
64407
64408         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
64409         "Introduction", "Miscellanous Notes", "Particular Modules".
64410
64411 2006-10-21  Bruno Haible  <bruno@clisp.org>
64412
64413         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64414         Change mostlyclean-local rule to avoid sh syntax error from bash
64415         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
64416
64417 2006-10-23  Jim Meyering  <jim@meyering.net>
64418
64419         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
64420         in place of snprintf.
64421
64422         * modules/inttostr (Files): Add lib/uinttostr.c.
64423         * lib/uinttostr.c (inttostr): New file/function.
64424         * lib/inttostr.h (uinttostr): Declare.
64425         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
64426         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
64427         Add uinttostr.
64428         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
64429
64430 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
64431
64432         * lib/canonicalize.c (ELOOP): Define if not already defined.
64433         Problem reported by Bruno Haible in
64434         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
64435
64436 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
64437
64438         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
64439         Problem reported by Perry Smith and Ville Laurikari.
64440
64441         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
64442         uses.
64443
64444 2006-10-19  Bruno Haible  <bruno@clisp.org>
64445
64446         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
64447         for mingw.
64448
64449 2006-10-19  Bruno Haible  <bruno@clisp.org>
64450
64451         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
64452         Needed for mingw.
64453
64454 2006-10-19  Bruno Haible  <bruno@clisp.org>
64455
64456         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
64457
64458 2006-10-19  Bruno Haible  <bruno@clisp.org>
64459
64460         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
64461         it.
64462
64463 2006-10-19  Bruno Haible  <bruno@clisp.org>
64464
64465         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
64466         invocation.
64467
64468 2006-10-19  Bruno Haible  <bruno@clisp.org>
64469
64470         * gnulib-tool (func_create_testdir): Don't include ftruncate and
64471         mountlist by default.
64472
64473 2006-10-16  Bruno Haible  <bruno@clisp.org>
64474
64475         * lib/c-strstr.c: Include c-strstr.h.
64476
64477 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
64478
64479         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
64480         in a slash.
64481
64482 2006-10-18  Bruno Haible  <bruno@clisp.org>
64483
64484         * lib/lock.h [C++]: Wrap definitions in extern "C".
64485
64486 2006-10-18  Bruno Haible  <bruno@clisp.org>
64487
64488         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
64489         gl_LIBOBJS list.
64490
64491 2006-10-18  Bruno Haible  <bruno@clisp.org>
64492
64493         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
64494
64495 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
64496
64497         * lib/xstrtol.h: Include gettext.h.
64498         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
64499         Problem reported by Eric Blake.
64500         * modules/xstrtol (Depends-on): Add gettext-h.
64501
64502 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
64503
64504         * lib/strftime.c (advance): New macro.
64505         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
64506         incomplete type, so you can't add 0 to it.  Problem and patch
64507         reported by Eelco Dolstra for dietlibc.
64508
64509 2006-10-18  Jim Meyering  <jim@meyering.net>
64510
64511         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
64512         type for a local, and rename it: s/up/user_proc/.
64513
64514 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
64515
64516         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
64517         READ_UTMP_USER_PROCESS.
64518         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
64519
64520 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
64521
64522         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
64523         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
64524
64525 2006-10-17  Eric Blake  <ebb9@byu.net>
64526
64527         * lib/sigprocmask.c (sigprocmask): Fix typo.
64528
64529         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
64530
64531         * modules/clean-temp (Makefile.am): Don't add to make output...
64532         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
64533         config.h.
64534
64535 2006-10-17  Bruno Haible  <bruno@clisp.org>
64536
64537         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
64538         differently if DEFAULT_TEXT_DOMAIN is set.
64539
64540 2006-10-16  Bruno Haible  <bruno@clisp.org>
64541
64542         * lib/clean-temp.c: Include fwriteerror.h.
64543
64544 2006-10-16  Bruno Haible  <bruno@clisp.org>
64545
64546         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
64547
64548 2006-10-16  Bruno Haible  <bruno@clisp.org>
64549
64550         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
64551         * lib/sigprocmask.h: Include <sys/types.h>.
64552         (sigset_t): Use the system's definition if present.
64553
64554 2006-10-17  Eric Blake  <ebb9@byu.net>
64555
64556         * lib/xvasprintf.c (includes): Assume config.h.
64557         * lib/xasprintf.c (includes): Likewise.
64558
64559 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64560
64561         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
64562         at least as wide as intmax_t.
64563
64564 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
64565
64566         (Imported from Automake.)
64567         * build-aux/gnupload: Update to version 1.1 of directive file.
64568
64569 2006-10-16  Eric Blake  <ebb9@byu.net>
64570
64571         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
64572         match Automake 1.10a.
64573
64574 2006-10-14  Bruno Haible  <bruno@clisp.org>
64575
64576         * modules/sigprocmask: New file.
64577         * lib/sigprocmask.h: New file.
64578         * lib/sigprocmask.c: New file.
64579         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
64580         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
64581         request sigprocmask.o.
64582         (gl_PREREQ_SIGPROCMASK): New macro.
64583         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
64584         (Depends-on): Add sigprocmask.
64585         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
64586         gt_SIGNALBLOCKING. Test for 'raise' only once.
64587         * lib/fatal-signal.c: Include sigprocmask.h.
64588         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
64589         unblock_fatal_signals): Define always.
64590         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64591         sigprocmask.
64592
64593 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
64594
64595         Sync from Automake.
64596         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
64597         which incorrectly sets the mode of an existing destination
64598         directory.  In some cases the unpatched install-sh could do the
64599         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
64600         system.  We hope this is rare in practice, but it's clearly worth
64601         fixing.  Problem reported by Alex Unleashed in
64602         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
64603         Also, don't bother to check for -m bugs unless we're using -m;
64604         suggested by Stepan Kasal.
64605
64606 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64607
64608         Sync from Automake.
64609         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
64610         `-c' flag, so they appear at the same position as in %FASTDEP%
64611         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
64612         which ignores unknown options only after the first non-option.
64613         Bug report against M4 by Nelson H. F. Beebe.
64614
64615 2006-10-13  Jim Meyering  <jim@meyering.net>
64616
64617         Fix a bug in yesterday's change.
64618         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
64619         p->fts_statp->st_dev would be used uninitialized.
64620         Ensures that we always call fts_stat on the very first entry.
64621         Miklos Szeredi reported that find -xdev stopped working.
64622
64623 2006-10-12  Bruno Haible  <bruno@clisp.org>
64624
64625         * gnulib-tool (func_get_automake_snippet): Append an automatically
64626         computed EXTRA_DIST augmentation.
64627         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
64628         * modules/alloca-opt (Makefile.am): Likewise.
64629         * modules/allocsa (Makefile.am): Likewise.
64630         * modules/arcfour (Makefile.am): Likewise.
64631         * modules/arctwo (Makefile.am): Likewise.
64632         * modules/argmatch (Makefile.am): Likewise.
64633         * modules/argz (Makefile.am): Likewise.
64634         * modules/atexit (Makefile.am): Likewise.
64635         * modules/backupfile (Makefile.am): Likewise.
64636         * modules/byteswap (Makefile.am): Likewise.
64637         * modules/c-strtod (Makefile.am): Likewise.
64638         * modules/c-strtold (Makefile.am): Likewise.
64639         * modules/calloc (Makefile.am): Likewise.
64640         * modules/canon-host (Makefile.am): Likewise.
64641         * modules/canonicalize (Makefile.am): Likewise.
64642         * modules/chdir-long (Makefile.am): Likewise.
64643         * modules/chdir-safer (Makefile.am): Likewise.
64644         * modules/check-version (Makefile.am): Likewise.
64645         * modules/chown (Makefile.am): Likewise.
64646         * modules/cloexec (Makefile.am): Likewise.
64647         * modules/close-stream (Makefile.am): Likewise.
64648         * modules/closeout (Makefile.am): Likewise.
64649         * modules/crc (Makefile.am): Likewise.
64650         * modules/csharpexec (Makefile.am): Likewise.
64651         * modules/cycle-check (Makefile.am): Likewise.
64652         * modules/des (Makefile.am): Likewise.
64653         * modules/dev-ino (Makefile.am): Likewise.
64654         * modules/dirfd (Makefile.am): Likewise.
64655         * modules/dirname (Makefile.am): Likewise.
64656         * modules/dup2 (Makefile.am): Likewise.
64657         * modules/eealloc (Makefile.am): Likewise.
64658         * modules/error (Makefile.am): Likewise.
64659         * modules/euidaccess (Makefile.am): Likewise.
64660         * modules/exclude (Makefile.am): Likewise.
64661         * modules/exitfail (Makefile.am): Likewise.
64662         * modules/fcntl-safer (Makefile.am): Likewise.
64663         * modules/fcntl (Makefile.am): Likewise.
64664         * modules/file-type (Makefile.am): Likewise.
64665         * modules/fileblocks (Makefile.am): Likewise.
64666         * modules/filemode (Makefile.am): Likewise.
64667         * modules/filenamecat (Makefile.am): Likewise.
64668         * modules/fnmatch (Makefile.am): Likewise.
64669         * modules/fopen-safer (Makefile.am): Likewise.
64670         * modules/fpending (Makefile.am): Likewise.
64671         * modules/fprintftime (Makefile.am): Likewise.
64672         * modules/free (Makefile.am): Likewise.
64673         * modules/fsusage (Makefile.am): Likewise.
64674         * modules/ftruncate (Makefile.am): Likewise.
64675         * modules/fts (Makefile.am): Likewise.
64676         * modules/gc-arcfour (Makefile.am): Likewise.
64677         * modules/gc-des (Makefile.am): Likewise.
64678         * modules/gc-hmac-md5 (Makefile.am): Likewise.
64679         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
64680         * modules/gc-md4 (Makefile.am): Likewise.
64681         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
64682         * modules/gc-sha1 (Makefile.am): Likewise.
64683         * modules/gc (Makefile.am): Likewise.
64684         * modules/getaddrinfo (Makefile.am): Likewise.
64685         * modules/getcwd (Makefile.am): Likewise.
64686         * modules/getdelim (Makefile.am): Likewise.
64687         * modules/getdomainname (Makefile.am): Likewise.
64688         * modules/getgroups (Makefile.am): Likewise.
64689         * modules/gethostname (Makefile.am): Likewise.
64690         * modules/gethrxtime (Makefile.am): Likewise.
64691         * modules/getline (Makefile.am): Likewise.
64692         * modules/getloadavg (Makefile.am): Likewise.
64693         * modules/getlogin_r (Makefile.am): Likewise.
64694         * modules/getndelim2 (Makefile.am): Likewise.
64695         * modules/getopt (Makefile.am): Likewise.
64696         * modules/getpagesize (Makefile.am): Likewise.
64697         * modules/getpass-gnu (Makefile.am): Likewise.
64698         * modules/getpass (Makefile.am): Likewise.
64699         * modules/getsubopt (Makefile.am): Likewise.
64700         * modules/gettime (Makefile.am): Likewise.
64701         * modules/gettimeofday (Makefile.am): Likewise.
64702         * modules/getugroups (Makefile.am): Likewise.
64703         * modules/getusershell (Makefile.am): Likewise.
64704         * modules/glob (Makefile.am): Likewise.
64705         * modules/group-member (Makefile.am): Likewise.
64706         * modules/hard-locale (Makefile.am): Likewise.
64707         * modules/hash (Makefile.am): Likewise.
64708         * modules/hmac-md5 (Makefile.am): Likewise.
64709         * modules/hmac-sha1 (Makefile.am): Likewise.
64710         * modules/human (Makefile.am): Likewise.
64711         * modules/idcache (Makefile.am): Likewise.
64712         * modules/imaxabs (Makefile.am): Likewise.
64713         * modules/imaxdiv (Makefile.am): Likewise.
64714         * modules/inet_ntop (Makefile.am): Likewise.
64715         * modules/inet_pton (Makefile.am): Likewise.
64716         * modules/intprops (Makefile.am): Likewise.
64717         * modules/inttostr (Makefile.am): Likewise.
64718         * modules/inttypes (Makefile.am): Likewise.
64719         * modules/isapipe (Makefile.am): Likewise.
64720         * modules/javaversion (Makefile.am): Likewise.
64721         * modules/lchmod (Makefile.am): Likewise.
64722         * modules/lchown (Makefile.am): Likewise.
64723         * modules/localcharset (Makefile.am): Likewise.
64724         * modules/long-options (Makefile.am): Likewise.
64725         * modules/lstat (Makefile.am): Likewise.
64726         * modules/malloc (Makefile.am): Likewise.
64727         * modules/mathl (Makefile.am): Likewise.
64728         * modules/mbchar (Makefile.am): Likewise.
64729         * modules/md2 (Makefile.am): Likewise.
64730         * modules/md4 (Makefile.am): Likewise.
64731         * modules/md5 (Makefile.am): Likewise.
64732         * modules/memcasecmp (Makefile.am): Likewise.
64733         * modules/memchr (Makefile.am): Likewise.
64734         * modules/memcmp (Makefile.am): Likewise.
64735         * modules/memcoll (Makefile.am): Likewise.
64736         * modules/memcpy (Makefile.am): Likewise.
64737         * modules/memmem (Makefile.am): Likewise.
64738         * modules/memmove (Makefile.am): Likewise.
64739         * modules/mempcpy (Makefile.am): Likewise.
64740         * modules/memrchr (Makefile.am): Likewise.
64741         * modules/memset (Makefile.am): Likewise.
64742         * modules/memxor (Makefile.am): Likewise.
64743         * modules/mkancesdirs (Makefile.am): Likewise.
64744         * modules/mkdir-p (Makefile.am): Likewise.
64745         * modules/mkdir (Makefile.am): Likewise.
64746         * modules/mkdtemp (Makefile.am): Likewise.
64747         * modules/mkstemp (Makefile.am): Likewise.
64748         * modules/mktime (Makefile.am): Likewise.
64749         * modules/modechange (Makefile.am): Likewise.
64750         * modules/mountlist (Makefile.am): Likewise.
64751         * modules/nanosleep (Makefile.am): Likewise.
64752         * modules/obstack (Makefile.am): Likewise.
64753         * modules/openat (Makefile.am): Likewise.
64754         * modules/pagealign_alloc (Makefile.am): Likewise.
64755         * modules/pathmax (Makefile.am): Likewise.
64756         * modules/physmem (Makefile.am): Likewise.
64757         * modules/poll (Makefile.am): Likewise.
64758         * modules/posixtm (Makefile.am): Likewise.
64759         * modules/posixver (Makefile.am): Likewise.
64760         * modules/putenv (Makefile.am): Likewise.
64761         * modules/quote (Makefile.am): Likewise.
64762         * modules/quotearg (Makefile.am): Likewise.
64763         * modules/raise (Makefile.am): Likewise.
64764         * modules/read-file (Makefile.am): Likewise.
64765         * modules/readline (Makefile.am): Likewise.
64766         * modules/readlink (Makefile.am): Likewise.
64767         * modules/readtokens (Makefile.am): Likewise.
64768         * modules/readutmp (Makefile.am): Likewise.
64769         * modules/realloc (Makefile.am): Likewise.
64770         * modules/regex (Makefile.am): Likewise.
64771         * modules/rename-dest-slash (Makefile.am): Likewise.
64772         * modules/rename (Makefile.am): Likewise.
64773         * modules/rijndael (Makefile.am): Likewise.
64774         * modules/rmdir (Makefile.am): Likewise.
64775         * modules/rpmatch (Makefile.am): Likewise.
64776         * modules/safe-read (Makefile.am): Likewise.
64777         * modules/safe-write (Makefile.am): Likewise.
64778         * modules/same-inode (Makefile.am): Likewise.
64779         * modules/same (Makefile.am): Likewise.
64780         * modules/save-cwd (Makefile.am): Likewise.
64781         * modules/savedir (Makefile.am): Likewise.
64782         * modules/setenv (Makefile.am): Likewise.
64783         * modules/settime (Makefile.am): Likewise.
64784         * modules/sha1 (Makefile.am): Likewise.
64785         * modules/sig2str (Makefile.am): Likewise.
64786         * modules/snprintf (Makefile.am): Likewise.
64787         * modules/stat-macros (Makefile.am): Likewise.
64788         * modules/stat-time (Makefile.am): Likewise.
64789         * modules/stdbool (Makefile.am): Likewise.
64790         * modules/stdint (Makefile.am): Likewise.
64791         * modules/stdlib-safer (Makefile.am): Likewise.
64792         * modules/stpcpy (Makefile.am): Likewise.
64793         * modules/stpncpy (Makefile.am): Likewise.
64794         * modules/strcase (Makefile.am): Likewise.
64795         * modules/strcasestr (Makefile.am): Likewise.
64796         * modules/strchrnul (Makefile.am): Likewise.
64797         * modules/strcspn (Makefile.am): Likewise.
64798         * modules/strdup (Makefile.am): Likewise.
64799         * modules/strerror (Makefile.am): Likewise.
64800         * modules/strftime (Makefile.am): Likewise.
64801         * modules/strndup (Makefile.am): Likewise.
64802         * modules/strnlen (Makefile.am): Likewise.
64803         * modules/strpbrk (Makefile.am): Likewise.
64804         * modules/strsep (Makefile.am): Likewise.
64805         * modules/strstr (Makefile.am): Likewise.
64806         * modules/strtod (Makefile.am): Likewise.
64807         * modules/strtoimax (Makefile.am): Likewise.
64808         * modules/strtok_r (Makefile.am): Likewise.
64809         * modules/strtol (Makefile.am): Likewise.
64810         * modules/strtoll (Makefile.am): Likewise.
64811         * modules/strtoul (Makefile.am): Likewise.
64812         * modules/strtoull (Makefile.am): Likewise.
64813         * modules/strtoumax (Makefile.am): Likewise.
64814         * modules/strverscmp (Makefile.am): Likewise.
64815         * modules/sys_socket (Makefile.am): Likewise.
64816         * modules/sys_stat (Makefile.am): Likewise.
64817         * modules/sysexits (Makefile.am): Likewise.
64818         * modules/time_r (Makefile.am): Likewise.
64819         * modules/timegm (Makefile.am): Likewise.
64820         * modules/timespec (Makefile.am): Likewise.
64821         * modules/tmpfile-safer (Makefile.am): Likewise.
64822         * modules/trim (Makefile.am): Likewise.
64823         * modules/unistd-safer (Makefile.am): Likewise.
64824         * modules/unlinkdir (Makefile.am): Likewise.
64825         * modules/unlocked-io (Makefile.am): Likewise.
64826         * modules/userspec (Makefile.am): Likewise.
64827         * modules/utime (Makefile.am): Likewise.
64828         * modules/utimecmp (Makefile.am): Likewise.
64829         * modules/utimens (Makefile.am): Likewise.
64830         * modules/vasnprintf (Makefile.am): Likewise.
64831         * modules/vasprintf (Makefile.am): Likewise.
64832         * modules/vsnprintf (Makefile.am): Likewise.
64833         * modules/xalloc (Makefile.am): Likewise.
64834         * modules/xgetcwd (Makefile.am): Likewise.
64835         * modules/xnanosleep (Makefile.am): Likewise.
64836         * modules/xreadlink (Makefile.am): Likewise.
64837         * modules/xstrtod (Makefile.am): Likewise.
64838         * modules/xstrtol (Makefile.am): Likewise.
64839         * modules/xstrtold (Makefile.am): Likewise.
64840         * modules/yesno (Makefile.am): Likewise.
64841         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
64842
64843 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
64844
64845         * modules/error (Makefile.am): Distribute files through
64846         EXTRA_DIST, not lib_SOURCES.
64847
64848 2006-10-12  Eric Blake  <ebb9@byu.net>
64849
64850         * modules/error (Makefile.am): Distribute files in /lib.
64851         * modules/obstack (Makefile.am): Likewise.
64852
64853 2006-10-12  Bruno Haible  <bruno@clisp.org>
64854
64855         * modules/acl (Makefile.am): Distribute all files in lib/ through
64856         EXTRA_DIST.
64857         * modules/arcfour (Makefile.am): Likewise.
64858         * modules/arctwo (Makefile.am): Likewise.
64859         * modules/argmatch (Makefile.am): Likewise.
64860         * modules/argz (Makefile.am): Likewise.
64861         * modules/atexit (Makefile.am): Likewise.
64862         * modules/backupfile (Makefile.am): Likewise.
64863         * modules/c-strtod (Makefile.am): Likewise.
64864         * modules/c-strtold (Makefile.am): Likewise.
64865         * modules/calloc (Makefile.am): Likewise.
64866         * modules/canon-host (Makefile.am): Likewise.
64867         * modules/canonicalize (Makefile.am): Likewise.
64868         * modules/chdir-long (Makefile.am): Likewise.
64869         * modules/chdir-safer (Makefile.am): Likewise.
64870         * modules/check-version (Makefile.am): Likewise.
64871         * modules/chown (Makefile.am): Likewise.
64872         * modules/cloexec (Makefile.am): Likewise.
64873         * modules/close-stream (Makefile.am): Likewise.
64874         * modules/closeout (Makefile.am): Likewise.
64875         * modules/crc (Makefile.am): Likewise.
64876         * modules/cycle-check (Makefile.am): Likewise.
64877         * modules/des (Makefile.am): Likewise.
64878         * modules/dirfd (Makefile.am): Likewise.
64879         * modules/dirname (Makefile.am): Likewise.
64880         * modules/dup2 (Makefile.am): Likewise.
64881         * modules/euidaccess (Makefile.am): Likewise.
64882         * modules/exclude (Makefile.am): Likewise.
64883         * modules/exitfail (Makefile.am): Likewise.
64884         * modules/fcntl-safer (Makefile.am): Likewise.
64885         * modules/file-type (Makefile.am): Likewise.
64886         * modules/fileblocks (Makefile.am): Likewise.
64887         * modules/filemode (Makefile.am): Likewise.
64888         * modules/filenamecat (Makefile.am): Likewise.
64889         * modules/fnmatch (Makefile.am): Likewise.
64890         * modules/fopen-safer (Makefile.am): Likewise.
64891         * modules/fpending (Makefile.am): Likewise.
64892         * modules/fprintftime (Makefile.am): Likewise.
64893         * modules/free (Makefile.am): Likewise.
64894         * modules/fsusage (Makefile.am): Likewise.
64895         * modules/ftruncate (Makefile.am): Likewise.
64896         * modules/fts (Makefile.am): Likewise.
64897         * modules/gc (Makefile.am): Likewise.
64898         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
64899         * modules/getaddrinfo (Makefile.am): Likewise.
64900         * modules/getcwd (Makefile.am): Likewise.
64901         * modules/getdelim (Makefile.am): Likewise.
64902         * modules/getdomainname (Makefile.am): Likewise.
64903         * modules/getgroups (Makefile.am): Likewise.
64904         * modules/gethostname (Makefile.am): Likewise.
64905         * modules/gethrxtime (Makefile.am): Likewise.
64906         * modules/getline (Makefile.am): Likewise.
64907         * modules/getloadavg (Makefile.am): Likewise.
64908         * modules/getlogin_r (Makefile.am): Likewise.
64909         * modules/getopt (Makefile.am): Likewise.
64910         * modules/getpass (Makefile.am): Likewise.
64911         * modules/getpass-gnu (Makefile.am): Likewise.
64912         * modules/getsubopt (Makefile.am): Likewise.
64913         * modules/gettime (Makefile.am): Likewise.
64914         * modules/gettimeofday (Makefile.am): Likewise.
64915         * modules/getugroups (Makefile.am): Likewise.
64916         * modules/getusershell (Makefile.am): Likewise.
64917         * modules/glob (Makefile.am): Likewise.
64918         * modules/group-member (Makefile.am): Likewise.
64919         * modules/hard-locale (Makefile.am): Likewise.
64920         * modules/hash (Makefile.am): Likewise.
64921         * modules/hmac-md5 (Makefile.am): Likewise.
64922         * modules/hmac-sha1 (Makefile.am): Likewise.
64923         * modules/human (Makefile.am): Likewise.
64924         * modules/idcache (Makefile.am): Likewise.
64925         * modules/imaxabs (Makefile.am): Likewise.
64926         * modules/imaxdiv (Makefile.am): Likewise.
64927         * modules/inet_ntop (Makefile.am): Likewise.
64928         * modules/inet_pton (Makefile.am): Likewise.
64929         * modules/inttostr (Makefile.am): Likewise.
64930         * modules/isapipe (Makefile.am): Likewise.
64931         * modules/lchown (Makefile.am): Likewise.
64932         * modules/long-options (Makefile.am): Likewise.
64933         * modules/lstat (Makefile.am): Likewise.
64934         * modules/malloc (Makefile.am): Likewise.
64935         * modules/mathl (Makefile.am): Likewise.
64936         * modules/mbchar (Makefile.am): Likewise.
64937         * modules/md2 (Makefile.am): Likewise.
64938         * modules/md4 (Makefile.am): Likewise.
64939         * modules/md5 (Makefile.am): Likewise.
64940         * modules/memcasecmp (Makefile.am): Likewise.
64941         * modules/memchr (Makefile.am): Likewise.
64942         * modules/memcmp (Makefile.am): Likewise.
64943         * modules/memcoll (Makefile.am): Likewise.
64944         * modules/memcpy (Makefile.am): Likewise.
64945         * modules/memmem (Makefile.am): Likewise.
64946         * modules/memmove (Makefile.am): Likewise.
64947         * modules/mempcpy (Makefile.am): Likewise.
64948         * modules/memrchr (Makefile.am): Likewise.
64949         * modules/memset (Makefile.am): Likewise.
64950         * modules/memxor (Makefile.am): Likewise.
64951         * modules/mkancesdirs (Makefile.am): Likewise.
64952         * modules/mkdir (Makefile.am): Likewise.
64953         * modules/mkdir-p (Makefile.am): Likewise.
64954         * modules/mkdtemp (Makefile.am): Likewise.
64955         * modules/mkstemp (Makefile.am): Likewise.
64956         * modules/mktime (Makefile.am): Likewise.
64957         * modules/modechange (Makefile.am): Likewise.
64958         * modules/mountlist (Makefile.am): Likewise.
64959         * modules/nanosleep (Makefile.am): Likewise.
64960         * modules/openat (Makefile.am): Likewise.
64961         * modules/pagealign_alloc (Makefile.am): Likewise.
64962         * modules/physmem (Makefile.am): Likewise.
64963         * modules/poll (Makefile.am): Likewise.
64964         * modules/posixtm (Makefile.am): Likewise.
64965         * modules/posixver (Makefile.am): Likewise.
64966         * modules/putenv (Makefile.am): Likewise.
64967         * modules/quote (Makefile.am): Likewise.
64968         * modules/quotearg (Makefile.am): Likewise.
64969         * modules/raise (Makefile.am): Likewise.
64970         * modules/read-file (Makefile.am): Likewise.
64971         * modules/readline (Makefile.am): Likewise.
64972         * modules/readlink (Makefile.am): Likewise.
64973         * modules/readtokens (Makefile.am): Likewise.
64974         * modules/readutmp (Makefile.am): Likewise.
64975         * modules/realloc (Makefile.am): Likewise.
64976         * modules/regex (Makefile.am): Likewise.
64977         * modules/rename (Makefile.am): Likewise.
64978         * modules/rename-dest-slash (Makefile.am): Likewise.
64979         * modules/rijndael (Makefile.am): Likewise.
64980         * modules/rmdir (Makefile.am): Likewise.
64981         * modules/rpmatch (Makefile.am): Likewise.
64982         * modules/safe-read (Makefile.am): Likewise.
64983         * modules/safe-write (Makefile.am): Likewise.
64984         * modules/same (Makefile.am): Likewise.
64985         * modules/save-cwd (Makefile.am): Likewise.
64986         * modules/savedir (Makefile.am): Likewise.
64987         * modules/setenv (Makefile.am): Likewise.
64988         * modules/settime (Makefile.am): Likewise.
64989         * modules/sha1 (Makefile.am): Likewise.
64990         * modules/sig2str (Makefile.am): Likewise.
64991         * modules/snprintf (Makefile.am): Likewise.
64992         * modules/stdlib-safer (Makefile.am): Likewise.
64993         * modules/stpcpy (Makefile.am): Likewise.
64994         * modules/stpncpy (Makefile.am): Likewise.
64995         * modules/strcase (Makefile.am): Likewise.
64996         * modules/strcasestr (Makefile.am): Likewise.
64997         * modules/strchrnul (Makefile.am): Likewise.
64998         * modules/strcspn (Makefile.am): Likewise.
64999         * modules/strdup (Makefile.am): Likewise.
65000         * modules/strerror (Makefile.am): Likewise.
65001         * modules/strftime (Makefile.am): Likewise.
65002         * modules/strndup (Makefile.am): Likewise.
65003         * modules/strnlen (Makefile.am): Likewise.
65004         * modules/strpbrk (Makefile.am): Likewise.
65005         * modules/strsep (Makefile.am): Likewise.
65006         * modules/strstr (Makefile.am): Likewise.
65007         * modules/strtod (Makefile.am): Likewise.
65008         * modules/strtoimax (Makefile.am): Likewise.
65009         * modules/strtok_r (Makefile.am): Likewise.
65010         * modules/strtol (Makefile.am): Likewise.
65011         * modules/strtoll (Makefile.am): Likewise.
65012         * modules/strtoul (Makefile.am): Likewise.
65013         * modules/strtoull (Makefile.am): Likewise.
65014         * modules/strtoumax (Makefile.am): Likewise.
65015         * modules/strverscmp (Makefile.am): Likewise.
65016         * modules/time_r (Makefile.am): Likewise.
65017         * modules/timegm (Makefile.am): Likewise.
65018         * modules/tmpfile-safer (Makefile.am): Likewise.
65019         * modules/unistd-safer (Makefile.am): Likewise.
65020         * modules/unlinkdir (Makefile.am): Likewise.
65021         * modules/userspec (Makefile.am): Likewise.
65022         * modules/utime (Makefile.am): Likewise.
65023         * modules/utimecmp (Makefile.am): Likewise.
65024         * modules/utimens (Makefile.am): Likewise.
65025         * modules/vasnprintf (Makefile.am): Likewise.
65026         * modules/vasprintf (Makefile.am): Likewise.
65027         * modules/vsnprintf (Makefile.am): Likewise.
65028         * modules/xalloc (Makefile.am): Likewise.
65029         * modules/xgetcwd (Makefile.am): Likewise.
65030         * modules/xnanosleep (Makefile.am): Likewise.
65031         * modules/xreadlink (Makefile.am): Likewise.
65032         * modules/xstrtod (Makefile.am): Likewise.
65033         * modules/xstrtol (Makefile.am): Likewise.
65034         * modules/xstrtold (Makefile.am): Likewise.
65035         * modules/yesno (Makefile.am): Likewise.
65036
65037 2006-10-12  Jim Meyering  <jim@meyering.net>
65038
65039         * m4/getloadavg.m4: Revert the change below.
65040
65041         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
65042         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
65043         fail with a symlink, which is what coreutils' ./bootstrap now
65044         creates by default.
65045
65046 2006-10-12  Bruno Haible  <bruno@clisp.org>
65047
65048         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
65049         mingw.
65050         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
65051         MSVC and mingw explicitly.
65052
65053 2006-10-11  Simon Josefsson  <jas@extundo.com>
65054             Bruno Haible  <bruno@clisp.org>
65055
65056         Add support for multiple gnulib-tool invocations in the scope of a
65057         single configure.ac file.
65058         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
65059         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
65060         with the same contents as the _LIBADD variable.
65061         (func_emit_initmacro_start, func_emit_initmacro_end,
65062         func_emit_initmacro_done): New functions.
65063         (func_import, func_create_testdir): Invoke them. Allow the identifiers
65064         gl_LIBOBJS and gl_LTLIBOBJS.
65065
65066 2006-10-11  Bruno Haible  <bruno@clisp.org>
65067
65068         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
65069         (func_create_testdir): Don't create po/Makefile.am, don't invoke
65070         autoreconf. Instead, invoke autopoint explicitly but move back the
65071         *.m4 files from gnulib.
65072
65073 2006-10-11  Bruno Haible  <bruno@clisp.org>
65074
65075         * gnulib-tool (func_usage): Make module names after --create-testdir
65076         optional.
65077         (func_create_testdir): If no module was specified, use nearly all
65078         modules.
65079
65080 2006-10-12  Jim Meyering  <jim@meyering.net>
65081
65082         Big performance improvement for fts-based tools that use FTS_NOSTAT.
65083         Avoid spurious inode-mismatch problems on non-POSIX file systems.
65084         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
65085         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
65086         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
65087         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
65088         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
65089         (fts_set_stat_required): New function.
65090         (fts_open): Defer the calls to fts_stat, if possible or requested.
65091         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
65092         into fts_stat itself.
65093         (fts_read): Perform any required (deferred) fts_stat call.
65094         (fts_build): Likewise, for the directory we're about to open and read.
65095         In the readdir loop, carefully decide whether each entry will require
65096         an eventual call to fts_stat, using dirent.d_type info if available.
65097         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
65098         a command line argument into this function.  Update all callers.
65099         Map a return value of FTS_DOT to FTS_D for a command line argument.
65100         * modules/fts (Depends-on): Add d-type.  Alphabetize.
65101         Thanks to Miklos Szeredi for his tenacity and for the initial
65102         bug report about "find" failing on a FUSE-based file system.
65103
65104         * lib/fts.c (fts_open): Use consistent indentation.
65105
65106 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
65107
65108         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
65109         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
65110         reported by Jim Meyering.  All uses of cache variables renamed
65111         to match Autoconf's.
65112         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
65113         the other one.
65114
65115         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
65116         Fix misspelling in diagnostic.
65117
65118 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
65119
65120         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
65121         defined.  Problem reported by Matthew Woehlke.
65122
65123         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
65124         Add support for Tandem NonStop R series.
65125         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
65126         Use new macro.
65127
65128         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
65129         (has_trailing_slash): Omit size arg; all callers changed.
65130         Omit 'inline', since it doesn't help performance and we'd
65131         need to configure it.
65132         Don't count //, ///, etc. as having a trailing slash.
65133         As a side effect, this removes a C99ism reported by Matthew Woehlke.
65134         (rpl_rename_dest_slash): On failure, use rename's errno rather
65135         than (in some cases) an incorrect or junk errno.
65136         Simplify code by removing need to compute length; this does
65137         cause it to make two passes instead of one over the file name,
65138         but it's worth it.
65139
65140         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
65141         change, since Autoconf's version may no longer be appropriate now
65142         that we are using CVS Autoconf's version.  Add support for Tandem.
65143
65144 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
65145             Bruno Haible  <bruno@clisp.org>
65146
65147         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
65148         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
65149         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
65150         gl_AC_TYPE_LONG_LONG.
65151
65152         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
65153         instead of HAVE_LONG_LONG.
65154         * lib/printf-args.c (printf_fetchargs): Likewise.
65155         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
65156         * lib/vasnprintf.c (VASNPRINTF): Likewise.
65157         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
65158         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
65159         gl_AC_TYPE_LONG_LONG.
65160
65161 2006-10-11  Bruno Haible  <bruno@clisp.org>
65162
65163         * m4/longlong.m4: Add comments.
65164         * m4/ulonglong.m4: Likewise.
65165
65166 2006-10-10  Bruno Haible  <bruno@clisp.org>
65167
65168         Make it possible to #define stpcpy, strdup to aliases.
65169         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
65170         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
65171
65172 2006-10-10  Bruno Haible  <bruno@clisp.org>
65173
65174         Make it possible to #define gcd to an alias.
65175         * lib/gcd.c: Include config.h.
65176
65177 2006-10-10  Bruno Haible  <bruno@clisp.org>
65178
65179         Make it possible to #define c_isascii to an alias.
65180         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
65181         defined. Undefine the macros before defining them, to avoid gcc
65182         warnings.
65183         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
65184         define NO_C_CTYPE_MACROS early.
65185
65186 2006-10-10  Bruno Haible  <bruno@clisp.org>
65187
65188         Make it possible to #define set_program_name to an alias.
65189         * lib/progname.c: Don't undefine set_program_name; instead, undefine
65190         ENABLE_RELOCATABLE early.
65191
65192 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
65193
65194         Port to Tandem NSK OSS, which has 64-bit signed int but at most
65195         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
65196         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
65197         More generally, don't assume that 64-bit signed int is available
65198         if unsigned int is, and vice versa.
65199         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
65200         unsigned symbols, not on their signed counterparts.
65201         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
65202         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
65203         (UINT64_C, UINTMAX_C):
65204         Likewise.
65205         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
65206         unsigned counterparts.
65207         (Have_long_long, Unsigned): New macros.
65208         (Int): Renamed from INT.
65209         (strtoimax): Use the new macros.
65210         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
65211         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
65212         * modules/inttypes (inttypes.h): Substitute
65213         HAVE_UNSIGNED_LONG_LONG_INT.
65214         * modules/stdint (stdint.h): Likewise.
65215         (Files): Add m4/ulonglong.m4.
65216
65217 2006-10-10  Bruno Haible  <bruno@clisp.org>
65218
65219         Fix a gcc -Wshadow warning.
65220         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
65221         to 'bucket'.
65222         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
65223         gl_linked_indexof_from_to): Likewise.
65224         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
65225         Likewise.
65226         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
65227         Likewise.
65228         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
65229         Reported by Eric Blake.
65230
65231 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
65232
65233         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
65234         for NetBSD.  Problem reported by Bruno Haible.
65235
65236 2006-10-09  Jim Meyering  <jim@meyering.net>
65237
65238         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
65239         Patch from Bruno Haible.
65240
65241 2006-10-09  Jim Meyering  <jim@meyering.net>
65242
65243         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
65244         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
65245         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
65246
65247 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65248
65249         Don't include <config.h> twice; this doesn't work in some cases,
65250         e.g., when config.h has "#define intmax_t long long int" and
65251         we include <config.h>, <inttypes.h>, <config.h> in that order.
65252         Problem reported by Matthew Woehlke in:
65253         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
65254         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
65255         * lib/fts-cycle.c: Don't include config.h.
65256         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
65257         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
65258         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
65259         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
65260         inttypes.h.
65261         * lib/xstrtoumax.c: Likewise.
65262         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
65263         __strtol and the like, so that this module is more like its siblings.
65264         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
65265         Remove; no longer needed now that we assume gnulib inttypes.h.
65266
65267 2006-10-08  Bruno Haible  <bruno@clisp.org>
65268
65269         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
65270         option.
65271
65272 2006-10-07  Jim Meyering  <jim@meyering.net>
65273
65274         * modules/inttypes (inttypes.h): Revert what seems to have been
65275         an inadvertent part of today's change: use "|", not "/" in the
65276         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
65277
65278 2006-10-07  Bruno Haible  <bruno@clisp.org>
65279
65280         * modules/sublist: New file.
65281
65282 2006-10-07  Bruno Haible  <bruno@clisp.org>
65283
65284         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
65285         * modules/argz (argz.h): Likewise.
65286         * modules/arpa_inet (arpa/inet.h): Likewise.
65287         * modules/byteswap (byteswap.h): Likewise.
65288         * modules/configmake (configmake.h): Likewise.
65289         * modules/fcntl (fcntl.h): Likewise.
65290         * modules/fnmatch (fnmatch.h): Likewise.
65291         * modules/getopt (getopt.h): Likewise.
65292         * modules/glob (glob.h): Likewise.
65293         * modules/inttypes (inttypes.h): Likewise.
65294         * modules/netinet_in (netinet/in.h): Likewise.
65295         * modules/poll (poll.h): Likewise.
65296         * modules/stdbool (stdbool.h): Likewise.
65297         * modules/stdint (stdint.h): Likewise.
65298         * modules/sys_select (sys/select.h): Likewise.
65299         * modules/sys_socket (sys/socket.h): Likewise.
65300         * modules/sys_stat (sys/stat.h): Likewise.
65301         * modules/sysexits (sysexits.h): Likewise.
65302         * modules/unistd (unistd.h): Likewise.
65303         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65304         Add a "DO NOT EDIT" comment to the generated file.
65305         (func_import): Likewise for gnulib-comp.m4.
65306
65307 2006-10-07  Bruno Haible  <bruno@clisp.org>
65308
65309         * lib/gl_sublist.h: New file.
65310         * lib/gl_sublist.c: New file.
65311
65312 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
65313
65314         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
65315         name (relative to the original working directory) and the file
65316         name component (relative to the temporary working directory).  All
65317         callers changed.
65318         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
65319         * lib/mkdir-p.c (make_dir_parents): Likewise.
65320         * lib/mkdir-p.h (make_dir_parents): Likewise.
65321
65322 2006-10-06  Eric Blake  <ebb9@byu.net>
65323
65324         Define several macros for use by the clean-temp module.
65325         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
65326         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
65327         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
65328
65329         * lib/clean-temp.h (close_stream_temp): New declaration.
65330         * lib/clean-temp.c (includes): Pull in headers according to what
65331         other modules are in use.
65332         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
65333
65334 2006-10-06  Bruno Haible  <bruno@clisp.org>
65335
65336         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
65337         instead of fopen, fwriteerror.
65338
65339 2006-10-06  Bruno Haible  <bruno@clisp.org>
65340
65341         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
65342         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
65343         int.
65344         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
65345         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
65346         Return an error indicator.
65347         Suggested by Eric Blake.
65348
65349 2006-10-06  Bruno Haible  <bruno@clisp.org>
65350
65351         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
65352         Reported by Eric Blake.
65353
65354 2006-10-06  Bruno Haible  <bruno@clisp.org>
65355
65356         * modules/closeout (Description): Mention stderr too.
65357
65358 2006-10-06  Bruno Haible  <bruno@clisp.org>
65359         and Paul Eggert  <eggert@cs.ucla.edu>
65360
65361         * lib/closeout.c (close_stdout): Also close stderr.
65362         * lib/closeout.h: Update comment.
65363
65364 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
65365
65366         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
65367         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
65368         * lib/dirchownmod.c: Include lchown.h.
65369         * lib/lchown.c: Don't include files that lchown.h now includes.
65370         Don't declare chown, since lchown.h now does that.
65371         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
65372         (lchown): Define to rpl_chown if lchown is declared but
65373         does not exist.  Declare using a prototype if lchown is not
65374         declared.  Add a copyright notice.
65375         * lib/mkstemp.h: Include <unistd.h>.
65376         * lib/openat.c: Include lchown.h.
65377
65378         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
65379         we now test for that separately.
65380         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
65381         rather than O_NOFOLLOW, when testing whether it's possible to
65382         avoid a race condition reliably.
65383         * lib/savewd.c (savewd_chdir): Likewise.
65384
65385         Remove macros that are no longer needed now that stdint.h is
65386         reliable.
65387         * lib/fsusage.c (UINTMAX_MAX): Remove.
65388         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
65389         * lib/utimecmp.c (SIZE_MAX): Remove.
65390
65391         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
65392
65393         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
65394         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
65395         O_NOATIME works.
65396
65397 2006-10-05  Bruno Haible  <bruno@clisp.org>
65398
65399         * lib/gl_list.h (gl_sortedlist_search_from_to,
65400         gl_sortedlist_indexof_from_to): New declarations.
65401         (gl_list_implementation): New fields sortedlist_search_from_to,
65402         sortedlist_indexof_from_to.
65403         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
65404         inline functions.
65405         * lib/gl_list.c (gl_sortedlist_search_from_to,
65406         gl_sortedlist_indexof_from_to): New functions.
65407         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
65408         function.
65409         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
65410         (gl_array_sortedlist_search_from_to): New function.
65411         (gl_array_list_implementation): Update.
65412         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
65413         function.
65414         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
65415         (gl_carray_sortedlist_search_from_to): New function.
65416         (gl_carray_list_implementation): Update.
65417         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
65418         gl_linked_sortedlist_indexof_from_to): New functions.
65419         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
65420         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
65421         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
65422         gl_tree_sortedlist_indexof_from_to): New functions.
65423         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
65424         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
65425         Update.
65426         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
65427         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
65428         Update.
65429
65430 2006-10-05  Bruno Haible  <bruno@clisp.org>
65431
65432         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
65433         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
65434         (struct gl_list_implementation): Add fields search_from_to,
65435         indexof_from_to. Remove fields search, indexof.
65436         (gl_list_search): Use the search_from_to method.
65437         (gl_list_search_from, gl_list_search_from_to): New functions.
65438         (gl_list_indexof): Use the indexof_from_to method.
65439         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
65440         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
65441         (gl_list_search_from, gl_list_search_from_to): New functions.
65442         (gl_list_indexof): Use the indexof_from_to method.
65443         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
65444         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
65445         gl_array_indexof. Add start_index, end_index arguments.
65446         (gl_array_search_from_to): Renamed from gl_array_search. Add
65447         start_index, end_index arguments.
65448         (gl_array_remove, gl_array_list_implementation): Update.
65449         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
65450         gl_carray_indexof. Add start_index, end_index arguments.
65451         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
65452         start_index, end_index arguments.
65453         (gl_carray_remove, gl_carray_list_implementation): Update.
65454         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
65455         gl_linked_search. Add start_index, end_index arguments.
65456         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
65457         start_index, end_index arguments.
65458         (gl_linked_remove): Update.
65459         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
65460         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
65461         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
65462         field to 'size_t'.
65463         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
65464         gl_tree_search. Add start_index, end_index arguments.
65465         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
65466         start_index, end_index arguments.
65467         (gl_tree_remove): Update.
65468         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
65469         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
65470         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
65471         function.
65472         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
65473         gl_tree_search. Add start_index, end_index arguments.
65474         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
65475         start_index, end_index arguments.
65476         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
65477         Update.
65478         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
65479
65480 2006-10-05  Bruno Haible  <bruno@clisp.org>
65481
65482         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
65483
65484         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
65485         fwriteerror_temp): New declarations.
65486         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
65487         (descriptors): New variable.
65488         (cleanup): First, close the descriptors.
65489         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
65490         fclose_temp, fwriteerror_temp): New functions.
65491
65492 2006-10-04  Jim Meyering  <jim@meyering.net>
65493
65494         * lib/fts.c (fts_open): Tiny comment change.
65495
65496 2006-10-04  Bruno Haible  <bruno@clisp.org>
65497
65498         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
65499         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
65500         gl_LOCK_BODY.
65501         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
65502         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
65503         gl_LOCK_EARLY_BODY.
65504         (gl_LOCK): Require gl_LOCK_BODY.
65505
65506 2006-10-04  Bruno Haible  <bruno@clisp.org>
65507
65508         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
65509         (gl_oset_search_atleast): New declaration.
65510         (struct gl_oset_implementation): Add field 'search_atleast'.
65511         (gl_oset_search_atleast): New inline function.
65512         * lib/gl_oset.c (gl_oset_search_atleast): New function.
65513         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
65514         (gl_array_oset_implementation): Update.
65515         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
65516         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
65517         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
65518
65519 2006-10-04  Bruno Haible  <bruno@clisp.org>
65520
65521         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
65522
65523 2006-10-03  Bruno Haible  <bruno@clisp.org>
65524
65525         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
65526         from gl_avltreehash_list_implementation.
65527
65528 2006-10-03  Bruno Haible  <bruno@clisp.org>
65529
65530         * lib/gl_oset.c (gl_oset_add): Fix return type.
65531
65532 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
65533
65534         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
65535
65536 2006-10-02  Eric Blake  <ebb9@byu.net>
65537
65538         * modules/strnlen (Depends-on): Add extensions.
65539
65540 2006-10-02  Eric Blake  <ebb9@byu.net>
65541
65542         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
65543         definition in 2.60+.
65544
65545 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
65546
65547         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
65548         checks.
65549
65550 2006-10-02  Bruno Haible  <bruno@clisp.org>
65551
65552         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
65553         to the AUTOMAKE_OPTIONS.
65554         Reported by Jim Meyering.
65555
65556 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
65557
65558         Work around bug in Solaris 10 /proc file system:
65559         /proc/self/fd/NNN/.. isn't the parent directory of
65560         the directory whose file descriptor is NNN.  This needs to
65561         be worked around at run time, not compile time, since a
65562         program might be built on Solaris 8, where things work, and
65563         run on Solaris 10.
65564         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
65565         to use the following interface instead:
65566         (OPENAT_BUFFER_SIZE): New macro.
65567         (openat_proc_name): New function.
65568         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
65569         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
65570         Likewise.
65571         * lib/openat-proc.c: New file.
65572         * modules/openat (Files): Add lib/openat-proc.c.
65573         (Depends-on): Add same-inode, stdbool.
65574         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
65575
65576 2006-09-29  Bruno Haible  <bruno@clisp.org>
65577
65578         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
65579         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
65580         argument. Set stdout_closed before testing for ferror, not after.
65581         (fwriteerror, fwriteerror_no_ebadf): New functions.
65582
65583 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65584
65585         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
65586
65587 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
65588
65589         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
65590         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
65591
65592 2006-09-28  Jim Meyering  <jim@meyering.net>
65593
65594         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
65595         Include <unistd.h>.
65596
65597 2006-09-28  Bruno Haible  <bruno@clisp.org>
65598
65599         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
65600         * modules/linkedhash-list (Depends-on): Likewise.
65601         * modules/rbtreehash-list (Depends-on): Likewise.
65602
65603 2006-09-28  Bruno Haible  <bruno@clisp.org>
65604
65605         * lib/strndup.h: Simplify the redefinition of strndup.
65606         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
65607         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
65608
65609 2006-09-28  Bruno Haible  <bruno@clisp.org>
65610
65611         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
65612         * lib/gl_linkedhash_list.c: Likewise.
65613         * lib/gl_rbtreehash_list.c: Likewise.
65614
65615 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
65616
65617         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
65618         getaddrinfo.
65619
65620         * lib/__fpending.h: Don't include <stdio_ext.h> unless
65621         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
65622         it causes <stdio_ext.h> to cause a compile-time error.
65623         Problem reported by Nelson H. F. Beebe.
65624         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
65625         of HAVE_DECL___PENDING.
65626
65627         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
65628         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
65629         declaration.
65630
65631 2006-09-27  Jim Meyering  <jim@meyering.net>
65632
65633         This file could end up with a definition for a function
65634         named __strndup, rather than rpl_strndup on a system with
65635         incomplete weak_alias support.
65636         * lib/strndup.c (strndup): Rename from __strndup.
65637         Remove #defines that used to map __strndup to strndup.
65638         Don't use K&R prototypes.
65639         Remove LIBC-related code, since this file is not sync'd with glibc.
65640         * lib/strndup.h: Revamp, accordingly.
65641         * m4/strndup.m4: Modernize.
65642
65643 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
65644
65645         * modules/savewd (Depends-on): Add 'raise'.
65646         * lib/savewd.c: Include <signal.h>, for 'raise'.
65647
65648 2006-09-26  Jim Meyering  <jim@meyering.net>
65649
65650         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
65651         when we detect Darwin 8.7.0's acl_get_file bug.
65652         Rearrange to perform the new (below) run-test while $LIBS
65653         contains any acl-related library.  Set USE_ACL at the end.
65654         (gl_ACL_GET_FILE): New function.
65655
65656 2006-09-26  Eric Blake  <ebb9@byu.net>
65657
65658         * lib/verror.c: Include <config.h> unconditionally.
65659
65660 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
65661
65662         * modules/clock-time (Maintainer): Add self.
65663         * modules/getlogin_r (Depends-on): Add extensions.
65664
65665 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65666
65667         * modules/clock-time: New module.
65668         * modules/nanosleep (Depends-on): Add clock-time.
65669         * modules/gethrxtime (Depends-on): Likewise.
65670         * modules/gettime (Depends-on): Likewise.
65671         * modules/settime (Depends-on): Likewise.
65672
65673         * modules/fts-lgpl: Depend on openat.
65674         * modules/mkancesdirs: Depend on savewd.
65675         * modules/mkdir-p: Likewise.
65676
65677 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65678
65679         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
65680
65681         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
65682         `gl_have_arbitrary_file_name_length_limit' to
65683         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
65684         actually works between configure runs.
65685
65686 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65687             Bruno Haible  <bruno@clisp.org>
65688
65689         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
65690
65691 2006-09-25  Jim Meyering  <jim@meyering.net>
65692
65693         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
65694         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
65695
65696 2006-09-25  Eric Blake  <ebb9@byu.net>
65697
65698         * gnulib-tool (func_import, func_create_testdir): Fix typos in
65699         exec's in 2006-09-18 patch when shuffling fds.
65700
65701 2006-09-25  Bruno Haible  <bruno@clisp.org>
65702
65703         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
65704         Reported by Jim Meyering.
65705
65706 2006-09-24  Jim Meyering  <jim@meyering.net>
65707
65708         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
65709         compare a pointer against a literal "0".  That caused failures with
65710         at least HP-UX's hpcc.
65711
65712 2006-09-22  Simon Josefsson  <jas@extundo.com>
65713
65714         * modules/gc-sha1:
65715         * modules/gc-md4:
65716         * modules/gc-hmac-sha1:
65717         * modules/gc-hmac-md5:
65718         * modules/gc-des:
65719         * modules/gc-arcfour: Distribute more files.
65720
65721 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65722
65723         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
65724         (gl_linked_iterator_from_to): Initialize struct completely.
65725         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
65726         (gl_tree_iterator_from_to): Likewise
65727         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
65728         * lib/gl_array_list.c [lint] (gl_array_iterator)
65729         (gl_array_iterator_from_to): Likewise.
65730         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
65731         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
65732         (gl_carray_iterator_from_to): Likewise.
65733
65734         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
65735         * lib/md4.c (md4_process_block): Remove unused variable.
65736         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
65737         parentheses for clarity.
65738
65739 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65740
65741         * modules/bison-i18n (Depends-on): Add gettext.
65742
65743 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65744
65745         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
65746         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
65747         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
65748         also add missing comma that caused broken test.
65749         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
65750         stdlib.h, for `abort'.
65751         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
65752         variables.
65753         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
65754         include unistd.h if present, for `rmdir'.
65755         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
65756         variables.
65757         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
65758         in the process include standard headers for prototypes.
65759         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
65760         gets declared on GNU/Linux.
65761         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
65762         unistd.h, for `rmdir'.
65763         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
65764
65765         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
65766         always true.
65767         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
65768
65769         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
65770
65771 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65772
65773         * gnulib-tool (func_version): Create output all at once.  This
65774         may help avoid triggering unnecessary SIGPIPEs, and at any
65775         rate it doesn't hurt.
65776
65777 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65778             Bruno Haible  <bruno@clisp.org>
65779
65780         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
65781         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
65782         * m4/signed.m4 (bh_C_SIGNED): Likewise.
65783
65784         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
65785         (gl_FUNC_VASPRINTF): Invoke it.
65786
65787 2006-09-22  Bruno Haible  <bruno@clisp.org>
65788
65789         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
65790         getloadavg.c as first argument.
65791
65792 2006-09-22  Bruno Haible  <bruno@clisp.org>
65793
65794         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
65795         at the beginning of the gl_INIT macro.
65796         * modules/getloadavg (configure.ac): Pass $gl_source_base to
65797         gl_GETLOADAVG.
65798
65799 2006-09-22  Bruno Haible  <bruno@clisp.org>
65800
65801         * gnulib-tool (func_create_megatestdir): Don't include the config-h
65802         module.
65803         Suggested by Ralf Wildenhues.
65804
65805 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
65806
65807         Import this patch from libc:
65808
65809         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
65810
65811         * lib/regex_internal.c (re_string_reconstruct): Handle
65812         offset < pstr->valid_raw_len && pstr->offsets_needed case.
65813         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
65814         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
65815         re_string_context_at.
65816
65817         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
65818         now requires it.
65819         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
65820         gl_REGEX now does it for us.
65821         (gl_REGEX): Add test taken from
65822         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
65823
65824         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
65825         Check that large offsets work.  Modernize Autoconf usages.
65826         Prefer "yes" to mean a good thing rather than a bad.
65827         Don't put "#define mkstemp" in config.h, as this might interfere
65828         with standard system headers that "#define mkstemp mkstemp64".
65829
65830         * modules/mkstemp (Depends-on): Add extensions, so that
65831         mkstemp is visible on some platforms.
65832         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
65833         (Include): Change to "mkstemp.h" from <stdlib.h>.
65834         (Files): Add mkstemp.h.
65835
65836         * lib/mkstemp.h: New file, since some standard headers
65837         #define mkstemp.
65838         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
65839         Include "mkstemp.h".
65840         Make the _LIBC code resemble glibc original more,
65841         e.g., use K&R style.
65842         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
65843         (mkstemp): Remove, since mkstemp.h does this for us.
65844         * lib/stdlib--.h: Include mkstemp.h.
65845
65846         Import this patch from libc:
65847
65848         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
65849
65850         * lib/tempname.c (__gen_tempname): Change attempts_min
65851         into a macro.  Use preprocessor to decide how to initialize
65852         attempts [Coverity CID 67].
65853
65854 2006-09-20  Bruno Haible  <bruno@clisp.org>
65855
65856         * lib/mkdtemp.c: Import from libc.
65857         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
65858                 * sysdeps/posix/tempname.c (__gen_tempname): Change
65859                 attempts_min into a macro.  Use preprocessor to decide how to
65860                 initialize attempts [Coverity CID 67].
65861         2001-11-27  Paul Eggert  <eggert@twinsun.com>
65862                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
65863                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
65864
65865 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65866
65867         * gnulib-tool (func_exit): New function, to allow to pass the
65868         exit status portably through the trap.  Use everywhere.
65869         (--help, --version): Signal a write error.
65870         (trap): catch SIGPIPE, for write errors.
65871         Exit at the end of the trap, with the correct exit status.
65872
65873 2006-09-19  Karl Berry  <karl@gnu.org>
65874
65875         * doc/gnulib.texi: note about the license texinfo files.
65876
65877 2006-09-19  Eric Blake  <ebb9@byu.net>
65878
65879         * gnulib-tool: Avoid space-tab.
65880
65881 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
65882
65883         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
65884         that prevented coreutils 6.1 from building.  Problem reported
65885         by Petter Reinholdtsen.
65886
65887 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
65888
65889         * gnulib-tool (avoidlist): Fix typo that broke options like
65890         --avoid=lock that are used by coreutils bootstrap.
65891
65892 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
65893
65894         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
65895         more systematically.
65896
65897 2006-09-18  Jim Meyering  <jim@meyering.net>
65898
65899         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
65900
65901 2006-09-18  Bruno Haible  <bruno@clisp.org>
65902
65903         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
65904
65905 2006-09-18  Bruno Haible  <bruno@clisp.org>
65906
65907         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
65908         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
65909         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
65910         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
65911         * m4/gettext.m4: Require autoconf >= 2.52.
65912         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
65913         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
65914         of gl_cv_header_inttypes_h.
65915
65916 2006-09-18  Bruno Haible  <bruno@clisp.org>
65917
65918         * lib/javaversion.c: Include configmake.h.
65919
65920 2006-09-18  Bruno Haible  <bruno@clisp.org>
65921
65922         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
65923         avoid that the while loops be executed in a subshell.
65924
65925 2006-09-18  Bruno Haible  <bruno@clisp.org>
65926
65927         * MODULES.html.sh (func_module): Break long lines.
65928         Suggested by Bruce Korb <bkorb@gnu.org>.
65929
65930 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65931
65932         Speed up by a factor of 1.12.
65933         * gnulib-tool (nl): New variable.
65934         (func_import): Rewrite include directive extraction to only read each
65935         directive once.
65936
65937 2006-09-17  Bruno Haible  <bruno@clisp.org>
65938
65939         * modules/javaversion (Makefile.am): Remove DEFS setting.
65940         (Depends-on): Add configmake, for PKGDATADIR definition.
65941
65942 2006-09-17  Bruno Haible  <bruno@clisp.org>
65943
65944         * gnulib-tool (func_create_testdir): Rewrite all files at once.
65945
65946 2006-09-17  Bruno Haible  <bruno@clisp.org>
65947
65948         * gnulib-tool (func_append): New function, stolen from libtool.m4.
65949         (func_modules_transitive_closure, func_modules_add_dummy,
65950         func_modules_to_filelist, func_import, func_create_testdir,
65951         func_create_megatestdir, ...): Use it wherever possible.
65952         Suggested by Ralf Wildenhues.
65953
65954 2006-09-16  Karl Berry  <karl@gnu.org>
65955
65956         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
65957         to avoid sectioning errors.
65958         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
65959         [ifinfo]: blank line after @center-ed titles.
65960         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
65961         Spell FSF address consistently with others.
65962         (These changes approved by rms.)
65963
65964 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65965
65966         Speed up by a factor of 1.61.
65967         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
65968         already checked module names again.
65969
65970 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65971
65972         Speed up by a factor of 1.13.
65973         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
65974         for new_files, and the input to func_add_or_update.
65975
65976 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65977
65978         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
65979         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
65980
65981 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
65982
65983         * modules/mkancesdirs (Depends-on): Add fcntl.
65984         * modules/savewd: New file.
65985         * MODULES.html.sh (File system functions): Add savewd.
65986
65987         * modules/configmake (Makefile.am): Add support for the
65988         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
65989
65990 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
65991
65992         * m4/savewd.m4: New file.
65993
65994 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
65995
65996         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
65997         (dirchownmod): New arg FD.  All callers changed.
65998         Use FD rather than opening the directory ourself, as opening is
65999         now the caller's responsibility.
66000         * lib/dirchownmod.h: Likewise.
66001         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
66002         hosts that require <sys/types.h> before <sys/stat.h>.  Include
66003         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
66004         (test_dir): Remove.
66005         (mkancesdirs): Return length of prefix of FILE that has already
66006         been made, or -2 if there is a child doing the work.  Redo
66007         algorithm so that it is O(N) rather than O(N**2).  Optimize away
66008         ".", and treat ".." specially since it might stray back into
66009         already-created areas.  Use a subprocess if necessary.  New arg
66010         WD; all users changed.  MAKE_DIR function should now return 1
66011         if it creates a directory that is not readable.  Return -2 if
66012         a child process is spun off.
66013         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
66014         Adjust signature to match code.
66015         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
66016         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
66017         all users changed.
66018         * lib/savewd.c, lib/savewd.h: New files.
66019
66020 2006-09-15  Jim Meyering  <jim@meyering.net>
66021
66022         * modules/rename-dest-slash: New module.
66023         * MODULES.html.sh (posix_compat): Add it here.
66024
66025         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
66026
66027 2006-09-15  Jim Meyering  <jim@meyering.net>
66028
66029         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
66030         file.
66031
66032         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
66033
66034 2006-09-15  Jim Meyering  <jim@meyering.net>
66035
66036         * lib/rename-dest-slash.c (has_trailing_slash): Use
66037         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
66038         (rpl_rename_dest_slash): Perform the cheaper trailing slash
66039         test before testing whether SRC is a directory.
66040         Suggestions from Bruno Haible.
66041
66042         Avoid a warning about an unused variable.
66043         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
66044         into the #ifdef block where it's used.
66045
66046         * lib/rename-dest-slash.c: New file.
66047
66048 2006-09-14  Bruno Haible  <bruno@clisp.org>
66049
66050         * lib/allocsa.c: Include <config.h> unconditionally.
66051         * lib/asnprintf.c: Likewise.
66052         * lib/asprintf.c: Likewise.
66053         * lib/c-strcasecmp.c: Likewise.
66054         * lib/c-strcasestr.c: Likewise.
66055         * lib/c-strncasecmp.c: Likewise.
66056         * lib/c-strstr.c: Likewise.
66057         * lib/classpath.c: Likewise.
66058         * lib/clean-temp.c: Likewise.
66059         * lib/concatpath.c: Likewise.
66060         * lib/copy-file.c: Likewise.
66061         * lib/csharpcomp.c: Likewise.
66062         * lib/csharpexec.c: Likewise.
66063         * lib/execute.c: Likewise.
66064         * lib/fatal-signal.c: Likewise.
66065         * lib/findprog.c: Likewise.
66066         * lib/fwriteerror.c: Likewise.
66067         * lib/gl_array_list.c: Likewise.
66068         * lib/gl_array_oset.c: Likewise.
66069         * lib/gl_avltree_list.c: Likewise.
66070         * lib/gl_avltree_oset.c: Likewise.
66071         * lib/gl_avltreehash_list.c: Likewise.
66072         * lib/gl_carray_list.c: Likewise.
66073         * lib/gl_linked_list.c: Likewise.
66074         * lib/gl_linkedhash_list.c: Likewise.
66075         * lib/gl_list.c: Likewise.
66076         * lib/gl_oset.c: Likewise.
66077         * lib/gl_rbtree_list.c: Likewise.
66078         * lib/gl_rbtree_oset.c: Likewise.
66079         * lib/gl_rbtreehash_list.c: Likewise.
66080         * lib/imaxabs.c: Likewise.
66081         * lib/imaxdiv.c: Likewise.
66082         * lib/javacomp.c: Likewise.
66083         * lib/javaexec.c: Likewise.
66084         * lib/javaversion.c: Likewise.
66085         * lib/linebreak.c: Likewise.
66086         * lib/localcharset.c: Likewise.
66087         * lib/lock.c: Likewise.
66088         * lib/mbchar.c: Likewise.
66089         * lib/mbswidth.c: Likewise.
66090         * lib/mkdtemp.c: Likewise.
66091         * lib/pipe.c: Likewise.
66092         * lib/printf-args.c: Likewise.
66093         * lib/printf-parse.c: Likewise.
66094         * lib/progname.c: Likewise.
66095         * lib/progreloc.c: Likewise.
66096         * lib/readlink.c: Likewise.
66097         * lib/sh-quote.c: Likewise.
66098         * lib/stpcpy.c: Likewise.
66099         * lib/stpncpy.c: Likewise.
66100         * lib/strcasecmp.c: Likewise.
66101         * lib/strcasestr.c: Likewise.
66102         * lib/strcspn.c: Likewise.
66103         * lib/striconv.c: Likewise.
66104         * lib/strncasecmp.c: Likewise.
66105         * lib/strnlen1.c: Likewise.
66106         * lib/strstr.c: Likewise.
66107         * lib/strtok_r.c: Likewise.
66108         * lib/tls.c: Likewise.
66109         * lib/tmpdir.c: Likewise.
66110         * lib/unicodeio.c: Likewise.
66111         * lib/unsetenv.c: Likewise.
66112         * lib/vasnprintf.c: Likewise.
66113         * lib/vasprintf.c: Likewise.
66114         * lib/wait-process.c: Likewise.
66115         * lib/xallocsa.c: Likewise.
66116         * lib/xsetenv.c: Likewise.
66117         * lib/xstriconv.c: Likewise.
66118
66119 2006-09-13  Simon Josefsson  <jas@extundo.com>
66120
66121         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
66122         that internally, suggested by Ralf Wildenhues
66123         <Ralf.Wildenhues@gmx.de>.
66124
66125 2006-09-13  Simon Josefsson  <jas@extundo.com>
66126
66127         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
66128         @LIBOBJS@.
66129         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66130
66131 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
66132
66133         * lib/_fpending.c: Include <config.h> unconditionally, since we no
66134         longer worry about uses that don't define HAVE_CONFIG_H.
66135         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
66136         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
66137         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
66138         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
66139         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
66140         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
66141         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
66142         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
66143         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
66144         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
66145         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
66146         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
66147         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
66148         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
66149         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
66150         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
66151         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
66152         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
66153         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
66154         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
66155         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
66156         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
66157         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
66158         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
66159         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
66160         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
66161         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
66162         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
66163         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
66164         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
66165         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
66166         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
66167         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
66168         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
66169         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
66170         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
66171         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
66172         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
66173         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
66174         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
66175         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
66176         Likewise.
66177
66178 2006-09-13  Eric Blake  <ebb9@byu.net>
66179
66180         * lib/getopt.c: Fix typo in last commit.
66181
66182 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
66183
66184         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
66185         dgettext.
66186
66187 2006-09-12  Jim Meyering  <jim@meyering.net>
66188
66189         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
66190         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
66191         Reported by Nelson H. F. Beebe.
66192
66193 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
66194
66195         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
66196         program_invocation_name and program_invocation_short_name are
66197         initialized.
66198         * lib/argp-namefrob.h: Move declarations of program_invocation_name
66199         and program_invocation_short_name to argp.h, so they are visible
66200         to user programs.
66201         * lib/argp.h: Likewise
66202
66203 2006-09-10  Bruno Haible  <bruno@clisp.org>
66204
66205         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
66206         m4/inttypes_h.m4, m4/uintmax_t.m4.
66207
66208 2006-09-10  Bruno Haible  <bruno@clisp.org>
66209
66210         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
66211         gl_AC_TYPE_UINTMAX_T.
66212
66213 2006-09-10  Bruno Haible  <bruno@clisp.org>
66214
66215         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
66216
66217 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66218
66219         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
66220         convention.  Text proposed by Bruno Haible.
66221         (struct argp_option): Document the use of N_() wrappers.
66222
66223         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
66224         '\v', and translate the two parts separately, instead of feeding
66225         the whole string to gettext.  This allows to exclude
66226         '\v' from the strings visible to the translator by writing doc
66227         strings as N_("..") "\v" N_("..").
66228
66229 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
66230
66231         * config/srclist.txt: Undo latest change; the bug was fixed.
66232
66233 2006-09-09  Bruno Haible  <bruno@clisp.org>
66234
66235         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
66236         assignments if building a library without libtool.
66237         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
66238         in func_emit_lib_Makefile_am.
66239         (func_import): When building a static library libfoo.a, arrange to
66240         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
66241         (func_create_testdir): Likewise.
66242         * modules/gc (configure.ac, Makefile.am): If building statically,
66243         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
66244         * modules/iconvme (configure.ac, Makefile.am): Likewise.
66245         * modules/striconv (configure.ac, Makefile.am): Likewise.
66246         Based on a suggestion by Ralf Wildenhues.
66247
66248 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
66249
66250         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
66251         Check for unistd.h too, since Autoconf doesn't assume POSIX.
66252         Also:
66253
66254         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
66255         Add year_2050_test to catch glibc bug 2821
66256         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
66257
66258         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
66259         Prefer #ifdef to #if.
66260
66261         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
66262         Return from 'main' instead of calling 'exit'.
66263
66264 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
66265
66266         * lib/mktime.c (guess_time_tm): Fix bug where mktime
66267         returned the maximum time_t value rather than (time_t) -1.
66268         Problem originally reported by William Bardwell
66269         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
66270
66271         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
66272         Moved to here ...
66273         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
66274         ... from here.
66275
66276 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
66277
66278         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
66279         2821 is fixed.
66280
66281 2006-09-08  Jim Meyering  <jim@meyering.net>
66282
66283         Don't make generated files read-only.  That would bother too many
66284         people.  However, do retain the ability to work when targets are
66285         read-only: remove the destination and temporary files before writing
66286         them (when generated via sed or echo), or by using the -f option for
66287         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
66288         * modules/alloca-opt, modules/argz, modules/arpa_inet:
66289         * modules/byteswap, modules/configmake, modules/fcntl:
66290         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
66291         * modules/localcharset, modules/netinet_in, modules/poll:
66292         * modules/stdbool, modules/stdint, modules/sys_select:
66293         * modules/sys_socket, modules/sys_stat, modules/sysexits:
66294
66295 2006-09-08  Jim Meyering  <jim@meyering.net>
66296
66297         Avoid new build failure on FreeBSD 6.0.
66298         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
66299         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
66300         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
66301
66302 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66303
66304         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
66305
66306 2006-09-07  Jim Meyering  <jim@meyering.net>
66307
66308         Fix global typo in last change: use chmod u-w, not chmod u-x.
66309         Spotted by Paul Eggert and Bruce Korb.
66310         * modules/alloca-opt, modules/argz, modules/arpa_inet:
66311         * modules/byteswap, modules/configmake, modules/fcntl:
66312         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
66313         * modules/localcharset, modules/netinet_in, modules/poll:
66314         * modules/stdbool, modules/stdint, modules/sys_select:
66315         * modules/sys_socket, modules/sys_stat, modules/sysexits:
66316
66317 2006-09-06  Jim Meyering  <jim@meyering.net>
66318
66319         Make generated files be read-only.
66320         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
66321         Ensure that each generated file is now read-only.
66322         * modules/argz: Likewise.
66323         * modules/arpa_inet: Likewise.
66324         * modules/byteswap: Likewise.
66325         * modules/configmake: Likewise.
66326         * modules/fcntl: Likewise.
66327         * modules/fnmatch: Likewise.
66328         * modules/getopt: Likewise.
66329         * modules/glob: Likewise.
66330         * modules/inttypes: Likewise.
66331         * modules/netinet_in: Likewise.
66332         * modules/poll: Likewise.
66333         * modules/stdbool: Likewise.
66334         * modules/stdint: Likewise.
66335         * modules/sys_select: Likewise.
66336         * modules/sys_socket: Likewise.
66337         * modules/sys_stat: Likewise.
66338         * modules/sysexits: Likewise.
66339         * modules/localcharset: Same as above, but continue using temporary
66340         file named "t-$@" (why different?) rather than the "$@-t" used
66341         everywhere else.
66342
66343         * modules/sysexits (Makefile.am): Replace literal occurrences
66344         of "sysexit.h" more readable, and more consistent, "$@".
66345
66346 2006-09-06  Bruno Haible  <bruno@clisp.org>
66347
66348         * modules/striconv: New file.
66349         * modules/xstriconv: New file.
66350         * MODULES.html.sh (Internationalization functions): Add striconv,
66351         xstriconv.
66352
66353 2006-09-06  Bruno Haible  <bruno@clisp.org>
66354
66355         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
66356         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
66357         not using libtool correctly.
66358
66359 2006-09-06  Bruno Haible  <bruno@clisp.org>
66360
66361         * lib/striconv.h: New file.
66362         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
66363         iconvstring.c.
66364         * lib/xstriconv.h: New file.
66365         * lib/xstriconv.c: New file.
66366
66367 2006-09-06  Bruno Haible  <bruno@clisp.org>
66368
66369         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
66370         lib_..._LDFLAGS.
66371
66372 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66373
66374         * lib/argz_.h: Sync from Libtool.
66375
66376         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
66377                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
66378
66379         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
66380
66381 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
66382
66383         * modules/trim: New file.
66384
66385 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
66386
66387         * lib/trim.h: New file.
66388         * lib/trim.c: New file.
66389
66390 2006-09-05  Bruno Haible  <bruno@clisp.org>
66391
66392         * MODULES.html.sh (String handling): Add trim.
66393
66394 2006-09-04  Karl Berry  <karl@gnu.org>
66395
66396         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
66397         until next release.
66398
66399 2006-09-03  Bruno Haible  <bruno@clisp.org>
66400
66401         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
66402         correctly.
66403
66404 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
66405
66406         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
66407         not gl_GETLOADAVG.  Omit unneeded semicolons.
66408         Problems reported by Ralf Wildenhues in
66409         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
66410         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
66411         at the end, which is the usual gnulib style.
66412
66413         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
66414         of doing all the work ourselves.
66415         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
66416         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
66417
66418 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
66419
66420         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
66421         Problem reported by Ralf Wildenhues in
66422         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
66423
66424         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
66425         HAVE_STRUCT_STATFS_F_FSTYPENAME.
66426
66427 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
66428
66429         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
66430         yesterday's patch by changing test -n to test -z.
66431
66432 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66433
66434         * modules/getloadavg (Files): Add m4/getloadavg.m4.
66435         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
66436         the former is now obsolescent.
66437
66438         * modules/chdir-long (Depends-on): Add fcntl.
66439
66440 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66441
66442         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
66443         obsolescent, and programs should use gnulib instead.
66444         * m4/getloadavg.m4: New file, with contents taken from Autoconf
66445         but with prefixes changed.
66446
66447 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
66448
66449         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
66450         or stdbool.h, because they might not exist while configuring.
66451
66452         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
66453         Don't include unistd.h or limits.h; not needed, since chdir-long.h
66454         does that for us.
66455         (O_DIRECTORY): Remove.
66456
66457 2006-08-31  Eric Blake  <ebb9@byu.net>
66458
66459         * gnulib-tool: Don't let emacs change spaces to TAB.
66460
66461 2006-08-31  Bruno Haible  <bruno@clisp.org>
66462
66463         * gnulib-tool: When calling func_import more than once, do it in a
66464         subshell.
66465         Reported by Eric Blake <ebb9@byu.net>.
66466
66467 2006-08-31  Bruno Haible  <bruno@clisp.org>
66468
66469         * gnulib-tool (nl): Remove variable.
66470         (sed_transform_lib_file): Use more robust test for config-h module.
66471         (func_import): Fix typo in 2006-08-25 patch.
66472
66473 2006-08-31  Bruno Haible  <bruno@clisp.org>
66474
66475         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
66476         specified, augment Makefile.am variables instead of assigning them.
66477
66478 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
66479
66480         Work around a bug in both the Linux and SunOS 64-bit kernels:
66481         nanosleep mishandles sleeps for longer than 2**31 seconds.
66482         Problem reported by Frank v Waveren in
66483         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
66484         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
66485         Check for nanosleep bug.
66486         (LIB_NANOSLEEP): Append clock_gettime library if needed.
66487
66488 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
66489
66490         Work around a bug in both the Linux and SunOS 64-bit kernels:
66491         nanosleep mishandles sleeps for longer than 2**31 seconds.
66492         Problem reported by Frank v Waveren in
66493         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
66494         * lib/nanosleep.c (BILLION): New constant.
66495         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
66496         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
66497         implementation.
66498
66499 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
66500
66501         * modules/nanosleep (Depends-on): Add gettime.
66502
66503 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
66504         and Simon Josefsson  <jas@extundo.com>
66505         and Oskar Liljeblad  <oskar@osk.mine.nu>
66506
66507         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
66508         * gnulib-tool (func_import): New license type 'unmodifiable license
66509         text'.
66510         * modules/fdl: Use it.  Longer description.
66511         * module/gpl, module/lgpl: New files.
66512
66513 2006-08-30  Jim Meyering  <jim@meyering.net>
66514
66515         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
66516         shadowing the parameter.
66517
66518 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66519
66520         Sync from Libtool:
66521
66522         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66523
66524         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
66525         sharing with gnulib.  Report by Eric Blake.
66526
66527 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
66528
66529         * modules/isapipe: New file.
66530         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
66531
66532 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
66533
66534         * modules/configmake (Makefile.am): Add a comment, and omit
66535         the CONFIGMAKE_ prefix from generated macro names.  Suggested
66536         by Bruno Haible.
66537
66538 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
66539
66540         * m4/isapipe.m4: New file.
66541
66542 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
66543
66544         * lib/isapipe.c, lib/isapipe.h: New files.
66545
66546 2006-08-29  Jim Meyering  <jim@meyering.net>
66547
66548         * modules/configmake (Makefile.am): Make configmake.h depend on
66549         Makefile.  Otherwise, a stale configmake.h could hang around.
66550
66551 2006-08-29  Eric Blake  <ebb9@byu.net>
66552
66553         * lib/error.c (error_at_line, print_errno_message): Match libc, after
66554         resolution of upstream bug 3044.
66555
66556 2006-08-29  Bruno Haible  <bruno@clisp.org>
66557
66558         * modules/localcharset (Depends-on): Add configmake.
66559         (Makefile.am): Remove setting of LIBDIR through DEFS.
66560
66561 2006-08-29  Bruno Haible  <bruno@clisp.org>
66562
66563         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
66564         defined.
66565
66566 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
66567
66568         * modules/fcntl: New file.
66569         * modules/chdir-safer (Depends-on): Add fcntl.
66570         * modules/fts: Likewise.
66571         * modules/mkdir-p: Likewise.
66572
66573         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
66574         This undoes the most recent change, since we're now addressing the
66575         problem in a different way.
66576
66577         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
66578         into output, since the output might be called Makefile.am even
66579         if $makefile_name is something different.
66580         (func_import): Use $makefile_am rather than
66581         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
66582         empty.
66583
66584         * modules/inttypes (Files): Add m4/inttypes-h.m4.
66585
66586 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
66587
66588         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
66589         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
66590         recent change to stdint.m4, since we're now addressing the problem in a
66591         different way.
66592
66593 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
66594
66595         * m4/fcntl_h.m4: New file.
66596
66597 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
66598
66599         * lib/fcntl_.h: New file.
66600         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
66601         the fcntl module.
66602         * lib/dirchownmod.c: Likewise.
66603         * lib/fts.c: Likewise.
66604
66605         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
66606         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
66607         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
66608         just before including <inttypes.h>, to avoid circular inclusion.
66609
66610 2006-08-28  Jim Meyering  <jim@meyering.net>
66611
66612         * doc/visibility.texi: Actually read and correct the grammar of the
66613         sentence affected by yesterday's change.
66614
66615 2006-08-28  Eric Blake  <ebb9@byu.net>
66616
66617         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
66618         needs wrapper.
66619
66620 2006-08-28  Eric Blake  <ebb9@byu.net>
66621
66622         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
66623
66624 2006-08-28  Eric Blake  <ebb9@byu.net>
66625
66626         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
66627
66628 2006-08-28  Bruno Haible  <bruno@clisp.org>
66629
66630         * modules/c-strstr: New file, from GNU gettext.
66631         * MODULES.html.sh (String handling): Add c-strstr.
66632
66633 2006-08-28  Bruno Haible  <bruno@clisp.org>
66634
66635         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
66636         macros.
66637         Reported by Eric Blake.
66638
66639 2006-08-28  Bruno Haible  <bruno@clisp.org>
66640
66641         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
66642         (VASNPRINTF): Return a string of length > INT_MAX without failing.
66643         * lib/vasprintf.c: Include errno.h, limits.h.
66644         (EOVERFLOW): New fallback definition.
66645         (vasprintf): Test here whether the string length is > INT_MAX.
66646         * lib/vsnprintf.c: Include errno.h, limits.h.
66647         (EOVERFLOW): New fallback definition.
66648         (vsnprintf): Fix bug when generated string was too long for the buffer.
66649         Test here whether the string length is > INT_MAX.
66650
66651 2006-08-28  Bruno Haible  <bruno@clisp.org>
66652
66653         * lib/inttypes_.h (SCNX*): Remove definitions.
66654         Reported by Eric Blake.
66655
66656 2006-08-28  Bruno Haible  <bruno@clisp.org>
66657
66658         * lib/c-strstr.h: New file, from GNU gettext.
66659         * lib/c-strstr.c: New file, from GNU gettext.
66660
66661 2006-08-28  Bruno Haible  <bruno@clisp.org>
66662
66663         * gnulib-tool: Reorder some statements.
66664
66665 2006-08-28  Bruno Haible  <bruno@clisp.org>
66666
66667         * gnulib-tool: New option --makefile-name.
66668         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
66669         $makefile_name.
66670         (func_import): Write $makefile_name to the cache file, and read it from
66671         there unless explicitly specified. Use $makefile_name as file name
66672         instead of Makefile.am. Adjust the recommendations accordingly.
66673
66674 2006-08-28  Bruno Haible  <bruno@clisp.org>
66675
66676         * gnulib-tool (func_verify_module): Check against misapplying patch.
66677
66678 2006-08-28  Bruno Haible  <bruno@clisp.org>
66679
66680         * gnulib-tool (func_relativize, func_relconcat): New functions.
66681         Give an error if --local-dir is given with --update.
66682         Remove trailing slashes from $local_gnulib_dir.
66683         (func_import): Store the relativized $local_gnulib_dir in
66684         gnulib-cache.m4, and read it from there if not specified explicitly.
66685
66686 2006-08-28  Bruno Haible  <bruno@clisp.org>
66687
66688         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
66689         is the current directory. Respect also $local_gnulib_dir.
66690
66691 2006-08-28  Bruno Haible  <bruno@clisp.org>
66692             Simon Josefsson  <jas@extundo.com>
66693
66694         BeOS portability.
66695         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
66696
66697 2006-08-27  Jim Meyering  <jim@meyering.net>
66698
66699         * doc/visibility.texi: Remove duplicate word: "pointer".
66700
66701 2006-08-26  Bruno Haible  <bruno@clisp.org>
66702
66703         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
66704         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
66705         (Makefile.am): Create inttypes.h from inttypes_.h.
66706         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
66707
66708         * modules/imaxabs: New file.
66709
66710         * modules/imaxdiv: New file.
66711
66712 2006-08-26  Bruno Haible  <bruno@clisp.org>
66713
66714         * m4/inttypes.m4: New file.
66715         * m4/_inttypes_h.m4: Remove file.
66716         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
66717         PRI_MACROS_BROKEN.
66718         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
66719
66720         * m4/imaxabs.m4: New file.
66721
66722         * m4/imaxdiv.m4: New file.
66723
66724 2006-08-26  Bruno Haible  <bruno@clisp.org>
66725
66726         * lib/inttypes_.h: New file.
66727         * lib/inttypes.h: Remove file.
66728         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
66729
66730         * lib/imaxabs.c: New file.
66731
66732         * lib/imaxdiv.c: New file.
66733
66734 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66735
66736         New config-h module, so that "make" output needn't be cluttered
66737         by -DHAVE_CONFIG_H.
66738         * MODULES.html.sh (Support for building libraries and executables):
66739         Add config-h.
66740         * modules/config-h: New file.
66741         * gnulib-tool (nl, sed_transform_lib_file): New vars.
66742         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
66743         the config-h module is used.
66744
66745         New configmake module, so that "make" output needn't be cluttered
66746         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
66747         * MODULES.html.sh (Support for building libraries and executables):
66748         Add configmake.
66749         * modules/configmake: New file.
66750
66751 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
66752
66753         * m4/config-h.m4: New file.
66754
66755 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66756
66757         * config/srclist.txt: Add elisp-comp.
66758
66759 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
66760
66761         * MODULES.html.sh (Support for building libraries and executables):
66762         Add elisp-comp.
66763         * build-aux/elisp-comp: New file.
66764         * modules/elisp-comp: New file.
66765
66766 2006-08-24  Bruno Haible  <bruno@clisp.org>
66767
66768         * gnulib-tool (func_create_testdir): Use non-default values of
66769         sourcebase and m4base.
66770
66771 2006-08-24  Bruno Haible  <bruno@clisp.org>
66772
66773         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
66774         HTML structure.
66775
66776 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66777
66778         * modules/openat (Depends-on): Add lchown.
66779
66780 2006-08-23  Bruno Haible  <bruno@clisp.org>
66781
66782         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
66783         of gl_LOCK_EARLY instead of gl_LOCK.
66784
66785 2006-08-23  Bruno Haible  <bruno@clisp.org>
66786
66787         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
66788         on OSF/1 to no.
66789         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
66790
66791 2006-08-23  Bruno Haible  <bruno@clisp.org>
66792
66793         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
66794         as unusable.
66795
66796         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
66797         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
66798         (gl_LOCK): New macro.
66799
66800 2006-08-22  Simon Josefsson  <jas@extundo.com>
66801
66802         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
66803         to md5 module.
66804
66805 2006-08-22  Simon Josefsson  <jas@extundo.com>
66806
66807         * MODULES.html.sh: Add "Support for maintaining and release
66808         projects".
66809
66810         * build-aux/gnupload: New file, from coreutils.
66811
66812 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
66813
66814         Avoid the need for AC_LIBSOURCES in m4 macros.
66815         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
66816         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
66817         * modules/check-version (EXTRA_DIST): Add check-version.h.
66818         * modules/crc (EXTRA_DIST): Add crc.h.
66819         * modules/des (EXTRA_DIST): Add des.h.
66820         * modules/gc (EXTRA_DIST): Add gc.h.
66821         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
66822         * modules/getline (EXTRA_DIST): Add getline.h.
66823         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
66824         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
66825         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
66826         * modules/md2 (EXTRA_DIST): Add md2.h.
66827         * modules/md4 (EXTRA_DIST): Add md4.h.
66828         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
66829         * modules/read-file (EXTRA_DIST): Add read-file.h.
66830         * modules/readline (EXTRA_DIST): Add readline.h.
66831         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
66832         rijndael-api-fst.h.
66833
66834 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
66835
66836         * m4/rijndael.m4 (gl_ARCFOUR):
66837         * m4/arctwo.m4 (gl_ARCTWO):
66838         * m4/check-version.m4 (gl_CHECK_VERSION):
66839         * m4/crc.m4 (gl_CRC):
66840         * m4/des.m4 (gl_DES):
66841         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
66842         * m4/gc.m4 (gl_GC):
66843         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
66844         * m4/getline.m4 (gl_FUNC_GETLINE):
66845         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
66846         * m4/hmac-md5.m4 (gl_HMAC_MD5):
66847         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
66848         * m4/md2.m4 (gl_MD2):
66849         * m4/md4.m4 (gl_MD4):
66850         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
66851         * m4/read-file.m4 (gl_FUNC_READ_FILE):
66852         * m4/readline.m4 (gl_FUNC_READLINE):
66853         * m4/rijndael.m4 (gl_RIJNDAEL):
66854         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
66855         to get the necessary .h files and whatnot.
66856
66857 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
66858
66859         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
66860         gnulib rather than the other way around.
66861         * config/srclistvars.sh (COREUTILS): Remove.
66862
66863 2006-08-22  Jim Meyering  <jim@meyering.net>
66864
66865         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
66866
66867         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
66868
66869 2006-08-22  Eric Blake  <ebb9@byu.net>
66870
66871         * modules/regexprops-generic: New file.
66872         * MODULES.html.sh (Support for building documentation): List it.
66873
66874 2006-08-22  Eric Blake  <ebb9@byu.net>
66875
66876         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
66877         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
66878         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
66879         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
66880
66881 2006-08-22  Bruno Haible  <bruno@clisp.org>
66882
66883         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
66884         and lib_LTLIBRARIES like the other lib_* variables.
66885
66886 2006-08-22  Bruno Haible  <bruno@clisp.org>
66887
66888         * build-aux/x-to-1.in: New file, from GNU gettext.
66889
66890 2006-08-22  Bruno Haible  <bruno@clisp.org>
66891
66892         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
66893         <utmpx.h> exists.
66894
66895 2006-08-22  Bruno Haible  <bruno@clisp.org>
66896
66897         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
66898         <utmpx.h> exists.
66899
66900 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
66901
66902         BeOS portability.
66903         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
66904         exist.
66905         Problem reported by Bruno Haible.
66906
66907 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
66908
66909         Avoid the need for AC_LIBSOURCES in m4 macros.
66910         * modules/acl (EXTRA_DIST): Add acl.h.
66911         * modules/argmatch (Files): Add m4/argmatch.m4.
66912         (configure.ac): Add gl_ARGMATCH.
66913         (EXTRA_DIST): Renamed from lib_SOURCES, for
66914         consistency with the other modules.  Remove argmatch.c.
66915         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
66916         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
66917         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
66918         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
66919         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
66920         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
66921         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
66922         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
66923         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
66924         * modules/closeout (EXTRA_DIST): Add closeout.h.
66925         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
66926         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
66927         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
66928         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
66929         dirname.h; remove basename.c and stripslash.c.
66930         * modules/exclude (EXTRA_DIST): Add exclude.h.
66931         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
66932         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
66933         * modules/file-type (EXTRA_DIST): Add file-type.h.
66934         * modules/filemode (EXTRA_DIST): Add filemode.h.
66935         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
66936         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
66937         * modules/fpending (EXTRA_DIST): Add __fpending.h.
66938         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
66939         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
66940         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
66941         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
66942         * modules/getdate (EXTRA_DIST): Add getdate.c.
66943         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
66944         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
66945         * modules/getpass (EXTRA_DIST): Add getpass.h.
66946         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
66947         * modules/group-member (EXTRA_DIST): Add group-member.h.
66948         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
66949         * modules/hash (EXTRA_DIST): Add hash.h.
66950         * modules/human (EXTRA_DIST): Add human.h.
66951         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
66952         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
66953         * modules/lchown (EXTRA_DIST): Add lchown.h.
66954         * modules/long-options (EXTRA_DIST): Add long-options.h.
66955         * modules/lstat (EXTRA_DIST): Add lstat.h.
66956         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
66957         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
66958         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
66959         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
66960         * modules/memxor (EXTRA_DIST): Add memxor.h.
66961         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
66962         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
66963         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
66964         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
66965         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
66966         * modules/physmem (EXTRA_DIST): Add physmem.h.
66967         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
66968         * modules/posixver (EXTRA_DIST): Add posixver.h.
66969         * modules/quote (EXTRA_DIST): Add quote.h.
66970         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
66971         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
66972         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
66973         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
66974         regex_internal.h regexec.c.
66975         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
66976         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
66977         * modules/same (EXTRA_DIST): Add same.h.
66978         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
66979         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
66980         * modules/savedir (EXTRA_DIST): Add savedir.h.
66981         * modules/sha1 (EXTRA_DIST): Add sha1.h.
66982         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
66983         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
66984         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
66985         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
66986         * modules/strdup (EXTRA_DIST): Add strdup.h.
66987         * modules/strftime (EXTRA_DIST): Add strftime.h.
66988         * modules/strndup (EXTRA_DIST): Add strndup.h.
66989         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
66990         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
66991         * modules/time_r (EXTRA_DIST): Add time_r.h.
66992         * modules/timespec (EXTRA_DIST): Add timespec.h.
66993         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
66994         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
66995         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
66996         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
66997         * modules/userspec (EXTRA_DIST): Add userspec.h.
66998         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
66999         * modules/utimens (EXTRA_DIST): Add utimens.h.
67000         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
67001         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
67002         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
67003         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
67004         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
67005         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
67006         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
67007         * modules/yesno (EXTRA_DIST): Add yesno.h.
67008
67009 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
67010
67011         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
67012
67013         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
67014         * m4/dev-ino.m4, same-inode.m4: Remove.
67015
67016         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
67017         * m4/acl.m4 (AC_FUNC_ACL):
67018         * m4/backupfile.m4 (gl_BACKUPFILE):
67019         * m4/c-strtod.m4 (gl_C99_STRTOLD):
67020         * m4/canon-host.m4 (gl_CANON_HOST):
67021         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
67022         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
67023         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
67024         * m4/cloexec.m4 (gl_CLOEXEC):
67025         * m4/close-stream.m4 (gl_CLOSE_STREAM):
67026         * m4/closeout.m4 (gl_CLOSEOUT):
67027         * m4/dirfd.m4 (gl_FUNC_DIRFD):
67028         * m4/dirname.m4 (gl_DIRNAME):
67029         * m4/exclude.m4 (gl_EXCLUDE):
67030         * m4/exitfail.m4 (gl_EXITFAIL):
67031         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
67032         * m4/file-type.m4 (gl_FILE_TYPE):
67033         * m4/filemode.m4 (gl_FILEMODE):
67034         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
67035         * m4/fpending.m4 (gl_FUNC_FPENDING):
67036         * m4/fprintftime.m4 (gl_FPRINTFTIME):
67037         * m4/fts.m4 (gl_FUNC_FTS):
67038         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
67039         * m4/getdate.m4 (gl_GETDATE):
67040         * m4/gethrxtime.m4 (gl_GETHRXTIME):
67041         * m4/getpagesize.m4 (gl_GETPAGESIZE):
67042         * m4/getpass.m4 (gl_FUNC_GETPASS):
67043         * m4/gettime.m4 (gl_GETTIME):
67044         * m4/getugroups.m4 (gl_GETUGROUPS):
67045         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
67046         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
67047         * m4/hard-locale.m4 (gl_HARD_LOCALE):
67048         * m4/hash.m4 (gl_HASH):
67049         * m4/idcache.m4 (gl_IDCACHE):
67050         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
67051         * m4/lchown.m4 (gl_FUNC_LCHOWN):
67052         * m4/long-options.m4 (gl_LONG_OPTIONS):
67053         * m4/lstat.m4 (gl_FUNC_LSTAT):
67054         * m4/md5.m4 (gl_MD5):
67055         * m4/memcasecmp.m4 (gl_MEMCASECMP):
67056         * m4/memcoll.m4 (gl_MEMCOLL):
67057         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
67058         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
67059         * m4/memxor.m4 (gl_MEMXOR):
67060         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
67061         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
67062         * m4/modechange.m4 (gl_MODECHANGE):
67063         * m4/mountlist.m4 (gl_MOUNTLIST):
67064         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
67065         * m4/openat.m4 (gl_FUNC_OPENAT):
67066         * m4/pathmax.m4 (gl_PATHMAX):
67067         * m4/physmem.m4 (gl_PHYSMEM):
67068         * m4/posixtm.m4 (gl_POSIXTM):
67069         * m4/posixver.m4 (gl_POSIXVER):
67070         * m4/quote.m4 (gl_QUOTE):
67071         * m4/quotearg.m4 (gl_QUOTEARG):
67072         * m4/readtokens.m4 (gl_READTOKENS):
67073         * m4/readutmp.m4 (gl_READUTMP):
67074         * m4/regex.m4 (gl_REGEX):
67075         * m4/safe-read.m4 (gl_SAFE_READ):
67076         * m4/safe-write.m4 (gl_SAFE_WRITE):
67077         * m4/same.m4 (gl_SAME):
67078         * m4/save-cwd.m4 (gl_SAVE_CWD):
67079         * m4/savedir.m4 (gl_SAVEDIR):
67080         * m4/settime.m4 (gl_SETTIME):
67081         * m4/sha1.m4 (gl_SHA1):
67082         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
67083         * m4/stat-macros.m4 (gl_STAT_MACROS):
67084         * m4/stat-time.m4 (gl_STAT_TIME):
67085         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
67086         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
67087         * m4/strdup.m4 (gl_FUNC_STRDUP):
67088         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
67089         * m4/strndup.m4 (gl_FUNC_STRNDUP):
67090         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
67091         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
67092         * m4/time_r.m4 (gl_TIME_R):
67093         * m4/timespec.m4 (gl_TIMESPEC):
67094         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
67095         * m4/unlinkdir.m4 (gl_UNLINKDIR):
67096         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
67097         * m4/userspec.m4 (gl_USERSPEC):
67098         * m4/utimecmp.m4 (gl_UTIMECMP):
67099         * m4/utimens.m4 (gl_UTIMENS):
67100         * m4/xalloc.m4 (gl_XALLOC):
67101         * m4/xgetcwd.m4 (gl_XGETCWD):
67102         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
67103         * m4/xreadlink.m4 (gl_XREADLINK):
67104         * m4/xstrtod.m4 (gl_XSTRTOD):
67105         * m4/yesno.m4 (gl_YESNO):
67106         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
67107         to get the necessary .h files and whatnot.
67108
67109 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
67110             Bruno Haible  <bruno@clisp.org>
67111
67112         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
67113         /bin/sh understanding of '!' conditional negation.
67114
67115 2006-08-21  Jim Meyering  <jim@meyering.net>
67116
67117         * modules/openat (Depends-on): Really alphabetize.
67118
67119         * modules/acl (Depends-on): Add error and quote.
67120
67121         * check-module (find_included_lib_files): Add at-func.c to the
67122         ok-to-include-more-than-once white list.
67123
67124         * modules/openat (Depends-on): Add lstat.  Alphabetize.
67125
67126 2006-08-21  Bruno Haible  <bruno@clisp.org>
67127
67128         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67129         Emit a pkgdata_DATA variable only if some snippets add contents to it.
67130         Reported by Martin Lambers <marlam@marlam.de>.
67131
67132 2006-08-21  Bruno Haible  <bruno@clisp.org>
67133
67134         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
67135         specify an installation location, don't emit a noinst_LIBRARIES or
67136         noinst_LTLIBRARIES assignment.
67137
67138 2006-08-21  Bruno Haible  <bruno@clisp.org>
67139
67140         BeOS portability.
67141         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
67142         BeOS has mbrtowc() but no <wctype.h>.
67143
67144 2006-08-21  Bruno Haible  <bruno@clisp.org>
67145
67146         BeOS portability.
67147         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
67148         exist.
67149
67150 2006-08-21  Bruno Haible  <bruno@clisp.org>
67151
67152         BeOS portability.
67153         * lib/mbchar.h: Include <wctype.h> only if it exists.
67154
67155 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
67156
67157         Remove files that are no longer needed by their respective modules.
67158         * m4/obstack.m4: Remove.
67159         * m4/strerror_r.m4: Remove.
67160         * m4/uint32_t.m4: Remove.
67161         * m4/uintptr_t.m4: Remove.
67162         * m4/ullong_max.m4: Remove.
67163         * m4/xstrtoimax.m4: Remove.
67164         * m4/xstrtoumax.m4: Remove.
67165
67166         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
67167         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
67168         dependencies now capture this.
67169
67170         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
67171         Do not use AC_LIBSOURCES, since gnulib modules now do this.
67172         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
67173         * m4/human.m4 (gl_HUMAN): Likewise.
67174         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
67175         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
67176
67177         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
67178
67179         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
67180         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
67181         stdint.
67182         * m4/human.m4 (gl_HUMAN): Likewise.
67183         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
67184         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
67185         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
67186         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
67187         * m4/xstrtol (gl_XSTRTOL): Likewise.
67188
67189         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
67190         AC_TYPE_LONG_LONG_INT.
67191         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
67192         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
67193         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
67194         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
67195
67196         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
67197         on stdbool.
67198
67199         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
67200         (gl_PREREQ_XSTRTOUL): Remove.
67201
67202         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
67203
67204         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
67205         mode.
67206
67207 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
67208
67209         Add and change modules to make it easier for coreutils to use
67210         gnulib-tool.
67211         * modules/backupfile (Files): Remove m4/d-ino.m4.
67212         (Depends-on): Add d-ino.
67213         * modules/cycle-check (Depends-on): Add stdint.
67214         (lib_SOURCES): Add cycle-check.h.
67215         * modules/d-ino: New module.
67216         * modules/d-type: New module.
67217         * modules/error (Files): Remove m4/strerror_r.m4.
67218         * modules/filemode (Files): Add m4/st_dm_mode.m4.
67219         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
67220         m4/inttypes_h.m4, m4/uintmax_t.m4.
67221         (Depends-on): Add stdint.
67222         (lib_SOURCES): Add fsusage.h.
67223         * modules/getcwd (Files): Remove d-ino.m4.
67224         (Depends-on): Add d-ino.
67225         * modules/getndelim2 (Depends-on): Add stdint.
67226         * modules/glob (Files): Remove m4/d-type.m4.
67227         (Depends-on): Add d-type.
67228         * modules/host-os: New module.
67229         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
67230         m4/inttypes_h.m4, m4/uintmax_t.m4.
67231         * Depends-on: Add stdint.
67232         (lib_SOURCES): Add human.h.
67233         * modules/inttostr (Files): Remove m4/intmax_t.m4,
67234         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
67235         m4/uintmax_t.m4, m4/ulonglong.m4.
67236         (Depends-on): Add stdint.
67237         (EXTRA_DIST): Add inttostr.h.
67238         * modules/lchmod: New module.
67239         * modules/link-follow: New module.
67240         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
67241         (Depends-on): Add lchmod.
67242         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
67243         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
67244         (Depends-on): Add stdint.
67245         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
67246         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
67247         (Depends-on): Add stdint.
67248         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
67249         * modules/perl: New module.
67250         * modules/regex (Depends-on): Add stdint.
67251         * modules/rmdir-errno: New module.
67252         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
67253         m4/intmax_t.m4.
67254         (Depends-on): Add stdint.
67255         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
67256         m4/uintmax_t.m4.
67257         (Depends-on): Add stdint.
67258         * modules/unlink-busy: New module.
67259         * modules/utimecmp (Depends-on): Add stdint.
67260         * modules/uptime: New module.
67261         * modules/winsz-ioctl: New module.
67262         * modules/winsz-termios: New module.
67263         * modules/xnanosleep (Depends-on): Add nanosleep.
67264         * modules/ullong_max: Remove.
67265         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
67266         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
67267         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
67268         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
67269         (Depends-on): Add inttypes.
67270         (lib_SOURCES): Add xstrtol.h.
67271         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
67272         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
67273         * MODULES.html.sh: Move 'assert' into the assert section.
67274         Move 'dummy' into the linking section.
67275         Remove ullong_max.
67276         Add section for compatibility checks for POSIX:2001 functions,
67277         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
67278         winsz-ioctl, and winsz-termios into it.
67279         Add lchmod.
67280         Add top-level Misc section and put host-os, perl, and uptime
67281         into it.
67282
67283 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
67284
67285         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
67286         now assume the stdint module.  Do not include inttypes.h.
67287         * lib/fsusage.h: Likewise.
67288         * lib/getndelim2.c: Likewise.
67289         * lib/human.h: Likewise.
67290         * lib/inttostr.h: Likewise.
67291         * lib/obstack.c: Likewise.
67292         * lib/regex_internal.h: Likewise.
67293         * lib/tempname.c: Likewise.
67294         * lib/utimecmp.c: Likewise.
67295         * lib/xstrtol.h: Likewise.
67296
67297         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
67298
67299         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
67300         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
67301         * lib/xtime.h: Likewise.
67302
67303 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67304
67305         * modules/openat (Files): Add lib/fchmodat.c.
67306         Fixes problem reported by Jay Youngman.
67307
67308 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67309
67310         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
67311         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
67312
67313 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
67314             Bruno Haible  <bruno@clisp.org>
67315
67316         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
67317         and is a script that invokes bison. Tighten the code. Add comments.
67318
67319 2006-08-18  Jim Meyering  <jim@meyering.net>
67320
67321         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
67322         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
67323         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
67324         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
67325
67326 2006-08-18  Bruno Haible  <bruno@clisp.org>
67327
67328         * modules/bison-i18n: New file.
67329         * MODULES.html.sh (Internationalization functions): Add it.
67330
67331 2006-08-18  Bruno Haible  <bruno@clisp.org>
67332
67333         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
67334         sys/statvfs.h. When getmntinfo was found, check its declaration and
67335         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
67336
67337 2006-08-18  Bruno Haible  <bruno@clisp.org>
67338
67339         * m4/bison-i18n.m4: New file, from bison.
67340
67341 2006-08-18  Bruno Haible  <bruno@clisp.org>
67342
67343         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
67344         (ME_DUMMY): Treat "kernfs" as a dummy.
67345         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
67346
67347 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
67348
67349         Update from coreutils.
67350
67351         2006-08-15  Jim Meyering  <jim@meyering.net>
67352
67353         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
67354
67355         2006-01-17  Jim Meyering  <jim@meyering.net>
67356
67357         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
67358
67359         2006-01-11  Jim Meyering  <jim@meyering.net>
67360
67361         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
67362         Check for the lchmod function.
67363
67364 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
67365
67366         Update from coreutils.
67367
67368         * lib/__fpending.h: Add copyright notice.
67369         * lib/fprintftime.h: Likewise.
67370         * lib/savedir.c: Use (C) in copyright notice.
67371         * lib/savedir.h: Likewise.
67372
67373         2006-08-15  Jim Meyering  <jim@meyering.net>
67374
67375         * lib/at-func.c: New file, with the logic of all emulated at-functions.
67376         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
67377         in support of the EXPECTED_ERRNO macro.
67378         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
67379         definitions.  Instead, define the appropriate symbols and include
67380         "at-func.c".
67381         * lib/mkdirat.c (mkdirat): Likewise.
67382         * lib/fchmodat.c (fchmodat): Likewise.
67383         (ENOSYS): Remove definition.
67384         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
67385         it.  Don't include "unistd--.h" -- it wasn't ever used.
67386
67387         2006-01-17  Jim Meyering  <jim@meyering.net>
67388
67389         Rewrite fts.c not to change the current working directory,
67390         by using openat, fstatat, fdopendir, etc..
67391
67392         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
67393         (HAVE_OPENAT_SUPPORT): Define.
67394         [_LIBC] (fchdir): Don't undef or define; no longer used.
67395         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
67396         Now, this `function' always succeeds, and consumes its file descriptor
67397         parameter -- so callers must not close such FDs.  Update callers.
67398         (diropen_fd, opendirat, cwd_advance_fd): New functions.
67399         (diropen): Add parameter, SP.  Adjust all callers.
67400         Implement using diropen_fd, rather than open.
67401         (fts_open): Initialize new member, fts_cwd_fd.
67402         Remove fts_rft-setting code.
67403         (fts_close): Close fts_cwd_fd, if necessary.
67404         (__opendir2): Define in terms of opendir or opendirat,
67405         depending on whether the FST_NOCHDIR flag is set.
67406         (fts_build): Since fts_safe_changedir consumes its FD, and since
67407         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
67408         and close the dup'd file descriptor upon failure.
67409         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
67410         (fts_safe_changedir): Tweak semantics to reflect that this function
67411         now calls cwd_advance_fd and hence consumes its FD argument.
67412         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
67413         [struct FTS] (fts_rft): Remove now-unused member.
67414         [struct FTS] (fts_cycle.state): Improve comment.
67415
67416         * lib/openat.c (openat_needs_fchdir): New function.
67417         * lib/openat.h (openat_needs_fchdir): Declare it.
67418
67419 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
67420
67421         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
67422         Problem and fix reported by Pádraig Brady in
67423         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
67424
67425 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67426
67427         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
67428
67429 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67430
67431         * lib/memcoll.c (memcoll): Optimize for the common case where the
67432         arguments are bytewise equal.
67433
67434 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67435
67436         * doc/regexprops-generic.texi: Add a copyright notice.
67437
67438 2006-08-15  Bruno Haible  <bruno@clisp.org>
67439
67440         * modules/tmpdir (License): Change to LGPL.
67441
67442 2006-08-15  Bruno Haible  <bruno@clisp.org>
67443
67444         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
67445         module.
67446
67447 2006-08-14  Simon Josefsson  <jas@extundo.com>
67448
67449         * config/srclist.txt: Add gnupload.
67450
67451 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67452
67453         Change copyright notice from LGPL 2 to GPL 2, since that's the
67454         standard form used in the gnulib repository.
67455         * tests/test-lock.c: Likewise.
67456         * tests/test-stdint.c: Likewise.
67457         * tests/test-tls.c: Likewise.
67458
67459         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
67460         prelude-manager.  User shorter URLs for GNU projects, without '?'.
67461         Add copyright notice.
67462
67463         * check-module: Add copyright notice.  Output a copyright
67464         notice if "--version" is specified.
67465         * modules/COPYING: New file.
67466         * tests/test-getaddrinfo.c: Add copyright notice.
67467         * tests/test-verify.c: Likewise.
67468
67469 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67470
67471         Change copyright notice from LGPL 2 to GPL 2, since that's the
67472         standard form used in the gnulib repository.
67473         * lib/lock.c: LGPL -> GPL.
67474         * lib/lock.h: Likewise.
67475         * lib/strnlen1.c: Likewise.
67476         * lib/strnlen1.h: Likewise.
67477         * lib/tls.c: Likewise.
67478         * lib/tls.h: Likewise.
67479         * lib/tmpdir.c: Likewise.
67480
67481         * lib/TODO: Remove; this belongs only in coreutils.
67482
67483 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67484
67485         Add copyright notices to long-enough files that lack them, since
67486         otherwise the files aren't clearly free.  Use the same notice that
67487         getdate.texi already uses.
67488         * doc/alloca-opt.texi: Add copyright notice.
67489         * doc/alloca.texi: Likewise.
67490         * doc/ctime.texi: Likewise.
67491         * doc/functions.texi: Likewise.
67492         * doc/gcd.texi: Likewise.
67493         * doc/gnulib-tool.texi: Likewise.
67494         * doc/inet_ntoa.texi: Likewise.
67495         * doc/visibility.texi: Likewise.
67496
67497         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
67498         * doc/quote.texi: Add copyright notice.
67499
67500         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
67501         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
67502         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
67503         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
67504         is now obsolete, and give a pointer to the Sun list.
67505         Add copyright notice.
67506
67507 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67508
67509         * config/srclistvars.sh: Add copyright notice.
67510
67511 2006-08-14  Eric Blake  <ebb9@byu.net>
67512
67513         Import the following change from libc:
67514
67515         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
67516
67517         Upstream bug 2997.
67518         * lib/misc/error.c: Add space between program name and message if file
67519         name is missing.
67520
67521 2006-08-12  Karl Berry  <karl@gnu.org>
67522
67523         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
67524         remove, these originate in gnulib now.
67525
67526 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67527
67528         * doc/Makefile (standards.info standards.html standards.dvi):
67529         Also depend on make-stds.texi.
67530
67531 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
67532
67533         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
67534         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
67535
67536         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
67537         in wchar_t.  Problem reported by Eric Blake.
67538
67539         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
67540         LEN is smaller than SIZE.  Suggested by Bruno Haible.
67541         Also, help the compiler to keep LEN in a register.
67542
67543 2006-08-11  Eric Blake  <ebb9@byu.net>
67544
67545         * users.txt: Sort.  Add tar.
67546
67547 2006-08-11  Bruno Haible  <bruno@clisp.org>
67548
67549         * users.txt: New file.
67550
67551 2006-08-11  Bruno Haible  <bruno@clisp.org>
67552
67553         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
67554         before <wchar.h>. Needed for OSF/1 and BSD/OS.
67555
67556 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67557
67558         * modules/snprintf (Depends-on): Remove minmax.
67559         (Maintainer): Add self and Bruno.
67560
67561 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67562
67563         * lib/.cppi-disable: Add snprintf.h, socket_.h.
67564         * lib/snprintf.c: Include <errno.h> and <limits.h>.
67565         (EOVERFLOW): Define if the system does not.
67566         Do not include "minmax.h"; it wasn't used.
67567         (snprintf): Don't assume size_t promotes to an unsigned type.
67568         Fix bug when generated string was too long for the buffer: the
67569         buffer's contents are supposed to be the initial prefix of the
67570         output.  Don't assume vasnprintf returns EOVERFLOW if the size
67571         exceeds INT_MAX; do the check ourselves.
67572
67573         Import the following changes from libc:
67574
67575         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
67576
67577         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
67578         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
67579         set wc to the byte which couldn't be converted.
67580         (re_string_reconstruct): Don't clear valid_raw_len before calling
67581         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
67582         tip_context using re_string_context_at.
67583
67584         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
67585
67586         * lib/posix/regex.h: g++ still cannot handled [restrict].
67587
67588         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
67589
67590         * lib/posix/regex.h: Remove special handling for VMS.
67591
67592 2006-08-10  Jim Meyering  <jim@meyering.net>
67593
67594         * modules/same-inode: New module.
67595         * modules/dev-ino: New module.
67596         * modules/cycle-check: Depend on these modules, rather than simply
67597         including their .h files.
67598         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
67599         required via m4/cycle-check.m4.
67600         * modules/same: Depend on new same-inode module, rather than
67601         including same-inode.h.
67602         * modules/chdir-safer: New file.
67603
67604         * modules/chown (Depends-on): Add stat-macros.
67605
67606 2006-08-10  Jim Meyering  <jim@meyering.net>
67607
67608         * m4/cycle-check.m4: New file.
67609         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
67610         * m4/dev-ino.m4, m4/same-inode.m4: New files.
67611
67612 2006-08-10  Eric Blake  <ebb9@byu.net>
67613
67614         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
67615         in from original proposal.
67616
67617 2006-08-10  Eric Blake  <ebb9@byu.net>
67618         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
67619
67620         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
67621         namespace.
67622
67623 2006-08-10  Bruno Haible  <bruno@clisp.org>
67624
67625         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
67626         as well.
67627
67628 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67629
67630         Sync from coreutils.
67631
67632         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
67633
67634         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
67635         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
67636
67637 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67638
67639         * modules/restrict: Remove; no longer needed now that we assume
67640         Autoconf 2.59 or later.
67641         * MODULES.html.sh: Remove 'restrict'.
67642         * modules/argp (Depends-on): Remove 'restrict'.
67643         * modules/base64 (Depends-on): Likewise.
67644         * modules/gc (Depends-on): Likewise.
67645         * modules/getaddrinfo (Depends-on): Likewise.
67646         * modules/glob (Depends-on): Likewise.
67647         * modules/inet_ntop (Depends-on): Likewise.
67648         * modules/inet_pton (Depends-on): Likewise.
67649         * modules/memxor (Depends-on): Likewise.
67650         * modules/regex (Depends-on): Likewise.
67651         * modules/strtok_r (Depends-on): Likewise.
67652         * modules/time_r (Depends-on): Likewise.
67653
67654 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67655
67656         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
67657         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
67658         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
67659         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
67660         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
67661         * m4/memxor.m4 (gl_MEMXOR): Likewise.
67662         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
67663         gl_C_RESTRICT replaced by AC_C_RESTRICT.
67664
67665         Merge from coreutils.
67666         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
67667         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
67668         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
67669         * m4/time_r.m4 (gl_TIME_R): Likewise.
67670
67671 2006-08-09  Karl Berry  <karl@gnu.org>
67672
67673         * config/srclist.txt: no more gettext-tools, per Bruno.
67674
67675 2006-08-08  Eric Blake  <ebb9@byu.net>
67676
67677         * modules/verror: New module.
67678         * MODULES.html.sh: Document it.
67679
67680 2006-08-08  Eric Blake  <ebb9@byu.net>
67681
67682         * lib/verror.h, lib/verror.c: New files.
67683
67684 2006-08-08  Eric Blake  <ebb9@byu.net>
67685
67686         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
67687         verror_at_line output complies with GNU Coding Standards even when
67688         file is NULL.
67689
67690 2006-08-07  Bruno Haible  <bruno@clisp.org>
67691
67692         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
67693         versions of AIX.
67694         Reported by Ralf Wildenhues.
67695
67696 2006-08-07  Bruno Haible  <bruno@clisp.org>
67697
67698         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
67699         in an AC_DEFUN. Needed so that the autoconf snippets can use
67700         AC_REQUIRE.
67701
67702 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67703
67704         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67705         Initialize pkgdata_DATA.
67706         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
67707         overriding it.
67708
67709 2006-08-06  Eric Blake  <ebb9@byu.net>
67710
67711         * lib/error.h: Fold in some upstream changes from glibc.
67712         * lib/error.c: Likewise.
67713
67714 2006-08-04  Bruno Haible  <bruno@clisp.org>
67715
67716         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67717         Make the mostlyclean-local rule depend on mostlyclean-generic.
67718         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
67719
67720 2006-07-31  Bruno Haible  <bruno@clisp.org>
67721
67722         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
67723         <stdlib.h>, <string.h>.
67724
67725 2006-07-30  Bruno Haible  <bruno@clisp.org>
67726
67727         * modules/readlink (License): Change to LGPL.
67728
67729 2006-07-30  Bruno Haible  <bruno@clisp.org>
67730
67731         * modules/javaversion (Makefile.am): Distribute javaversion.java and
67732         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
67733         set PKGDATADIR to point to it.
67734
67735 2006-07-30  Bruno Haible  <bruno@clisp.org>
67736
67737         * modules/csharpexec (configure.ac): Comment out macro invocation.
67738         * modules/javaexec (configure.ac): Likewise.
67739         * modules/javacomp-script (configure.ac): Likewise.
67740
67741         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
67742
67743 2006-07-30  Bruno Haible  <bruno@clisp.org>
67744
67745         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
67746         linked-list.
67747
67748 2006-07-30  Bruno Haible  <bruno@clisp.org>
67749
67750         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
67751
67752 2006-07-30  Bruno Haible  <bruno@clisp.org>
67753
67754         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67755         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
67756         get removed.
67757
67758 2006-07-29  Bruno Haible  <bruno@clisp.org>
67759
67760         Make it possible for gnulib-tool to work with locally modified or
67761         augmented gnulib repositories.
67762         * gnulib-tool (func_usage): Document --local-dir option.
67763         (local_gnulib_dir): New variable.
67764         Handle --local-dir option.
67765         (func_lookup_file): New function.
67766         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
67767         (func_get_description, func_get_filelist, func_get_description,
67768         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
67769         func_get_automake_snippet, func_get_include_directive,
67770         func_get_license, func_get_maintainer): Use func_lookup_file.
67771         (func_import, func_create_testdir): Use func_lookup_file.
67772
67773 2006-07-29  Bruno Haible  <bruno@clisp.org>
67774
67775         * modules/setenv (Depends-on): Add unistd.
67776
67777 2006-07-29  Bruno Haible  <bruno@clisp.org>
67778
67779         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
67780
67781 2006-07-29  Bruno Haible  <bruno@clisp.org>
67782
67783         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
67784
67785 2006-07-29  Bruno Haible  <bruno@clisp.org>
67786
67787         * gnulib-tool (import, update): If there is no Makefile.am, look at
67788         aclocal.m4, instead of bailing out.
67789
67790 2006-07-29  Bruno Haible  <bruno@clisp.org>
67791
67792         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
67793         Categorize the options by when they are useful.
67794
67795 2006-07-29  Bruno Haible  <bruno@clisp.org>
67796
67797         * gnulib-tool (func_usage): Document option --no-libtool.
67798         Handle option --no-libtool.
67799         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
67800         for changed semantics of $libtool variable.
67801         (func_import): Likewise. If libtool is not used, show this through
67802         an option --no-libtool.
67803         (func_create_testdir): Update.
67804
67805 2006-07-29  Bruno Haible  <bruno@clisp.org>
67806
67807         * gnulib-tool (func_import): Extend error message about missing
67808         --doc-base.
67809
67810 2006-07-29  Bruno Haible  <bruno@clisp.org>
67811
67812         * gnulib-tool (func_import): Don't create the $docbase directory if
67813         there is no file to store there.
67814
67815 2006-07-29  Bruno Haible  <bruno@clisp.org>
67816
67817         * gnulib-tool (autoconf_minversion): If a --dir option is given and
67818         relevant, look for configure.ac there, not in the current directory.
67819         Also use a simple search for AC_PREREQ, not "autoconf --trace".
67820
67821 2006-07-29  Bruno Haible  <bruno@clisp.org>
67822
67823         * gnulib-tool (SORT): New variable.
67824         (func_usage): Undocument --assume-autoconf option.
67825         Remove --assume-autoconf option handling.
67826         (autoconf_minversion): Determine from the contents of configure.ac.
67827         (func_import): Remove autoconf_minversion handling.
67828         Suggested by Eric Blake.
67829
67830 2006-07-29  Bruno Haible  <bruno@clisp.org>
67831
67832         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
67833
67834 2006-07-29  Bruno Haible  <bruno@clisp.org>
67835
67836         * config/srclist.txt (*setenv.[ch]): Remove rules.
67837
67838 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67839
67840         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
67841
67842 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67843
67844         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
67845         arpa/inet.h.
67846
67847 2006-07-28  Simon Josefsson  <jas@extundo.com>
67848
67849         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
67850         * modules/inet_pton (Depends-on): Likewise.
67851
67852 2006-07-28  Simon Josefsson  <jas@extundo.com>
67853
67854         * m4/netinet_in_h.m4: New file.
67855
67856 2006-07-28  Simon Josefsson  <jas@extundo.com>
67857
67858         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
67859         #include's.
67860
67861 2006-07-28  Simon Josefsson  <jas@extundo.com>
67862
67863         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
67864         #include's.
67865
67866 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
67867
67868         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
67869         setgid on directories only if they set these bits.
67870         * lib/modechange.h: Remove obsolete comment about masks.
67871
67872 2006-07-28  Eric Blake  <ebb9@byu.net>
67873
67874         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
67875         macro expansion.
67876
67877 2006-07-28  Bruno Haible  <bruno@clisp.org>
67878
67879         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
67880
67881 2006-07-28  Bruno Haible  <bruno@clisp.org>
67882
67883         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
67884
67885 2006-07-28  Bruno Haible  <bruno@clisp.org>
67886
67887         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
67888         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
67889         Define fallbacks.
67890         Avoids link error on FreeBSD 4.x.
67891         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
67892
67893         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
67894         encoding.
67895         * lib/mbswidth.c (iswcntrl): Likewise.
67896
67897 2006-07-27  Bruno Haible  <bruno@clisp.org>
67898
67899         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
67900         test.
67901
67902 2006-07-27  Bruno Haible  <bruno@clisp.org>
67903
67904         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
67905         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
67906         defined.
67907
67908 2006-07-26  Eric Blake  <ebb9@byu.net>
67909
67910         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
67911
67912 2006-07-26  Eric Blake  <ebb9@byu.net>
67913
67914         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
67915         like mingw that lack mkstemp.
67916         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
67917         avoid compilation warning on mingw.
67918
67919 2006-07-26  Bruno Haible  <bruno@clisp.org>
67920
67921         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
67922         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
67923         INT_FAST*_MIN, INTPTR_MIN.
67924
67925 2006-07-25  Bruno Haible  <bruno@clisp.org>
67926
67927         * modules/version-etc (Depends-on): Add stdarg.
67928
67929 2006-07-25  Bruno Haible  <bruno@clisp.org>
67930
67931         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
67932         complex commands.
67933
67934 2006-07-25  Bruno Haible  <bruno@clisp.org>
67935
67936         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
67937         defined in <stdarg.h> or config.h.
67938
67939 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
67940
67941         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
67942         (gl_STDIO_SAFER): Remove.
67943
67944 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
67945
67946         * MODULES.html.sh (File stream based Input/Output):
67947         Add fopen-safer, tmpfile-safer; remove stdio-safer.
67948         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
67949         * modules/fopen-safer, modules/tmpfile-safer: New files.
67950         * modules/stdio-safer: Remove.
67951
67952 2006-07-24  Bruno Haible  <bruno@clisp.org>
67953
67954         * modules/tmpdir: New file.
67955         * MODULES.html.sh (File system functions): Add it.
67956
67957 2006-07-24  Bruno Haible  <bruno@clisp.org>
67958
67959         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
67960         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
67961
67962 2006-07-24  Bruno Haible  <bruno@clisp.org>
67963
67964         * modules/clean-temp: New file.
67965
67966 2006-07-24  Bruno Haible  <bruno@clisp.org>
67967
67968         * m4/tmpdir.m4: New file, from GNU gettext.
67969
67970 2006-07-24  Bruno Haible  <bruno@clisp.org>
67971
67972         * lib/tmpdir.h: New file, from GNU gettext.
67973         * lib/tmpdir.c: New file, from GNU gettext.
67974
67975 2006-07-24  Bruno Haible  <bruno@clisp.org>
67976
67977         * lib/clean-temp.h: New file, from GNU gettext.
67978         * lib/clean-temp.c: New file, from GNU gettext.
67979
67980 2006-07-23  Eric Blake  <ebb9@byu.net>
67981
67982         * modules/stdio-safer (Files): Add tmpfile-safer.c.
67983         (Depends-on): Add binary-io.
67984
67985 2006-07-23  Eric Blake  <ebb9@byu.net>
67986
67987         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
67988
67989 2006-07-23  Eric Blake  <ebb9@byu.net>
67990
67991         * lib/tmpfile-safer.c: New file.
67992         * lib/stdio-safer.h (fopen_safer): Add prototype.
67993         * lib/stdio--.h (tmpfile): Make safer.
67994
67995 2006-07-23  Bruno Haible  <bruno@clisp.org>
67996
67997         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
67998         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
67999         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
68000         gl_linked_remove_at): Use it.
68001
68002 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68003         and Simon Josefsson <jas@extundo.com>
68004
68005         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
68006
68007         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
68008
68009 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
68010
68011         * modules/close-stream: New file.
68012         * modules/closeout (Description): Make it clear that it exits
68013         with a diagnostic on error.
68014         (Depends-on): Add close-stream.  Remove fpending, stdbool.
68015         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
68016
68017 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
68018
68019         * m4/close-stream.m4: New file.
68020
68021 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
68022
68023         * lib/close-stream.c, lib/close-stream.h: New files.
68024
68025 2006-07-22  Bruno Haible  <bruno@clisp.org>
68026
68027         Merge from GNU gettext 0.15.
68028
68029         2006-05-01  Bruno Haible  <bruno@clisp.org>
68030
68031                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
68032
68033         2006-07-22  Bruno Haible  <bruno@clisp.org>
68034
68035                 * modules/javaversion: New file.
68036                 * MODULES.html.sh (Java): Add javaversion.
68037
68038         2006-03-12  Bruno Haible  <bruno@clisp.org>
68039
68040                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
68041
68042         2005-12-04  Bruno Haible  <bruno@clisp.org>
68043
68044                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
68045                 (untested).
68046
68047         2006-06-21  Bruno Haible  <bruno@clisp.org>
68048
68049                 Avoid warnings from recent versions of mcs.
68050                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
68051                 -o, -L, -r any more. Use options documented since mcs-1.0
68052                 instead. Similarly for -g.
68053
68054         2005-12-04  Bruno Haible  <bruno@clisp.org>
68055
68056                 * build-aux/csharpcomp.sh.in: Suffix for resources is
68057                 .resources, not .resource.
68058
68059         2005-07-09  Bruno Haible  <bruno@clisp.org>
68060
68061                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
68062                 add a .dll suffix.
68063                 Reported by Mark Junker <mjscod@gmx.de>.
68064
68065         2006-07-22  Bruno Haible  <bruno@clisp.org>
68066
68067                 * modules/gettext: Upgrade to gettext-0.15.
68068                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
68069                 m4/visibility.m4.
68070                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
68071
68072 2006-07-22  Bruno Haible  <bruno@clisp.org>
68073
68074         Merge from GNU gettext 0.15.
68075
68076         2006-03-25  Bruno Haible  <bruno@clisp.org>
68077
68078                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
68079
68080         2006-07-21  Bruno Haible  <bruno@clisp.org>
68081
68082                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
68083                 "1.1".
68084
68085         2006-05-09  Bruno Haible  <bruno@clisp.org>
68086
68087                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
68088                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
68089                 for the conftestver execution.
68090
68091         2006-05-01  Bruno Haible  <bruno@clisp.org>
68092
68093                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
68094                 optional target-version argument. Verify that the compiler
68095                 groks source of the specified source-version, or add -source
68096                 option as necessary. Verify that the compiler produces
68097                 bytecode in the specified target-version, or add -target and
68098                 -source options as necessary. Make the result of the test
68099                 available as variable CONF_JAVAC. Also log error output in
68100                 config.log.
68101
68102         2006-03-11  Bruno Haible  <bruno@clisp.org>
68103
68104                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
68105
68106         2006-05-09  Bruno Haible  <bruno@clisp.org>
68107
68108                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
68109                 CLASSPATH_SEPARATOR to a semicolon.
68110
68111         2006-03-12  Bruno Haible  <bruno@clisp.org>
68112
68113                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
68114                 available as variable CONF_JAVA, for subsequent autoconf
68115                 tests. Also log error output in config.log.
68116
68117         2006-07-19  Bruno Haible  <bruno@clisp.org>
68118
68119                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
68120                 that getline works on glibc2 systems. Needed to avoid trouble
68121                 in relocatable.c.
68122                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
68123
68124         2005-12-04  Bruno Haible  <bruno@clisp.org>
68125
68126                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
68127                 launcher (untested).
68128
68129         2005-12-04  Bruno Haible  <bruno@clisp.org>
68130
68131                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
68132
68133         2006-07-22  Bruno Haible  <bruno@clisp.org>
68134
68135                 * gettext.m4: Update from GNU gettext-0.15.
68136                 * nls.m4: Likewise.
68137                 * po.m4: Likewise.
68138                 * inttypes-pri.m4: Likewise.
68139                 * inttypes-h.m4: Renamed from inttypes.m4.
68140                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
68141
68142 2006-07-22  Bruno Haible  <bruno@clisp.org>
68143
68144         Merge from GNU gettext 0.15.
68145
68146         2005-07-05  Bruno Haible  <bruno@clisp.org>
68147
68148                 * printf-args.c (printf_fetchargs): Work around broken
68149                 definition of wint_t on mingw.
68150
68151         2005-02-12  Bruno Haible  <bruno@clisp.org>
68152
68153                 * xallocsa.h: Add extern "C" for C++.
68154
68155         2006-05-17  Bruno Haible  <bruno@clisp.org>
68156
68157                 Cygwin portability.
68158                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
68159
68160         2006-04-30  Bruno Haible  <bruno@clisp.org>
68161
68162                 * progreloc.c: Include <mach-o/dyld.h> if available.
68163                 (find_executable): Use _NSGetExecutablePath when possible.
68164
68165         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
68166
68167                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
68168                 function.
68169
68170         2005-12-29  Bruno Haible  <bruno@clisp.org>
68171
68172                 * progreloc.c (set_program_name_and_installdir): Fix
68173                 compilation error.
68174
68175         2005-12-04  Bruno Haible  <bruno@clisp.org>
68176
68177                 Cygwin portability.
68178                 * progreloc.c: Include <windows.h> also on Cygwin.
68179                 (find_executable): Add support for Cygwin.
68180                 (set_program_name_and_installdir): Handle also platforms with
68181                 nonempty EXEEXT.
68182
68183         2006-07-11  Bruno Haible  <bruno@clisp.org>
68184
68185                 * javacomp.c: Fix a comment.
68186                 Reported by Jim Meyering.
68187
68188         2006-04-30  Bruno Haible  <bruno@clisp.org>
68189
68190                 * javacomp.h (compile_java_class): Add source_version,
68191                 target_version arguments.
68192                 * javacomp.c: Rewritten to choose only a compiler that
68193                 respects the specified source_version and target_version.
68194
68195         2006-06-27  Bruno Haible  <bruno@clisp.org>
68196
68197                 Assume correct S_ISDIR macro.
68198                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
68199
68200         2006-07-22  Bruno Haible  <bruno@clisp.org>
68201
68202                 * javaversion.h: New file, from GNU gettext.
68203                 * javaversion.c: New file, from GNU gettext.
68204                 * javaversion.java: New file, from GNU gettext.
68205                 * javaversion.class: New file, from GNU gettext.
68206
68207         2006-05-17  Bruno Haible  <bruno@clisp.org>
68208
68209                 Cygwin portability.
68210                 * javaexec.c (execute_java_class): Test for jview program
68211                 also on Cygwin.
68212
68213         2006-04-09  Bruno Haible  <bruno@clisp.org>
68214
68215                 * fatal-signal.c: Don't include string.h.
68216                 (at_fatal_signal): Use a copying loop instead of memcpy.
68217
68218         2005-12-04  Bruno Haible  <bruno@clisp.org>
68219
68220                 * csharpexec.c: Add support for 'clix' launcher (untested).
68221                 (execute_csharp_using_sscli): New function.
68222                 (execute_csharp_program): Call it.
68223
68224         2006-06-21  Bruno Haible  <bruno@clisp.org>
68225
68226                 Avoid warnings from recent versions of mcs.
68227                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
68228                 -o, -L, -r any more. Use options documented since mcs-1.0
68229                 instead. Similarly for -g.
68230
68231         2005-07-09  Bruno Haible  <bruno@clisp.org>
68232
68233                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
68234                 add a .dll suffix.
68235                 Reported by Mark Junker <mjscod@gmx.de>.
68236
68237         2006-06-17  Bruno Haible  <bruno@clisp.org>
68238
68239                 * config.charset: Update for NetBSD 3.0.
68240
68241         2006-05-17  Bruno Haible  <bruno@clisp.org>
68242
68243                 Cygwin portability.
68244                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
68245
68246         2006-05-16  Bruno Haible  <bruno@clisp.org>
68247
68248                 * localcharset.c [CYGWIN]: Include <windows.h>.
68249                 (get_charset_aliases): For Cygwin, return the same CPxxx
68250                 aliases list as under WIN32.
68251                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
68252                 the environment variables. Fall back to GetACP().
68253
68254         2006-04-05  Bruno Haible  <bruno@clisp.org>
68255
68256                 * config.charset: Update Juan Manuel Guerrero's address.
68257
68258         2005-02-12  Bruno Haible  <bruno@clisp.org>
68259
68260                 * allocsa.h: Add extern "C" for C++.
68261
68262         2005-02-10  Bruno Haible  <bruno@clisp.org>
68263
68264                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
68265                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
68266
68267         2006-07-22  Bruno Haible  <bruno@clisp.org>
68268
68269                 * gettext.h: Update to GNU gettext-0.15.
68270
68271 2006-07-22  Bruno Haible  <bruno@clisp.org>
68272
68273         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
68274         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
68275         lib-prefix.m4, longdouble.m4, ssize_t.m4.
68276
68277 2006-07-21  Eric Blake  <ebb9@byu.net>
68278
68279         * modules/stdlib-safer: New file.
68280         * MODULES.html.sh (File stream based Input/Output): Add
68281         stdlib-safer.
68282
68283 2006-07-21  Eric Blake  <ebb9@byu.net>
68284
68285         * lib/stdlib-safer.h: New file from coreutils, required by
68286         stdlib--.h.
68287
68288 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
68289
68290         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
68291
68292 2006-07-20  Bruno Haible  <bruno@clisp.org>
68293
68294         * gnulib-tool: Recognize new option --assume-autoconf.
68295         (autoconf_minversion): New variable.
68296         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
68297
68298 2006-07-20  Bruno Haible  <bruno@clisp.org>
68299
68300         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
68301
68302 2006-07-19  Derek R. Price  <derek@ximbiot.com>
68303
68304         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
68305         Reindent and repaginate.
68306
68307 2006-07-19  Derek Price  <derek@ximbiot.com>
68308
68309         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
68310         Correct grammar.
68311
68312 2006-07-17  Bruno Haible  <bruno@clisp.org>
68313
68314         * modules/list: New file.
68315         * modules/array-list: New file.
68316         * modules/carray-list, modules/carray-list-tests: New files.
68317         * modules/linked-list, modules/linked-list-tests: New files.
68318         * modules/avltree-list, modules/avltree-list-tests: New files.
68319         * modules/rbtree-list, modules/rbtree-list-tests: New files.
68320         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
68321         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
68322         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
68323         * modules/oset: New file.
68324         * modules/array-oset: New file.
68325         * modules/avltree-oset, modules/avltree-oset-tests: New files.
68326         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
68327         * tests/test-carray_list.c: New file.
68328         * tests/test-linked_list.c: New file.
68329         * tests/test-avltree_list.c: New file.
68330         * tests/test-rbtree_list.c: New file.
68331         * tests/test-linkedhash_list.c: New file.
68332         * tests/test-avltreehash_list.c: New file.
68333         * tests/test-rbtreehash_list.c: New file.
68334         * tests/test-avltree_oset.c: New file.
68335         * tests/test-rbtree_oset.c: New file.
68336         * MODULES.html.sh (Container data structures): New section.
68337
68338 2006-07-17  Bruno Haible  <bruno@clisp.org>
68339
68340         * m4/gl_list.m4: New file.
68341
68342 2006-07-17  Bruno Haible  <bruno@clisp.org>
68343
68344         * lib/gl_list.h: New file.
68345         * lib/gl_list.c: New file.
68346         * lib/gl_array_list.h: New file.
68347         * lib/gl_array_list.c: New file.
68348         * lib/gl_carray_list.h: New file.
68349         * lib/gl_carray_list.c: New file.
68350         * lib/gl_linked_list.h: New file.
68351         * lib/gl_linked_list.c: New file.
68352         * lib/gl_anylinked_list1.h: New file.
68353         * lib/gl_anylinked_list2.h: New file.
68354         * lib/gl_avltree_list.h: New file.
68355         * lib/gl_avltree_list.c: New file.
68356         * lib/gl_anyavltree_list1.h: New file.
68357         * lib/gl_anyavltree_list2.h: New file.
68358         * lib/gl_rbtree_list.h: New file.
68359         * lib/gl_rbtree_list.c: New file.
68360         * lib/gl_anyrbtree_list1.h: New file.
68361         * lib/gl_anyrbtree_list2.h: New file.
68362         * lib/gl_anytree_list1.h: New file.
68363         * lib/gl_anytree_list2.h: New file.
68364         * lib/gl_linkedhash_list.h: New file.
68365         * lib/gl_linkedhash_list.c: New file.
68366         * lib/gl_anyhash_list1.h: New file.
68367         * lib/gl_anyhash_list2.h: New file.
68368         * lib/gl_avltreehash_list.h: New file.
68369         * lib/gl_avltreehash_list.c: New file.
68370         * lib/gl_rbtreehash_list.h: New file.
68371         * lib/gl_rbtreehash_list.c: New file.
68372         * lib/gl_anytreehash_list1.h: New file.
68373         * lib/gl_anytreehash_list2.h: New file.
68374
68375         * lib/gl_oset.h: New file.
68376         * lib/gl_oset.c: New file.
68377         * lib/gl_array_oset.h: New file.
68378         * lib/gl_array_oset.c: New file.
68379         * lib/gl_avltree_oset.h: New file.
68380         * lib/gl_avltree_oset.c: New file.
68381         * lib/gl_rbtree_oset.h: New file.
68382         * lib/gl_rbtree_oset.c: New file.
68383         * lib/gl_anytree_oset.h: New file.
68384
68385 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
68386
68387         * m4/mkancesdirs.m4: New file.
68388         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
68389         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
68390         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
68391         it.
68392
68393 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
68394
68395         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
68396         * lib/mkancesdirs.h: New files.
68397         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
68398         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
68399         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
68400         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
68401         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
68402         callers changed.  Revamp internals significantly, by not
68403         attempting to create directories that are temporarily more
68404         permissive than the final results.  Do not attempt to use
68405         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
68406         This removes some race conditions, fixes some bugs, and simplifies
68407         things.  Use new dirchownmod function to do owner and mode changes.
68408         * lib/mkdir-p.h: Likewise.
68409         * lib/modechange.c (octal_to_mode): New function.
68410         (struct mode_change): New member mentioned.
68411         (make_node_op_equals): New arg mentioned.  All callers changed.
68412         (mode_compile): Keep track of which mode bits the user has explicitly
68413         mentioned.
68414         (mode_adjust): New arg DIR, so that we implement the X op correctly.
68415         New arg PMODE_BITS, to keep track of which mode bits the user
68416         mentioned; it treats S_ISUID and S_ISGID speciall.
68417         All callers changed.
68418         * lib/modechange.h: Likewise.
68419
68420 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
68421
68422         * MODULES.html.sh: Add mkancestors.
68423         * modules/mkancesdirs: New module.
68424         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
68425         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
68426         The chdir-safer and afs files are now orphans; I'll remove them
68427         unless someone speaks up.
68428         Add lib/dirchownmod.c, lib/dirchownmod.h.
68429         (Depends-on): Remove alloca, chown, save-cwd, dirname.
68430         Add lchown, mkancesdirs.
68431         (Maintainer): Add self.
68432
68433 2006-07-15  Karl Berry  <karl@gnu.org>
68434
68435         * gnulib-tool: help message wording/arrangement.
68436
68437 2006-07-14  Simon Josefsson  <jas@extundo.com>
68438
68439         * doc/gnulib.texi (Libtool and Windows): New section.
68440
68441 2006-07-12  Simon Josefsson  <jas@extundo.com>
68442
68443         * modules/gendocs (License): Fix license, approved by Karl.
68444
68445 2006-07-12  Eric Blake  <ebb9@byu.net>
68446
68447         * MODULES.html.sh: Add gendocs.
68448
68449 2006-07-11  Eric Blake  <ebb9@byu.net>
68450
68451         * modules/fdl: New module, to install doc/fdl.texi.
68452         * MODULES.html.sh: Add new section for documentation modules.
68453         * gnulib-tool: Avoid space-tab.
68454         (--doc-base): New option, to manage files from doc.
68455
68456 2006-07-11  Eric Blake  <ebb9@byu.net>
68457
68458         * m4/absolute-header.m4: Fix comments to match recent change.
68459
68460 2006-07-11  Eric Blake  <ebb9@byu.net>
68461
68462         * gnulib-tool: List --doc-base before --tests-base.
68463
68464 2006-07-11  Derek R. Price  <derek@ximbiot.com>
68465
68466         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
68467
68468 2006-07-11  Bruno Haible  <bruno@clisp.org>
68469
68470         * README: Mention where to put documentation.
68471
68472 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68473
68474         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
68475
68476 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
68477
68478         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
68479         to stdint.m4.
68480
68481 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
68482
68483         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
68484         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
68485         "no/such/file/stdint.h" when there is no such file, so that
68486         the resulting C code can be parsed by dodgy compilers.
68487         Problems reported by Bob Proulx.
68488
68489 2006-07-10  Derek R. Price  <derek@ximbiot.com>
68490
68491         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
68492         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
68493         macros into the GNU _D_EXACT_NAMLEN.
68494         * lib/savedir.c:  Likewise.
68495         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
68496
68497 2006-07-10  Derek R. Price  <derek@ximbiot.com>
68498         and Paul Eggert  <eggert@cs.ucla.edu>
68499
68500         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
68501         * m4/savedir.m4:
68502         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
68503         macros into the GNU _D_EXACT_NAMLEN.
68504
68505 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
68506
68507         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
68508         around the absolute name, to work around a problem with the HP-UX
68509         11.23 native C compiler, reported by Bob Proulx.
68510
68511 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
68512
68513         * doc/maintain.texi, make-stds.texi: Sync from
68514         <http://savannah.gnu.org/projects/gnustandards>.
68515
68516 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
68517
68518         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
68519
68520 2006-07-09  Jim Meyering  <jim@meyering.net>
68521
68522         * m4/glob.m4: Remove a doubled word in a comment.
68523
68524 2006-07-09  Jim Meyering  <jim@meyering.net>
68525
68526         * lib/argp-pv.c: Remove a doubled word in a comment.
68527         * lib/check-version.c (check_version): Likewise.
68528         * lib/javacomp.c (compile_java_class): Likewise.
68529
68530 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
68531
68532         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
68533         for the benefit of people using Autoconf 2.60.  If you want to
68534         support older Autoconf versions you can copy m4/onceonly_2_57.m4
68535         (or m4/onceonly.m4, if pre-2.57) manually.
68536
68537 2006-07-08  Jim Meyering  <jim@meyering.net>
68538
68539         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
68540         comment.
68541         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
68542         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
68543         comment.
68544
68545 2006-07-08  Jim Meyering  <jim@meyering.net>
68546
68547         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
68548
68549 2006-07-07  Simon Josefsson  <jas@extundo.com>
68550
68551         * tests/test-crc.c: Change expected crc value, the test vector
68552         were probably computed using the old broken crc.c?
68553
68554 2006-07-06  Simon Josefsson  <jas@extundo.com>
68555
68556         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
68557         now the canonical place for the M4 file).
68558
68559         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
68560         from the sys_socket dependency now.
68561
68562         * modules/inet_pton (Files): Ditto.
68563
68564         * modules/inet_ntop (Files): Ditto.
68565
68566 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
68567
68568         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
68569         not gl_PREREQ_GETUSERSHELL.
68570
68571 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68572
68573         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
68574         with only one argument, for Autoconf 2.60.
68575         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
68576         expand to nothing, so add a shell command to avoid syntax error.
68577         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
68578
68579 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68580
68581         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
68582
68583 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
68584
68585         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
68586         no longer needed.  Check for isblank decl.
68587         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
68588         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
68589         of existence.
68590
68591 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
68592
68593         * lib/getloadavg.c: Use __VMS, not VMS.
68594         * lib/getopt.c: Likewise.
68595         * lib/getpagesize.h: Likewise.
68596         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
68597         and probably does not work.
68598
68599 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
68600
68601         * lib/.cppi-disable: Add wcwidth.
68602         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
68603         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
68604         (ISGRAPH): Remove.  All uses changed to isgraph.
68605         (FOLD) [!defined _LIBC]: Remove special case.
68606         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
68607         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
68608         HAVE_ISBLANK.
68609         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
68610         case.
68611
68612 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
68613
68614         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
68615         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
68616         brackets.  Other minor changes to suppress some compiler
68617         warnings.
68618
68619 2006-07-06  Derek R. Price  <derek@ximbiot.com>
68620         and Paul Eggert  <eggert@cs.ucla.edu>
68621
68622         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
68623         of invoking obsolescent AC_HEADER_DIRENT macro.
68624         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
68625         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
68626         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
68627         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
68628         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
68629         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
68630         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
68631         * m4/readdir.m4: Remove; no longer needed.
68632
68633 2006-07-06  Derek R. Price  <derek@ximbiot.com>
68634         and Paul Eggert  <eggert@cs.ucla.edu>
68635
68636         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
68637         Don't worry about this obsolete case any more.
68638         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
68639         directories.
68640         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
68641         worry about this obsolete case any more.
68642         * lib/fts.c: Likewise.
68643         * lib/getcwd.c: Likewise.
68644         * lib/glob.h: Likewise.
68645         * lib/savedir.c: Likewise.
68646
68647 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
68648
68649         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
68650         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
68651         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
68652         needed.
68653         All uses removed.
68654         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
68655         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
68656         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
68657         needed.
68658         * m4/getdate.m4 (gl_GETDATE): Likewise.
68659         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
68660         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
68661         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
68662         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
68663         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
68664         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
68665         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
68666         needed.
68667
68668 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
68669
68670         * lib/memcasecmp.c: Include <limits.h>.
68671         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
68672         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
68673         Don't assume isdigit succeeds only on '0' through '9'.
68674
68675 2006-07-05  Eric Blake  <ebb9@byu.net>
68676
68677         * modules/getaddrinfo (Depends-on): Add snprintf.
68678
68679 2006-07-05  Eric Blake  <ebb9@byu.net>
68680
68681         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
68682         to avoid 'header present but could not be compiled' on cygwin.
68683
68684 2006-07-05  Eric Blake  <ebb9@byu.net>
68685
68686         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
68687         missing from netdb.h.
68688         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
68689
68690 2006-07-05  Derek R. Price  <derek@ximbiot.com>
68691
68692         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
68693         no longer needed.
68694         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
68695         * m4/getdate.m4 (gl_GETDATE): Likewise.
68696         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
68697         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
68698         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
68699         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
68700         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
68701
68702 2006-07-05  Derek R. Price  <derek@ximbiot.com>
68703
68704         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
68705         All uses of is_space replaced by isspace.
68706         * lib/exit.h: Don't talk about STDC_HEADERS.
68707         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
68708         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
68709         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
68710         replaced by isprint etc.
68711         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
68712         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
68713         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
68714         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
68715         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
68716         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
68717
68718 2006-07-05  Bruno Haible  <bruno@clisp.org>
68719
68720         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
68721         the function exists, before testing against AIX.
68722         Reported by Martin Lambers <marlam@marlam.de>.
68723
68724 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
68725
68726         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
68727         From Mark D. Baushke.
68728
68729 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
68730
68731         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
68732         to the absolute name, not just one, to bypass Sun C 5.8's
68733         "warning: #include of /usr/include/... may be non-portable".
68734
68735 2006-07-04  Eric Blake  <ebb9@byu.net>
68736
68737         * modules/dirname-tests: New test module.
68738         * tests/test-dirname.c: New file, replacing dirname.c
68739         TEST_DIRNAME section that was recently deleted.
68740
68741 2006-07-04  Bruno Haible  <bruno@clisp.org>
68742
68743         Assume ANSI C header files and <ctype.h> functions.
68744         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
68745         (mbsnwidth): Use isprint, iscntrl instead.
68746
68747 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
68748
68749         Merge from coreutils.
68750         * MODULES.html.sh: Add xstrtold.
68751         * modules/xstrtold: New file.
68752         * modules/cycle-check (Files): Add lib/same-inode.h.
68753         * modules/dirname (Files): Add m4/double-slash-root.m4.
68754         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
68755         * modules/mkdir-p (Files): Add lib/same-inode.h.
68756         * modules/same (Files): Add lib/same-inode.h.
68757
68758 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
68759
68760         * m4/absolute-header.m4: Renamed from full-header-path.m4.
68761         This is to keep the terminology clean; POSIX talks about
68762         "absolute pathnames", not "full pathnames", but the GNU
68763         Coding Standards say to use "path" for something else;
68764         so use "absolute" to keep both sides happy.
68765         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
68766         Set gl_absolute_header, not gl_full_header_path.
68767         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
68768         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
68769         All uses changed.
68770
68771         Merge from coreutils.
68772
68773         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
68774
68775         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
68776         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
68777         want to require the building of c-strtod.o.
68778         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
68779         needs -lm directly.
68780         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
68781
68782         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
68783
68784         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
68785         --as-needed option if available.  Problem reported by Albert Chin in
68786         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
68787         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
68788         cc merely issues a bunch of annoying warnings for --as-needed
68789         (this problem was reported by Bob Proulx).  Also, try linking with
68790         -lm to detect a bug in binutils 2.16 (this problem was reported
68791         by Ralf Wildenhues).
68792
68793         2006-06-18  Jim Meyering  <jim@meyering.net>
68794
68795         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
68796         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
68797         macro.
68798         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
68799         also check for glibc-2.4's abort-inducing bug.
68800
68801         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
68802         Low-probability clean-up should be to use rmdir to get rid of
68803         the just-created directory, not unlink.
68804
68805         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
68806         configure fail, and request a bug report to inform us about it.
68807         Add a comment that, barring reports to the contrary, in 2007 we'll
68808         assume ftruncate is universally available.
68809
68810         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
68811
68812         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
68813
68814         2006-03-12  Jim Meyering  <jim@meyering.net>
68815
68816         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
68817         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
68818         * m4/same.m4 (gl_SAME): Likewise.
68819         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
68820
68821         2006-03-11  Eric Blake  <ebb9@byu.net>
68822
68823         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
68824         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
68825         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
68826         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
68827
68828 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
68829
68830         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
68831         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
68832         reported by Mark D. Baushke, one in
68833         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
68834
68835         Merge from coreutils.
68836
68837         * lib/.cppi-disable: Add stdint_.h.
68838         * lib/.cvsignore: Add stdint.h.
68839
68840         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
68841
68842         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
68843         both double and long double versions.
68844         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
68845         * lib/xstrtold.c: New file.
68846         * lib/xstrtod.h (xstrtold): New decl.
68847
68848         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
68849
68850         * lib/filemode.c (setst): Remove.
68851         (strmode): Rewrite to avoid setst.  This makes the code shorter,
68852         (arguably) clearer, and the generated code is a bit smaller on my
68853         Debian GNU/Linux stable x86 host.
68854
68855         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
68856
68857         * lib/filemode.c: Include "filemode.h" first, to test the interface.
68858         Assume that filemode.h includes sys/types.h and sys/stat.h.
68859         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
68860         (ftypelet): Reorder to put common cases first, for efficiency.
68861         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
68862         to do 'M'.
68863         (strmode): Renamed from mode_string, and now stores 12 bytes instead
68864         of 10, for compatibility with FreeBSD.  All callers changed.
68865         (filemodestring): Now stores 12 bytes instead of 10, and sets file
68866         types that can't be deduced solely from st_mode.  First arg is now a
68867         const pointer.
68868         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
68869         (strmode): Renamed from mode_string.
68870         (filemodestring): New decl.
68871         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
68872         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
68873         needed.
68874         (S_ISPORT, S_ISWHT): New macros, if not already defined.
68875
68876         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
68877
68878         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
68879         fsusage.h now does that.  Include fsusage.h first, to test interface.
68880         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
68881         at most one method (the old code could have generated decls that
68882         didn't conform to C89, not that this was ever exercised).
68883         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
68884
68885         2006-03-19  Jim Meyering  <jim@meyering.net>
68886
68887         Work even in a chroot where d_ino values for entries in "/"
68888         don't match the stat.st_ino values for the same names.
68889         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
68890         number, iterate through all entries again, using lstat instead.
68891         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
68892         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
68893
68894         * lib/getcwd.c (__getcwd): Clarify a comment.
68895         Use memcpy in place of a call to strcpy.
68896
68897         2006-03-12  Jim Meyering  <jim@meyering.net>
68898
68899         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
68900         matches that of the current directory (which we're about to chdir ".."
68901         out of), then save the dev-ino of the parent, instead.
68902
68903         * lib/same-inode.h (SAME_INODE): New file/macro.
68904         * lib/chdir-safer.c (SAME_INODE): Remove definition.
68905         Include "same-inode.h", instead.
68906         * lib/same.c: Likewise.
68907         * lib/cycle-check.h: Include "same-inode.h".
68908         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
68909         * lib/cycle-check.c (SAME_INODE): Remove definition.
68910         * lib/root-dev-ino.h: Include "same-inode.h".
68911
68912         2006-03-11  Eric Blake  <ebb9@byu.net>
68913
68914         * lib/same.c (same_name): s/base_name/last_component/
68915         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
68916         * lib/filenamecat.c (file_name_concat): Likewise.
68917
68918         2006-03-11  Eric Blake  <ebb9@byu.net>,
68919                     Paul Eggert  <eggert@cs.ucla.edu>
68920
68921         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
68922         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
68923         drive prefix.
68924         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
68925         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
68926         (last_component): New method.
68927         * lib/dirname.c (dir_len): Determine when drive letters need a
68928         subsequent slash.  Preserve // when it is special.
68929         (dir_name): Don't append dot when drive letter is absolute.
68930         [TEST_DIRNAME]: Move into a full-blown gnulib test.
68931         * lib/basename.c (base_name): New semantics - malloc the result.
68932         Preserve // when it is special.  Preserve relative files that look
68933         like drive letters.
68934         (base_len): Preserve // when it is special.
68935         (last_component): New method, similar to old base_name semantics.
68936         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
68937         base_name.  Strip redundant slashes from ///.
68938
68939 2006-07-03  Jim Meyering  <jim@meyering.net>
68940
68941         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
68942         macro is used before the first cycle_check call.
68943
68944 2006-07-03  Eric Blake  <ebb9@byu.net>
68945
68946         * modules/dirname (Depends-on): Add xstrndup.
68947
68948 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
68949
68950         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
68951         test cases, so that config.log is a bit easier to follow.
68952
68953 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
68954
68955         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
68956         both are 64 bits, since this seems to be the tradition, and this
68957         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
68958         we ever run into a host that prefers long long to long in this
68959         case, we'll need another configure-time test.  Problem reported by
68960         Jim Meyering.
68961
68962 2006-07-02  Eric Blake  <ebb9@byu.net>
68963
68964         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
68965
68966 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
68967
68968         * modules/inttypes (Depends-on): No longer depends on stdint.
68969         * modules/stdint (Description): Say more about assumptions.
68970         Say that the fast types might differ.  Say macros are used.
68971         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
68972         (Makefile.am): Revise list of substituted symbols to match
68973         new stdint.m4.
68974         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
68975         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
68976         * tests/test-stdint.c (verify_same_types)
68977         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
68978         the code conforms to C99/C89.
68979         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
68980         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
68981
68982 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
68983
68984         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
68985         but fix a bug, by requiring at least 64 bits.
68986         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
68987         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
68988         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
68989         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
68990
68991         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
68992         changes.  Make 2.59 a prerequisite.  Check and substitute for
68993         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
68994         inttypes.h.  Do not use special include files; just use the
68995         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
68996         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
68997         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
68998         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
68999         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
69000         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
69001         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
69002         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
69003         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
69004         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
69005         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
69006         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
69007         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
69008         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
69009         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
69010         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
69011         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
69012         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
69013         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
69014         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
69015         WINT_MAX.  Check for C99 conformance more strictly, by detecting
69016         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
69017         not check for things that C99 does not require, e.g., int8_t.  If
69018         a test isn't needed unless <stdint.h> isn't working, and is
69019         unlikely to be needed for any other reason, then don't do it
69020         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
69021         size_t, since we assume C89 freestanding at least.  Do not check
69022         for sig_atomic_t, wchar_t, or wint_t, since the code now does
69023         the right thing even if the types are not defined.  Instead use:
69024         (gl_STDINT_TYPE_PROPERTIES): New macro.
69025         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
69026         testing whether <sys/types.h> clashes, as Autoconf does this for
69027         us now.  All uses removed.
69028         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
69029         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
69030         (gl_CHECK_TYPE_SAME):
69031         Remove; no longer needed.
69032         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
69033         exists, since we'll return 0 anyway in that case.
69034         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
69035
69036 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
69037
69038         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
69039         possible collision with system files.
69040         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
69041         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
69042         WCHAR_MIN and WCHAR_MAX in this case.
69043         (<stddef.h>): Do not include; no longer needed.
69044         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
69045         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
69046         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
69047         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
69048         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
69049         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
69050         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
69051         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
69052         !defined(__c99))]: Include in this case too, since it's harmless
69053         now.
69054         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
69055         dangerous to do so.
69056         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
69057         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
69058         (_STDINT_MIN, _STDINT_MAX): New macros.
69059         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
69060         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
69061         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
69062         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
69063         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
69064         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
69065         macros, not typedefs; this simplifies things quite a bit.
69066         Use long int for all types narrower than int64_t.
69067         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
69068         Define in terms of long long int or int64_t or long int,
69069         not int64_t or int32_t.  This saves some compile-time testing.
69070         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
69071         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
69072         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
69073         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
69074         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
69075         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
69076         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
69077         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
69078         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
69079         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
69080         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
69081         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
69082         undef any previous version and define our own version, for
69083         simplicity and consistency with the new macros for types.
69084         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
69085         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
69086         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
69087         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
69088         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
69089         @WINT_T_SUFFIX@ to keep things simple here.
69090         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
69091         Simplify by assuming typical 8/16/32/64 host, since we're
69092         already doing that elsewhere anyway.
69093         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
69094         and assume long long int is 64 bits if available.  This
69095         speeds up 'configure'.
69096
69097 2006-07-01  Eric Blake  <ebb9@byu.net>
69098
69099         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
69100         Reported by Andreas Buening.
69101
69102 2006-07-01  Eric Blake  <ebb9@byu.net>
69103
69104         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
69105
69106 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
69107
69108         * lib/getaddrinfo.c: fixed typo
69109
69110 2006-06-29  Jim Meyering  <jim@meyering.net>
69111
69112         * modules/strftime (Maintainer): Add my name, since with the
69113         FPRINTFTIME changes strftime.c has forked from glibc.
69114
69115 2006-06-29  Eric Blake  <ebb9@byu.net>
69116
69117         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
69118
69119 2006-06-29  Eric Blake  <ebb9@byu.net>
69120
69121         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
69122
69123 2006-06-29  Eric Blake  <ebb9@byu.net>
69124
69125         * lib/stat_.h: New file.
69126
69127 2006-06-29  Eric Blake  <ebb9@byu.net>
69128
69129         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
69130         unused static function.
69131
69132 2006-06-29  Eric Blake  <ebb9@byu.net>
69133
69134         * doc/functions.texi (Function Portability): Document missing lstat
69135         on mingw.
69136
69137 2006-06-29  Eric Blake  <ebb9@byu.net>
69138
69139         * MODULES.html.sh: Add sys_stat.
69140         * modules/sys_stat: New module.
69141         * modules/mkstemp (Depends-on): Add sys_stat.
69142
69143 2006-06-29  Derek R. Price  <derek@ximbiot.com>
69144
69145         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
69146
69147 2006-06-29  Derek R. Price  <derek@ximbiot.com>
69148
69149         * m4/c-bs-a.m4: Removed.
69150
69151 2006-06-29  Derek R. Price  <derek@ximbiot.com>
69152
69153         * lib/strftime.c: Assume strftime() exists.
69154
69155 2006-06-29  Derek Price  <derek@ximbiot.com>
69156
69157         * modules/c-bs-a: Removed - \a is C89.
69158         * MODULES.html.sh: Remove c-bs-a.
69159
69160 2006-06-29  Bruno Haible  <bruno@clisp.org>
69161
69162         * modules/wcwidth (License): Change to LGPL.
69163
69164 2006-06-28  Simon Josefsson  <jas@extundo.com>
69165
69166         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
69167         on _WIN32.
69168
69169         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
69170         getnameinfo.
69171
69172 2006-06-28  Simon Josefsson  <jas@extundo.com>
69173
69174         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
69175
69176 2006-06-28  Simon Josefsson  <jas@extundo.com>
69177
69178         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
69179         functions there.  It will succeed on Windows XP, but on Windows
69180         2000 and (presumably) earlier, it will fail, and use the internal
69181         re-implementation.
69182         (use_win32_p): New function.
69183         (getaddrinfo): Use strtoul on servname, to support numeric ports.
69184         Support AI_NUMERICSERV to disable getservbyname.
69185         (getnameinfo): New function, only supports
69186         NI_NUMERICHOST|NI_NUMERICSERV for now.
69187
69188         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
69189         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
69190         getnameinfo.
69191
69192 2006-06-28  Eric Blake  <ebb9@byu.net>
69193
69194         * modules/wcwidth: New file.
69195         * modules/mbchar (Depends-on): Add wcwidth.
69196         * modules/mbswidth (Depends-on): Add wcwidth.
69197         * MODULES.html.sh: Add wcwidth.
69198
69199 2006-06-28  Eric Blake  <ebb9@byu.net>
69200
69201         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
69202         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
69203
69204 2006-06-28  Eric Blake  <ebb9@byu.net>
69205
69206         * lib/xvasprintf.h: Fix comments.
69207
69208 2006-06-28  Eric Blake  <ebb9@byu.net>
69209
69210         * lib/mbchar.h (wcwidth): Include wcwidth.h.
69211         * lib/mbswidth.c (wcwidth): Move from here...
69212         * lib/wcwidth.h: ...to this new file.
69213
69214 2006-06-28  Derek R. Price  <derek@ximbiot.com>
69215
69216         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
69217
69218         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
69219         it's obsolete.
69220         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
69221
69222 2006-06-28  Derek R. Price  <derek@ximbiot.com>
69223
69224         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
69225         Autoconf 2.60 says this stuff was obsolete.
69226
69227 2006-06-28  Bruno Haible  <bruno@clisp.org>
69228
69229         * modules/wcwidth (Files): Add m4/wchar_t.m4.
69230
69231 2006-06-28  Bruno Haible  <bruno@clisp.org>
69232
69233         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
69234         gt_TYPE_WCHAR_T.
69235
69236 2006-06-28  Bruno Haible  <bruno@clisp.org>
69237
69238         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
69239         declaration for wcwidth.
69240         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
69241
69242 2006-06-28  Bruno Haible  <bruno@clisp.org>
69243
69244         * lib/mkdtemp.c [MINGW]: Include <io.h>.
69245         (mkdir): Define using _mkdir.
69246
69247 2006-06-28  Bruno Haible  <bruno@clisp.org>
69248
69249         * lib/getaddrinfo.h: Fix POSIX URL.
69250         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
69251         _WIN32.
69252         (use_win32_p): Make static.
69253         (getaddrinfo): Reject service name if it is empty or does not consist
69254         solely of decimal digits, or if its value is > 65535.
69255         (getnameinfo): Remove useless casts.
69256
69257 2006-06-27  Simon Josefsson  <jas@extundo.com>
69258
69259         * modules/sys_select: New file, suggested by Bruno Haible, Paul
69260         Eggert and Martin Lambers.
69261
69262 2006-06-27  Simon Josefsson  <jas@extundo.com>
69263
69264         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
69265         Eggert and Martin Lambers.
69266
69267 2006-06-27  Bruno Haible  <bruno@clisp.org>
69268
69269         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
69270         result to 0, not to empty.
69271         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
69272
69273 2006-06-27  Bruno Haible  <bruno@clisp.org>
69274
69275         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
69276
69277 2006-06-26  Simon Josefsson  <jas@extundo.com>
69278
69279         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
69280         present.
69281
69282 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
69283
69284         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
69285         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
69286         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
69287
69288 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
69289
69290         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
69291
69292 2006-06-26  Bruno Haible  <bruno@clisp.org>
69293
69294         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
69295
69296 2006-06-26  Bruno Haible  <bruno@clisp.org>
69297
69298         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
69299
69300 2006-06-26  Bruno Haible  <bruno@clisp.org>
69301
69302         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
69303         SGI C compiler in pre-C99 mode.
69304         Suggested by Mark D. Baushke and Larry Jones.
69305
69306 2006-06-26  Bruno Haible  <bruno@clisp.org>
69307
69308         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
69309         WCHAR_MAX.
69310         Reported by Mark D. Baushke and Larry Jones.
69311
69312 2006-06-26  Bruno Haible  <bruno@clisp.org>
69313
69314         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
69315         in pre-C99 mode.
69316         Suggested by Mark D. Baushke and Larry Jones.
69317
69318 2006-06-23  Simon Josefsson  <jas@extundo.com>
69319             Bruno Haible  <bruno@clisp.org>
69320
69321         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
69322         Emit mostlyclean-local rule.
69323         (func_emit_tests_Makefile_am): Likewise.
69324         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
69325
69326 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
69327
69328         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
69329
69330 2006-06-23  Bruno Haible  <bruno@clisp.org>
69331
69332         * tests/test-stdint.c: Update to match ISO C 99 Technical
69333         Corrigendum 1.
69334
69335 2006-06-23  Bruno Haible  <bruno@clisp.org>
69336
69337         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
69338
69339 2006-06-23  Bruno Haible  <bruno@clisp.org>
69340
69341         * lib/stdint_.h: Treat IRIX like OpenBSD.
69342
69343 2006-06-23  Bruno Haible  <bruno@clisp.org>
69344
69345         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
69346         ISO C 99 Technical Corrigendum 1.
69347
69348 2006-06-22  Simon Josefsson  <jas@extundo.com>
69349
69350         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
69351         MinGW.
69352
69353 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69354
69355         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
69356         needed.  Some compiler complained about some of them.  Problem reported
69357         by Larry Jones in
69358         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
69359
69360 2006-06-21  Simon Josefsson  <jas@extundo.com>
69361
69362         * tests/test-getaddrinfo.c: New file.
69363
69364         * modules/getaddrinfo-tests: New file.
69365
69366         * MODULES.html.sh: Add inet_pton.
69367
69368         * modules/inet_pton: New file.
69369
69370 2006-06-21  Simon Josefsson  <jas@extundo.com>
69371
69372         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
69373         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
69374         of using the (limited) gnulib implementation on Windows XP.
69375
69376         * m4/inet_pton.m4: New file.
69377
69378 2006-06-21  Simon Josefsson  <jas@extundo.com>
69379
69380         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
69381         variable.
69382
69383         * lib/socket_.h: Don't define WINVER.
69384
69385         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
69386         slightly modified to work in gnulib.
69387
69388 2006-06-21  Simon Josefsson  <jas@extundo.com>
69389
69390         * doc/gnulib.texi (Windows sockets): Add.
69391
69392 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
69393
69394         * lib/read-file.c (fread_file): Start with buffer allocation of
69395         0 bytes rather than 1 byte; this simplifies the code.
69396         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
69397         code to free buffer and save/restore errno.
69398         (internal_read_file): Remove unused local.
69399
69400 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
69401
69402         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
69403         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
69404         Problem reported by Denis Excoffier in
69405         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
69406
69407 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69408
69409         * modules/sys_socket, modules/socklen: Include sys/types since
69410         FreeBSD 4.x's sys/socket.h needs it.
69411
69412 2006-06-19  Simon Josefsson  <jas@extundo.com>
69413
69414         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
69415
69416 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
69417
69418         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
69419
69420 2006-06-19  Bruno Haible  <bruno@clisp.org>
69421
69422         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
69423         and FULL_PATH_INTTYPES_H in angle brackets.
69424         Reported by Mark D. Baushke <mdb@gnu.org>.
69425
69426 2006-06-17  Eric Blake  <ebb9@byu.net>
69427
69428         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
69429         errno.
69430
69431 2006-06-17  Bruno Haible  <bruno@clisp.org>
69432
69433         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
69434         <sys/inttypes.h>.
69435
69436 2006-06-17  Bruno Haible  <bruno@clisp.org>
69437
69438         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
69439         whether errno is declared. Assume <errno.h> declares errno.
69440
69441 2006-06-17  Bruno Haible  <bruno@clisp.org>
69442
69443         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
69444
69445 2006-06-17  Bruno Haible  <bruno@clisp.org>
69446
69447         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
69448         problem on Solaris 2.5.1.
69449
69450 2006-06-16  Eric Blake  <ebb9@byu.net>
69451
69452         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
69453         * lib/unicodeio.c [!defined errno]: Likewise.
69454         * lib/strtol.c [!defined errno]: Likewise.
69455         * lib/strtod.c [!defined errno]: Likewise.
69456
69457 2006-06-15  Eric Blake  <ebb9@byu.net>
69458
69459         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
69460
69461 2006-06-15  Eric Blake  <ebb9@byu.net>
69462
69463         * config/srclist.txt (ssize_t.m4): Lose sync.
69464
69465 2006-06-15  Bruno Haible  <bruno@clisp.org>
69466
69467         * modules/stdint (Files): Include m4/full-header-path.m4,
69468         m4/size_max.m4, m4/wchar_t.m4.
69469         (Makefile.am): Many more substitutions.
69470         * modules/stdint-tests: New file.
69471         * tests/test-stdint.c: New file.
69472
69473 2006-06-15  Bruno Haible  <bruno@clisp.org>
69474
69475         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
69476         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
69477         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
69478         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
69479         gl_CHECK_TYPE_SAME): New macros.
69480
69481 2006-06-15  Bruno Haible  <bruno@clisp.org>
69482
69483         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
69484
69485 2006-06-15  Bruno Haible  <bruno@clisp.org>
69486
69487         * lib/stdint_.h: Rewritten to be fully auto-configured.
69488         Fixes bug on HP-UX/IA64.
69489
69490 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
69491
69492         * lib/getdate.y (__attribute__): Don't define if already defined.
69493         Problem reported by Larry Jones.
69494         * lib/utimens.c (__attribute__): Likewise.
69495
69496 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
69497
69498         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
69499         reported by Andreas Schwab.
69500
69501 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69502             Bruno Haible  <bruno@clisp.org>
69503
69504         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
69505         check for the declaration of strnlen and a run test that exposes the
69506         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
69507         rpl_strndup.
69508
69509 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69510             Bruno Haible  <bruno@clisp.org>
69511
69512         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
69513
69514 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69515
69516         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
69517         compile test, for Tru64 4.0D.
69518
69519 2006-05-28  Karl Berry  <karl@gnu.org>
69520
69521         * config/srclist.txt (printf-args.c): lose sync.
69522
69523 2006-05-26  Martin Lambers  <marlam@marlam.de>
69524
69525         * lib/getpass.c: Updates the test for the native W32 API, and adds
69526         missing includes, thus fixing compilation warnings.
69527
69528 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
69529
69530         * lib/exclude.c (exclude_fnmatch): New function.
69531         (excluded_file_name): Call exclude_fnmatch.
69532         * lib/exclude.h (excluded_file_name): New prototype
69533
69534 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
69535
69536         * lib/tempname.c (small_open, large_open): New macros.
69537         (__open, __open64) [!_LIBC]: Remove.
69538         (__gen_tempname): Use small_open and large_open instead of __open
69539         and __open64.  This fixes a portability bug on HP-UX 11.11i
69540         reported by Simon Wing-Tang in
69541         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
69542
69543 2006-05-24  Bruno Haible  <bruno@clisp.org>
69544
69545         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
69546         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
69547         Reported by Thorsten Maerz <torte@netztorte.de> via
69548         Aaron Stone <aaron@serendipity.cx>.
69549
69550 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
69551
69552         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
69553         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
69554         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
69555         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
69556         not really conditional on the cache.
69557         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
69558
69559 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
69560
69561         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
69562         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
69563         (my_usleep): Don't mishandle maximum value.
69564
69565 2006-05-19  Jim Meyering  <jim@meyering.net>
69566
69567         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
69568
69569 2006-05-17  Bruno Haible  <bruno@clisp.org>
69570
69571         Cygwin portability.
69572         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
69573
69574 2006-05-17  Bruno Haible  <bruno@clisp.org>
69575
69576         * lib/stdint_.h: Fix recognition of Cygwin.
69577
69578 2006-05-15  Bruno Haible  <bruno@clisp.org>
69579
69580         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
69581         on libtool patch by Ralf Wildenhues.
69582
69583 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
69584
69585         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
69586         test for C99 conformance; (bool) 0.5 is an integer constant
69587         expression, but (bool) -0.5 is not.  Problem reported by Fedor
69588         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
69589
69590 2006-05-11  Simon Josefsson  <jas@extundo.com>
69591
69592         * m4/xvasprintf.m4: Fix obvious typo.
69593
69594 2006-05-11  Jim Meyering  <jim@meyering.net>
69595
69596         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
69597         James Lemley.
69598
69599 2006-05-10  Simon Josefsson  <jas@extundo.com>
69600
69601         * lib/md4.c: Typo fix, update copyright years.
69602         (K1, K2): Don't use L because it turn computations into 64-bit on
69603         64-bit platforms.
69604
69605 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
69606
69607         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
69608         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
69609         unwanted sign propagation, e.g., on hosts with 64-bit int.
69610         There still are some problems with reeelly weird theoretical hosts
69611         (e.g., 33-bit int) but it's not worth worrying about now.
69612         * lib/sha1.c (rol): Likewise.
69613         (K1, K2, K3, K4): Remove unnecessary L suffix.
69614
69615 2006-05-10  Bruno Haible  <bruno@clisp.org>
69616
69617         * lib/des.c: Cast to avoid warnings.
69618
69619 2006-05-09  Bruno Haible  <bruno@clisp.org>
69620
69621         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
69622         (Depends-on): Depend also on xsize, stdarg.
69623         (configure.ac): Add gl_XVASPRINTF.
69624
69625 2006-05-09  Bruno Haible  <bruno@clisp.org>
69626
69627         * m4/xvasprintf.m4: New file.
69628
69629 2006-05-09  Bruno Haible  <bruno@clisp.org>
69630
69631         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
69632         (EOVERFLOW): Define fallback value.
69633         (xstrcat): New function.
69634         (xvasprintf): Recognize the special case of a string concatenation.
69635
69636 2006-05-08  Eric Blake  <ebb9@byu.net>
69637
69638         * gnulib-tool (func_version): Base copyright year on CVS date.
69639         (func_emit_copyright_notice): New function.
69640         (func_emit_lib_Makefile_am): Use it.
69641         (func_emit_tests_Makefile_am): Likewise.
69642         (func_import): Likewise.
69643
69644 2006-05-08  Bruno Haible  <bruno@clisp.org>
69645
69646         * modules/stdarg: New file.
69647         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
69648
69649 2006-05-08  Bruno Haible  <bruno@clisp.org>
69650
69651         * m4/stdarg.m4: New file, from GNU gettext.
69652
69653 2006-05-08  Bruno Haible  <bruno@clisp.org>
69654
69655         * config/srclist.txt (build-aux/config.rpath): different from latest
69656         release.
69657
69658 2006-05-08  Bruno Haible  <bruno@clisp.org>
69659
69660         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
69661
69662 2006-05-05  Jim Meyering  <jim@meyering.net>
69663
69664         * m4/warning.m4: New file, derived from bison's file by the same name.
69665
69666 2006-05-03  Bruno Haible  <bruno@clisp.org>
69667
69668         * lib/stdint_.h: Shorter URL.
69669         * lib/inttypes.h: Likewise.
69670
69671 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69672
69673         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
69674
69675 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69676
69677         * lib/verify.h: Document the internals better.  Most of this change
69678         was written by Bruno Haible.
69679
69680 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69681
69682         * doc/verify.texi: New file, partly based on a proposal by
69683         Bruno Haible.
69684
69685 2006-05-02  Bruno Haible  <bruno@clisp.org>
69686
69687         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
69688         test from here...
69689         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
69690
69691 2006-04-29  Bruno Haible  <bruno@clisp.org>
69692
69693         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
69694         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
69695
69696 2006-04-29  Bruno Haible  <bruno@clisp.org>
69697
69698         * gnulib-tool: Make --update option actually work.
69699
69700 2006-04-29  Bruno Haible  <bruno@clisp.org>
69701
69702         * doc/gcd.texi: New file.
69703         * doc/gnulib.texi: Include it.
69704
69705 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
69706
69707         * lib/getdate.y (get_date): When adding relative date, start with the
69708         initial time, not with the result of the first mktime call.
69709
69710 2006-04-25  Bruno Haible  <bruno@clisp.org>
69711
69712         * gnulib-tool (func_import): Output the include directives in three
69713         blocks, sorted separately.
69714         Reported by Ben Pfaff <blp@cs.stanford.edu>.
69715
69716 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
69717
69718         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
69719         to define main with arguments, for C++.  Reported by Eric Blake.
69720         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
69721         Prefer 'int main ()' to 'int main (void)', for C++.
69722         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
69723         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
69724         for 'main', for C99 and C++.
69725
69726 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
69727
69728         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
69729         Don't assume that exit status -1 is valid.
69730         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
69731         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
69732         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
69733         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
69734         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
69735         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
69736         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
69737         functions can be used without declaring them, or that you can
69738         exit with status -1.
69739         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
69740
69741 2006-04-24  Karl Berry  <karl@gnu.org>
69742
69743         * config/srclist.txt (longdouble.m4): sync lost.
69744
69745 2006-04-24  Eric Blake  <ebb9@byu.net>
69746
69747         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
69748
69749 2006-04-24  Bruno Haible  <bruno@clisp.org>
69750
69751         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
69752         poll() implementation in AIX.
69753         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69754
69755 2006-04-24  Bruno Haible  <bruno@clisp.org>
69756
69757         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
69758         assigned exactly once.
69759
69760 2006-04-23  Claudio Fontana  <claudio@gnu.org>
69761             Bruno Haible  <bruno@clisp.org>
69762
69763         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
69764         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
69765         for AM_CPPFLAGS.
69766
69767 2006-04-23  Bruno Haible  <bruno@clisp.org>
69768
69769         * modules/copy-file: Depend on unistd.
69770         * modules/execute: Likewise.
69771         * modules/fatal-signal: Likewise.
69772         * modules/findprog: Likewise.
69773         * modules/mkdtemp : Likewise.
69774         * modules/pipe: Likewise.
69775         * modules/wait-process: Likewise.
69776
69777 2006-04-23  Bruno Haible  <bruno@clisp.org>
69778
69779         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
69780         condition was already detected.
69781         Reported by Ben Pfaff <blp@cs.stanford.edu>.
69782
69783 2006-04-23  Bruno Haible  <bruno@clisp.org>
69784
69785         * lib/copy-file.c: Include <unistd.h> unconditionally.
69786         * lib/execute.c: Likewise.
69787         * lib/fatal-signal.c: Likewise.
69788         * lib/findprog.c: Likewise.
69789         * lib/mkdtemp.c: Likewise.
69790         * lib/pipe.h: Likewise.
69791         * lib/pipe.c: Likewise.
69792         * lib/wait-process.h: Likewise.
69793
69794 2006-04-23  Bruno Haible  <bruno@clisp.org>
69795
69796         * gnulib-tool (func_usage): Fix --import description. Document
69797         --update.
69798         (func_import): Create temporary file in a temporary directory, if
69799         --dry-run is specified. Silence errors from 'grep' when there are no
69800         m4 files in $m4dir.
69801         (func_create_testdir): Silence errors from 'grep' when there are no
69802         m4 files in $m4dir.
69803         Reported by Karl Berry <karl@freefriends.org>.
69804
69805 2006-04-20  Bruno Haible  <bruno@clisp.org>
69806
69807         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
69808         one argument, so that the code will be portable to Autoconf 2.60.
69809         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
69810         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
69811         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
69812
69813 2006-04-19  Derek Price  <derek@ximbiot.com>
69814             Eric Blake  <ebb9@byu.net>
69815
69816         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
69817         rather than "/full/path.h".  Update comment to match.  Shorten &
69818         generalize m4_translit call via AS_TR_CPP.
69819
69820 2006-04-19  Derek Price  <derek@ximbiot.com>
69821             Eric Blake  <ebb9@byu.net>
69822
69823         * lib/inttypes.h: Correct grammar in comment.
69824
69825 2006-04-18  Derek Price  <derek@ximbiot.com>
69826             Paul Eggert  <eggert@cs.ucla.edu>
69827
69828         * modules/inttypes: New file.
69829         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
69830
69831 2006-04-18  Derek Price  <derek@ximbiot.com>
69832             Paul Eggert  <eggert@cs.ucla.edu>
69833
69834         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
69835         New files.
69836
69837 2006-04-18  Derek Price  <derek@ximbiot.com>
69838             Paul Eggert  <eggert@cs.ucla.edu>
69839
69840         * lib/inttypes.h: New file.
69841         * lib/strtoimax.c: Assume <inttypes.h>.
69842
69843 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
69844
69845         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
69846         isn't mounted.  Problem reported by Kir Kolyshkin.
69847
69848 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
69849
69850         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
69851         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
69852         Derek R. Price.
69853         * lib/regex.h (RE_DUP_MAX): Update comment to match current
69854         implementation.
69855
69856 2006-04-12  Eric Blake  <ebb9@byu.net>
69857
69858         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
69859         is now done automatically by the corresponding Autoconf macro.
69860
69861 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
69862
69863         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
69864         time_r.h.
69865
69866 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
69867
69868         Merge regex changes from libc, removing some of our
69869         POSIX-conformance changes that were rejected and redoing them in a
69870         less-intrusive way.
69871
69872         * lib/regcomp.c (re_compile_internal, init_dfa):
69873         Length arg is now size_t, not Idx.  All uses changed.
69874         (peek_token): Forward decl now says internal_function.
69875         (__re_error_msgid, __re_error_msgid_idx):
69876         Now static rather than extern with attribute_hidden.
69877         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
69878         For some reason libc prefers K&R style defns for external functions.
69879         (regerror) [!defined _LIBC]: Likewise.
69880         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
69881         (seek_collating_symbol_entry, lookup_collation_sequence_value):
69882         (build_range_exp, build_collating_symbol):
69883         Use K&R-style defn.
69884         (re_compile_fastmap): Use '\0' to memset, not 0.
69885         (utf8_sb_map): Make the calculations more obvious.
69886         (init_dfa, parse_bracket_exp, build_charclass_op):
69887         Call calloc and cast result, as glibc does.
69888         (init_word_char, fetch_token, peek_token, peek_token_bracket):
69889         (build_range_exp, build_collating_symbol):
69890         Now internal functions.
69891
69892         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
69893
69894         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
69895         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
69896         Don't depend on VMS; depend on __VMS instead, for POSIX
69897         namespace cleanness.
69898         (regoff_t): Define to ssize_t, not long int.
69899
69900         Remove the REG_ macros named below.  Instead, make the old names
69901         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
69902         __USE_GNU_REGEX.
69903         (REG_BACKSLASH_ESCAPE_IN_LISTS):
69904         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
69905         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
69906         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
69907         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
69908         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
69909         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
69910         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
69911         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
69912         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
69913         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
69914         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
69915         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
69916         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
69917         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
69918         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
69919         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
69920         (REG_NREGS):
69921         Remove.  All uses replaced by the old RE_* names.
69922         (RE_BACKSLASH_ESCAPE_IN_LISTS):
69923         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
69924         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
69925         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
69926         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
69927         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
69928         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
69929         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
69930         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
69931         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
69932         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
69933         Don't bother having these macros be independent of each others'
69934         values, since they no longer exist in the POSIX name space.
69935
69936         Rename the following member names back to their old names,
69937         unless !__USE_GNU_REGEX.  All uses changed back.
69938         (buffer): Renamed from re_buffer.
69939         (allocated): Renamed from re_allocated.
69940         (used): Renamed from re_used.
69941         (syntax): Renamed from re_syntax.
69942         (fastmap): Renamed from re_fastmap.
69943         (translate): Renamed from re_translate.
69944         (can_be_null): Renamed from re_can_be_null.
69945         (regs_allocated): Renamed from re_regs_allocated.
69946         (fastmap_accurate): Renamed from re_fastmap_accurate.
69947         (no_sub): Renamed from re_no_sub.
69948         (not_bol): Renamed from re_not_bol.
69949         (not_eol): Renamed from re_not_eol.
69950         (newline_anchor): Renamed from re_newline_anchor.
69951         (num_regs): Renamed from rm_num_regs.
69952         (start): Renamed from rm_start.
69953         (end): Renamed from rm_end.
69954
69955         (free_state): Move up a bit.
69956
69957         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
69958         #define to be empty.
69959         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
69960         when that is what is intended.
69961         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
69962         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
69963         (MAX): New macro.
69964         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
69965         All uses changed back to re_malloc, etc.  It's now the caller's
69966         responsibility to check for overflow; all callers changed.
69967         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
69968         (re_x2nrealloc): Remove.
69969         (free_state): Remove decl.
69970
69971         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
69972         (re_set_registers, re_exec):
69973         Use K&R-style defn.
69974
69975         2006-01-31  Roland McGrath  <roland@redhat.com>
69976
69977         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
69978         Reported by Mike Frysinger <vapier@gentoo.org>.
69979
69980         2006-01-15  Andreas Jaeger  <aj@suse.de>
69981
69982         [BZ #1950]
69983         * lib/regex_internal.c (re_string_reconstruct): Adjust for
69984         build_wcs_upper_buffer change.
69985         (build_wcs_upper_buffer): Change return type.
69986
69987         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
69988
69989         * lib/regex_internal.h: Include <stdint.h> if available.
69990
69991         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
69992
69993         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
69994
69995         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
69996
69997         * lib/regcomp.c: Adjust for changed secondary hash function.
69998
69999         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
70000
70001         * lib/regex.h: Pretty printing.
70002         Clean up namespace a bit.
70003
70004         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
70005
70006         * lib/regexec.c (update_cur_sifted_state, check_arrival,
70007         check_arrival_add_next_nodes): Avoid using uninitialized variable.
70008
70009         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
70010                     Ulrich Drepper  <drepper@redhat.com>
70011
70012         [BZ #1302]
70013         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
70014         changed.
70015         (bitset_word_t): Renamed from bitset_word.  All uses changed.
70016
70017         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
70018
70019         [BZ #281]
70020         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
70021         * lib/regcomp.c: Remove unnecessary uses of
70022         unsigned RE_TRANSLATE_TYPE.
70023         * lib/regex_internal.h: Likewise.
70024         * lib/regex_internal.c: Likewise.
70025         * lib/regexec.c: Likewise.
70026         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
70027
70028         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
70029
70030         * lib/regexec.c (find_recover_state): Remove unnecessary
70031         initialization.
70032         (transit_state_bkref): Make DFA a const pointer.
70033         (get_subexp): Likewise.
70034         (check_arrival): Likewise.
70035         (update_cur_sifted_state): Likewise.
70036         (re_search_internal): Likewise.
70037         (prune_impossible_nodes): Likewise.
70038         (acquire_init_state_context): Likewise.
70039         (proceed_next_node): Likewise.
70040         (set_regs): Likewise.
70041         (free_fail_stack_return): Likewise.
70042         (check_arrival_expand_ecl): Mark DFA parameter as const.
70043         (check_arrival_expand_ecl_sub): Likewise.
70044         (check_subexp_limits): Likewise.
70045         (sub_epsilon_src_nodes):  Likewise.
70046         (add_epsilon_src_nodes):  Likewise.
70047         (merge_state_array): Likewise.
70048         (update_regs): Likewise.
70049         (build_trtable): Likewise.
70050         (sift_states_backward): Mark MCTX parameter as const.
70051         (build_sifted_states): Likewise.
70052         (update_cur_sifted_state): Likewise.
70053         (sift_states_mkref): Likewise.
70054         (check_arrival_expand_ecl): Mark eclosure as const.
70055         (check_dst_limits_calc_pos_1): Likewise.
70056         * lib/regex_internal.h (re_match_context_t): Make dfa a const
70057         pointer.
70058
70059         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
70060
70061         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
70062         (transit_state_sb): Likewise.
70063         (transit_state_mb): Likewise.
70064         (sift_states_iter_mb): Likewise.
70065         (check_arrival_add_next_nodes): Likewise.
70066         (check_node_accept_bytes): Change first parameter to pointer-to-const.
70067         [_LIBC] (re_search_2_stub): Use mempcpy.
70068
70069         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
70070         mbrtowc for very simple UTF-8 case.
70071
70072         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
70073         a pointer-to-const.
70074         (re_acquire_state_context): Likewise.
70075         * lib/regex_internal.h: Adjust prototypes.
70076
70077         * lib/regex.c: Prevent using C++ compilers.
70078
70079         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
70080         (re_acquire_state_context): Likewise.
70081
70082 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
70083
70084         * modules/regex (Depends-on): Add ssize_t.
70085
70086 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
70087
70088         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
70089         translation table.
70090
70091 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
70092
70093         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
70094
70095 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
70096             Bruno Haible  <bruno@clisp.org>
70097
70098         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
70099         <sys/types.h> and <inttypes.h>.
70100
70101 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70102
70103         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
70104         `__error_t_defined', so argp.h will not typedef the former.
70105
70106 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
70107
70108         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
70109         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
70110         glibc names.  Even if glibc is changed to conform to POSIX, the
70111         traditional names will be available anyway, since regex depends on
70112         the extensions module.  Also, fix a longstanding typo in the
70113         implementation of Spencer ERE test #75 from grep 2.3.  Problems
70114         reported by Emanuele Giaquinta.  Also, change sense of cached
70115         variable, so that the message makes sense.
70116
70117 2006-03-24  Simon Josefsson  <jas@extundo.com>
70118
70119         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
70120         including some doc fixes.
70121         (base64_encode_alloc): Fix +1 bug on allocation failures.
70122
70123 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70124
70125         * lib/base64.c (base64_encode): Do not read past end of array with
70126         unsanitized input on systems with CHAR_BIT > 8.
70127
70128 2006-03-24  Eric Blake  <ebb9@byu.net>
70129
70130         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
70131
70132 2006-03-22  Karl Berry  <karl@gnu.org>
70133
70134         * config/srclist.txt (*setenv.[ch]): get from coreutils.
70135         * config/srclistvars.sh (COREUTILS): new var.
70136
70137 2006-03-17  Jim Meyering  <jim@meyering.net>
70138
70139         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
70140         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
70141
70142 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
70143
70144         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
70145         no longer needs it.  Instead, check that regoff_t is as least
70146         as wide as ptrdiff_t.
70147
70148         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
70149         so that our regex.h stays compatible with the installed regex.
70150         This is helpful for installers who configure --without-included-regex.
70151         Problem reported by Emanuele Giaquinta.
70152
70153 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
70154
70155         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
70156         Typedef to long int, not to off_, as POSIX will likely change
70157         in that direction.
70158
70159 2006-03-15  Eric Blake  <ebb9@byu.net>
70160
70161         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
70162
70163 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
70164
70165         * lib/argp-help.c (validate_uparams): Fix typo
70166         * lib/argp-parse.c (argp_default_options): Consistently begin help
70167         messages with a lowercase letter.
70168
70169 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
70170
70171         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
70172         overrun buffers and shouldn't be used (much as gets shouldn't be
70173         used).
70174         * lib/time_r.c (asctime_r, ctime_r): Likewise.
70175
70176 2006-03-08  Simon Josefsson  <jas@extundo.com>
70177
70178         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
70179         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70180
70181 2006-03-08  Simon Josefsson  <jas@extundo.com>
70182
70183         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
70184         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70185
70186 2006-03-08  Simon Josefsson  <jas@extundo.com>
70187
70188         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
70189         signal that configure disabled the device.
70190
70191 2006-03-08  Simon Josefsson  <jas@extundo.com>
70192
70193         * build-aux/maint.mk: Fix refresh-po, to handle no translated
70194         languages.
70195
70196 2006-03-07  Simon Josefsson  <jas@extundo.com>
70197
70198         * modules/getopt (Depends-on): Add unistd.
70199
70200         * modules/unistd: New file.
70201
70202 2006-03-07  Simon Josefsson  <jas@extundo.com>
70203
70204         * modules/gc-random: New file.
70205
70206 2006-03-07  Simon Josefsson  <jas@extundo.com>
70207
70208         * m4/unistd_h.m4: New file.
70209
70210 2006-03-07  Simon Josefsson  <jas@extundo.com>
70211
70212         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
70213         test to be side-effect free by storing the result in the cache
70214         variable gl_cv_lib_readline, and moving the assignment of
70215         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
70216         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70217
70218 2006-03-07  Simon Josefsson  <jas@extundo.com>
70219
70220         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
70221         error on missing devices (the functions will return an error).
70222
70223         * m4/gc.m4: Move random stuff to gc-random.m4
70224
70225 2006-03-07  Simon Josefsson  <jas@extundo.com>
70226
70227         * lib/unistd_.h: New file.
70228
70229 2006-03-07  Simon Josefsson  <jas@extundo.com>
70230
70231         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
70232
70233 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
70234
70235         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
70236         Problem reported by Juan Manuel Guerrero.
70237
70238 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
70239
70240         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
70241         the unistd module.
70242         * lib/getlogin_r.c: Likewise.
70243         * lib/getlogin_r.h: Likewise.
70244         * lib/glob.c: Likewise.
70245         * lib/pagealign_alloc.c: Likewise.
70246         * lib/unistd_.h: Remove; no longer needed.
70247
70248 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
70249
70250         * MODULES.html.sh (Support for systems lacking POSIX:2001):
70251         Add unistd.
70252         * modules/c-stack (Depends-on): Add unistd.
70253         * modules/getlogin_r: Likewise.
70254         * modules/glob: Likewise.
70255         * modules/pagealign_alloc: Likewise.
70256         * modules/unistd (Files): Remove lib/unistd_.h.
70257         (EXTRA_DIST): Remove.
70258         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
70259         need unistd_.h.
70260         (MOSTLYCLEANFILES): Remove unistd.h-t.
70261
70262 2006-03-03  Simon Josefsson  <jas@extundo.com>
70263
70264         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
70265
70266 2006-03-03  Simon Josefsson  <jas@extundo.com>
70267
70268         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
70269         libidn and bison.
70270
70271 2006-03-03  Simon Josefsson  <jas@extundo.com>
70272
70273         * build-aux/maint.mk: Add indent target.
70274
70275 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
70276
70277         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
70278         our replacement poll.h in any case, to avoid a differing
70279         declaration from a system header.  Seen on AIX.
70280
70281 2006-03-01  Simon Josefsson  <jas@extundo.com>
70282
70283         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
70284         <kasal@ucw.cz>.
70285
70286 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
70287
70288         * modules/gettime (Depends-on): Add extensions module.
70289         * modules/nanosleep (Depends-on): Likewise.
70290         * modules/settime (Depends-on): Likewise.
70291
70292 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
70293
70294         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
70295         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
70296         pedantically.
70297         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
70298         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
70299
70300         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
70301         not "==".  Reported by Ralf Wildenhues.
70302
70303 2006-03-01  Karl Berry  <karl@gnu.org>
70304
70305         * doc/Copyright/request-*: new files, synced from gnuorg.
70306
70307 2006-03-01  Karl Berry  <karl@gnu.org>
70308
70309         * config/srclist.txt (Copyright/*): new entries.
70310
70311 2006-02-28  Simon Josefsson  <jas@extundo.com>
70312
70313         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
70314
70315 2006-02-27  Simon Josefsson  <jas@extundo.com>
70316
70317         * lib/base64.h: Indent #define's.  From Jim Meyering
70318         <jim@meyering.net>.
70319
70320 2006-02-27  Jim Meyering  <jim@meyering.net>
70321
70322         Revert the change of 2006-02-24, so these files can continue
70323         to be sync'd from gettext.
70324         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
70325         of `config.h'.
70326
70327 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
70328
70329         * modules/intprops: New file.
70330         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
70331         Add intprops.
70332         * modules/getloadavg (Files): Remove lib/intprops.h.
70333         (Depends-on): Add intprops.
70334         * modules/human: Likewise.
70335         * modules/inttostr: Likewise.
70336         * modules/openat: Likewise.
70337         * modules/sig2str: Likewise.
70338         * modules/userspec: Likewise.
70339         * modules/utimecmp: Likewise.
70340         * modules/xnanosleep: Likewise.
70341         * modules/xstrtol: Likewise.
70342
70343 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
70344
70345         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
70346         * modules/lock-tests (TESTS): Use $(EXEEXT).
70347         * modules/tls-tests: Likewise.
70348         * modules/argp-tests: Likewise.
70349         (check_PROGRAMS): New var, replacing...
70350         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
70351
70352 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70353
70354         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
70355         `config.h'.
70356
70357 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
70358
70359         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
70360
70361 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70362
70363         Sync from coreutils.
70364         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
70365         gl_CHDIR_SAFER.
70366
70367 2006-02-22  Jim Meyering  <jim@meyering.net>
70368
70369         Sync from coreutils.
70370         * m4/chdir-safer.m4: New file.
70371
70372 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
70373
70374         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
70375         AT_FDCWD exceeds INT_MAX.
70376         * lib/openat.h (AT_FDCWD): Likewise.
70377
70378 2006-02-17  Eric Blake  <address@hidden>
70379
70380         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
70381
70382 2006-02-16  Simon Josefsson  <jas@extundo.com>
70383
70384         * modules/getaddrinfo (Depends-on): Add sys_socket.
70385
70386 2006-02-15  Simon Josefsson  <jas@extundo.com>
70387
70388         * build-aux/maint.mk: Add dsyntax-check rule.
70389
70390 2006-02-15  Eric Blake  <ebb9@byu.net>
70391
70392         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
70393         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
70394         'present but cannot compile' warnings on cygwin.
70395         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
70396         use ws2tcpip.h if sys/socket.h works.
70397         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
70398         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
70399
70400 2006-02-14  Simon Josefsson  <jas@extundo.com>
70401
70402         * modules/maintainer-makefile (Files): Rename.
70403
70404         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
70405         and (the local) Makefile.cfg to maint-cfg.mk.
70406
70407         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
70408         to the latter.
70409
70410         * modules/maintainer-makefile: New module.
70411
70412         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
70413         severaly stripped to make it possible to build it up from scratch
70414         with reliable tests.
70415
70416         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
70417         fixes to permit overriding the default actions when configure and
70418         makefile are not available.
70419
70420 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
70421
70422         Sync from coreutils.
70423         * modules/lstat (Depends-on): Don't depend on xalloc.
70424         (License): Change from GPL to LGPL, since this is now simply a
70425         replacement for a libc function.
70426
70427 2006-02-14  Jim Meyering  <jim@meyering.net>
70428
70429         Sync from coreutils.
70430
70431         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
70432         failure on deficient systems, and simplify gnulib lgpl dependencies.
70433         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
70434         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
70435
70436         * lib/xalloc-die.c: Remove unused definition of N_.
70437
70438 2006-02-14  Jim Meyering  <jim@meyering.net>
70439
70440         Sync from coreutils.
70441         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
70442         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
70443         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
70444         double-quote uses of that variable, to accommodate the rare case in
70445         which getmntent is available in none of the libraries checked.  This
70446         happens at least on FreeBSD 5.0.
70447
70448 2006-02-13  Simon Josefsson  <jas@extundo.com>
70449
70450         * gnulib-tool (Usage): Fix --import, from
70451         karl@freefriends.org (Karl Berry).
70452
70453 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
70454
70455         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
70456
70457 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
70458
70459         * lib/argp-namefrob.h: Restore changes accidentally lost during the
70460         "autoupdate" on 2005-12-12.
70461
70462 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
70463
70464         * modules/closeout (Depends-on): Remove atexit.
70465
70466 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
70467
70468         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
70469         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
70470
70471 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
70472
70473         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
70474         __EXTENSIONS__ if this causes compilation to fail.  Problem
70475         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
70476         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
70477
70478 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
70479
70480         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
70481         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
70482         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
70483         All uses changed.
70484
70485 2006-01-26  Simon Josefsson  <jas@extundo.com>
70486
70487         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
70488         prototype is visible on mingw32.
70489
70490         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
70491         for mingw32.
70492
70493         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
70494         mingw32).
70495
70496 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
70497
70498         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
70499         attempt to open for write; this always fails, at least on POSIX
70500         hosts.  This reinstates the 2006-01-09 change, which was
70501         inadvertently removed.
70502
70503 2006-01-26  Bruno Haible  <bruno@clisp.org>
70504
70505         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
70506         Reported by Paul Eggert.
70507
70508 2006-01-26  Bruno Haible  <bruno@clisp.org>
70509             Paul Eggert  <eggert@cs.ucla.edu>
70510
70511         * lib/stdbool_.h (_Bool)
70512         [(! (defined __cplusplus || defined __BEOS__)
70513           && !defined __GNUC__
70514           && !(defined __HP_cc || defined __xlc__
70515                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
70516                || defined __sgi))]:
70517         #define to signed char in these cases too; this simplifies
70518         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
70519         etc., separately) and makes it more conservative.
70520
70521 2006-01-25  Simon Josefsson  <jas@extundo.com>
70522
70523         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
70524         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
70525         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
70526
70527 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
70528
70529         * lib/argp-namefrob.h: Bugfix. Remove stray #
70530
70531 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
70532
70533         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
70534         so that we test the test.
70535         Check for yet another HP-UX cc bug involving *bool |= bool.
70536
70537 2006-01-25  Karl Berry  <karl@gnu.org>
70538
70539         * config/srclist.txt (vasnprintf.c): sync lost.
70540
70541 2006-01-25  Jim Meyering  <jim@meyering.net>
70542
70543         Sync from the stable (b5) branch of coreutils:
70544
70545         * lib/fts.c (fts_children): Don't let close() clobber errno from
70546         failed fchdir().
70547
70548         * lib/fts.c (fts_stat): When following a symlink-to-directory,
70549         don't necessarily interpret stat-fails+lstat-succeeds as indicating
70550         a dangling symlink.  That can also happen at least for ELOOP.
70551         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
70552         FYI, this bug predates the inclusion of fts.c in coreutils.
70553
70554         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
70555         in their own block, so pre-c99 compilers don't object.
70556
70557         Avoid the double-free (first in fts_read, second in fts_close) that
70558         would occur when an `active' directory is made inaccessible (e.g.,
70559         via chmod a-x) during a traversal.
70560         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
70561         before returning.  Reproduce this failure by
70562         mkdir -p a/b; cd a; chmod a-x . b
70563         Reported by Stavros Passas.
70564
70565 2006-01-25  Jim Meyering  <jim@meyering.net>
70566
70567         * lib/fileblocks.c: Remove more useless parentheses.
70568         * lib/readutmp.h: Likewise.
70569
70570 2006-01-25  Bruno Haible  <bruno@clisp.org>
70571
70572         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
70573         warnings.
70574         Reported by Paul Eggert.
70575
70576 2006-01-25  Bruno Haible  <bruno@clisp.org>
70577
70578         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
70579         rid of a trap command. For Solaris sh.
70580         Reported by Mark D. Baushke <mdb@gnu.org>.
70581
70582 2006-01-24  Simon Josefsson  <jas@extundo.com>
70583
70584         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
70585         Bruno.
70586
70587 2006-01-24  Karl Berry  <karl@gnu.org>
70588
70589         * config/srclist.txt (argp-namefrob.h): sync lost.
70590
70591 2006-01-24  Jim Meyering  <jim@meyering.net>
70592
70593         * modules/openat (Files): Add lib/intprops.h.
70594         From Mark D. Baushke.
70595
70596 2006-01-24  Jim Meyering  <jim@meyering.net>
70597
70598         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
70599         Reported by Mark D. Baushke.
70600
70601 2006-01-24  Jim Meyering  <jim@meyering.net>
70602
70603         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
70604
70605 2006-01-24  Bruno Haible  <bruno@clisp.org>
70606
70607         * modules/strnlen (Maintainer): Change from glibc to all.
70608
70609 2006-01-24  Bruno Haible  <bruno@clisp.org>
70610
70611         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
70612         Patch by Paul Eggert.
70613
70614 2006-01-24  Bruno Haible  <bruno@clisp.org>
70615
70616         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
70617         already has it.
70618         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
70619         2005-11-26.
70620
70621         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
70622         'signed char' to avoid problems with the built-in _Bool type.
70623         Reported by Paul Eggert on 2005-11-26.
70624
70625 2006-01-24  Bruno Haible  <bruno@clisp.org>
70626
70627         * gnulib-tool (func_import): Avoid constructing complicated sed
70628         expressions inside backquote.
70629         Report and solution by Mark D. Baushke <mdb@gnu.org>.
70630
70631 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
70632
70633         These changes imported from libc.
70634         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
70635         test and two separate function calls.
70636         * lib/strndup.c (__strndup): Add libc_hidden_def.
70637
70638 2006-01-23  Simon Josefsson  <jas@extundo.com>
70639
70640         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
70641         Remove the test_*_SOURCES variable: automake infers it by default.
70642         * modules/tls-tests: Likewise.
70643
70644 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70645
70646         Work around porting bugs reported by Dieter in
70647         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
70648         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
70649         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
70650         Include "getopt.h" first, to check interface.
70651         (getenv): Declare only if defined HAVE_DECL_GETENV &&
70652         !HAVE_DECL_GETENV.
70653         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
70654         (__strndup): Revert to K&R-style function dfns, the glibc style.
70655         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
70656         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
70657         Include strnlen.h first, to get prototype properly.
70658         (strnlen): Renamed from __strnlen.
70659         Remove weak alias.
70660
70661 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70662
70663         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
70664
70665 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70666
70667         * config/srclist.txt: Adjust to reflect glibc reorganization.
70668         This affects only comments.
70669
70670 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
70671
70672          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
70673          Reported by Bruce Korb <bkorb@gnu.org>.
70674
70675 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
70676
70677         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
70678         to pacify gcc -Wswitch-default.
70679
70680 2006-01-22  Bruno Haible  <bruno@clisp.org>
70681
70682         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
70683         temporary buffer for sprintf, take into account the precision also
70684         for 'd', 'i', 'u', 'o', 'x', 'X'.
70685
70686 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
70687
70688         * modules/argp-tests: New module
70689         * tests/test-argp.c: New file
70690         * tests/test-argp-2.sh: New file
70691
70692 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
70693
70694         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
70695         (__argp_base_name): Removed
70696         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
70697         typo.
70698         (__argp_base_name): Provide macro definition or extern declaration
70699         depending on the configuration
70700
70701 2006-01-20  Simon Josefsson  <jas@extundo.com>
70702
70703         * modules/inet_ntop (Depends-on): Depend on sys_socket.
70704
70705 2006-01-20  Simon Josefsson  <jas@extundo.com>
70706
70707         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
70708
70709 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
70710
70711         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
70712         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
70713         Suggested by Bruno Haible.
70714
70715 2006-01-20  Karl Berry  <karl@gnu.org>
70716
70717         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
70718         until changes propagate, I guess.
70719
70720 2006-01-19  Simon Josefsson  <jas@extundo.com>
70721
70722         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
70723
70724 2006-01-19  Simon Josefsson  <jas@extundo.com>
70725
70726         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
70727
70728 2006-01-19  Simon Josefsson  <jas@extundo.com>
70729
70730         * gnulib-tool: Set check_PROGRAMS.
70731
70732         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
70733         modules/des-tests, modules/gc-arcfour-tests,
70734         modules/gc-arctwo-tests, modules/gc-des-tests,
70735         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
70736         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
70737         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
70738         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
70739         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
70740         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
70741         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
70742         test_*_SOURCES.
70743
70744 2006-01-18  Simon Josefsson  <jas@extundo.com>
70745
70746         * modules/socklen (Depends-on): Depend on sys_socket.
70747
70748 2006-01-18  Simon Josefsson  <jas@extundo.com>
70749
70750         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
70751         modules/des-tests, modules/gc-arcfour-tests,
70752         modules/gc-arctwo-tests, modules/gc-des-tests,
70753         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
70754         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
70755         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
70756         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
70757         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
70758         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
70759         $(EXEEXT) to automake TESTS variable, for mingw32.
70760
70761 2006-01-17  Simon Josefsson  <jas@extundo.com>
70762
70763         * modules/socklen (Include): Need sys/socket.h.
70764
70765 2006-01-17  Bruno Haible  <bruno@clisp.org>
70766
70767         * modules/ssize_t (Include): Add <sys/types.h>.
70768
70769 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
70770
70771         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
70772         it's not portable and it doesn't work with cross-compiles.
70773         Problem reported by Bruno Haible.  Fix missing-$ typo in
70774         'test "gl_cv_ignore_unused_libraries" ...' that prevented
70775         -zignore from being used with Sun's C compiler.
70776
70777 2006-01-12  Simon Josefsson  <jas@extundo.com>
70778
70779         * lib/base64.c: Fix warning, reported by Bruno Haible
70780         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
70781
70782 2006-01-12  Bruno Haible  <bruno@clisp.org>
70783
70784         * modules/ldd: New file.
70785         * build-aux/ldd.sh.in: New file.
70786         * MODULES.html.sh (Support for building libraries and executables): Add
70787         ldd.
70788
70789 2006-01-12  Bruno Haible  <bruno@clisp.org>
70790
70791         * m4/ldd.m4: New file.
70792
70793 2006-01-12  Bruno Haible  <bruno@clisp.org>
70794
70795         * gnulib-tool (func_import, func_create_testdir): Don't go into an
70796         endless loop while replacing $auxdir with build-aux.
70797
70798 2006-01-11  Simon Josefsson  <jas@extundo.com>
70799
70800         * lib/stdint_.h (SIZE_MAX): Add missing (.
70801
70802 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
70803
70804         Sync from coreutils.
70805         * lib/md5.c: Fix commentary typos.
70806         (alignof, UNALIGNED_P): No need for a GCC-specific version.
70807         * lib/md5.h (__attribute__): Remove; unused.
70808         * lib/sha1.c: Fix commentary to match md5 better.
70809         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
70810         so that we don't need to worry about alignment.  All uses changed.
70811         This merges the 2005-10-28 md5 change into sha1.
70812
70813 2006-01-11  Jim Meyering  <jim@meyering.net>
70814
70815         Sync from coreutils.
70816         * lib/md5.c (OP): Fix spacing.
70817
70818 2006-01-11  Bruno Haible  <bruno@clisp.org>
70819
70820         Ensure automatic ordering between gl_LOCK and gl_ARGP.
70821         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
70822         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
70823
70824 2006-01-11  Bruno Haible  <bruno@clisp.org>
70825
70826         Ensure automatic ordering between gl_LOCK and gl_ARGP.
70827         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
70828         the "early" section as well.
70829
70830 2006-01-11  Bruno Haible  <bruno@clisp.org>
70831
70832         Avoid "ar: no archive members specified" error on MacOS X.
70833         * gnulib-tool (func_modules_add_dummy): New function.
70834         (func_import, func_create_testdir): Invoke it.
70835
70836 2006-01-11  Bruno Haible  <bruno@clisp.org>
70837
70838         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
70839         with $auxdir in AC_CONFIG_FILES statements.
70840
70841 2006-01-11  Bruno Haible  <bruno@clisp.org>
70842
70843         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70844         Initialize also noinst_HEADERS to empty.
70845
70846 2006-01-11  Bruno Haible  <bruno@clisp.org>
70847
70848         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
70849         variables.
70850         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
70851         autoreconf.
70852
70853 2006-01-11  Bruno Haible  <bruno@clisp.org>
70854
70855         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
70856         overridable by the user.
70857         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70858
70859 2006-01-10  Simon Josefsson  <jas@extundo.com>
70860
70861         * modules/sys_socket: New file.
70862
70863 2006-01-10  Simon Josefsson  <jas@extundo.com>
70864
70865         * m4/sys_socket_h.m4: New file.
70866
70867 2006-01-10  Simon Josefsson  <jas@extundo.com>
70868
70869         * lib/socket_.h: New file.
70870
70871 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
70872
70873         * modules/readutmp (Maintainer): Add myself.
70874
70875 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
70876
70877         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
70878         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
70879         People who are still concerned with buggy memcmp implementations
70880         can invoke gl_FUNC_MEMCMP themselves.
70881
70882 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
70883
70884         * lib/regex_internal.h (BITSET_WORD_BITS):
70885         Work around a bug in 64-bit PGC (before version 6.1-2), where the
70886         preprocessor mishandles large unsigned values as if they were signed.
70887         Problem reported by Claudio Fontana in
70888         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
70889
70890 2006-01-10  Jim Meyering  <jim@meyering.net>
70891
70892         Avoid the double-free (first in fts_read, second in fts_close) that
70893         would occur when an `active' directory is made inaccessible (e.g.,
70894         via chmod a-x) during a traversal.
70895         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
70896         before returning.  Reproduce this failure by
70897         mkdir -p a/b; cd a; chmod a-x . b
70898         Reported by Stavros Passas.
70899
70900         Sync from coreutils.
70901         * lib/sha1.c: Tweak grammar in a comment.
70902
70903 2006-01-10  Jim Meyering  <jim@meyering.net>
70904
70905         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
70906         Patch by Joerg Sonnenberger.
70907
70908 2006-01-10  Bruno Haible  <bruno@clisp.org>
70909
70910         * modules/readutmp: Depend on module free.
70911         * modules/strtok_r: Depend on module restrict.
70912
70913 2006-01-10  Bruno Haible  <bruno@clisp.org>
70914
70915         * modules/gettext (configure.ac): Add an invocation of
70916         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
70917
70918 2006-01-10  Bruno Haible  <bruno@clisp.org>
70919
70920         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
70921         Reported by Werner Lemberg <wl@gnu.org>.
70922
70923 2006-01-10  Bruno Haible  <bruno@clisp.org>
70924
70925         * lib/localcharset.c: Update from GNU gettext.
70926
70927 2006-01-10  Bruno Haible  <bruno@clisp.org>
70928
70929         * lib/argp.h (__const): Remove macro. Use const instead.
70930         * lib/argp-fmtstream.h (__const): Likewise.
70931         * lib/glob_.h (__const): Remove macro.
70932         * lib/glob-libc.h: Use const instead of __const.
70933
70934 2006-01-10  Bruno Haible  <bruno@clisp.org>
70935
70936         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
70937         variable.
70938         Needed to avoid an automake error regarding the 'gettext' module.
70939
70940 2006-01-09  Simon Josefsson  <jas@extundo.com>
70941
70942         * modules/inet_ntop (Depends-on): Add restrict.
70943
70944 2006-01-09  Simon Josefsson  <jas@extundo.com>
70945
70946         * modules/gc-rijndael-tests (License): Put under LGPL.
70947
70948         * modules/gc-des-tests (License): Likewise.
70949
70950         * modules/gc-arcfour-tests (License): Likewise.
70951
70952         * modules/gc-arctwo-tests (License): Likewise.
70953
70954         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
70955
70956         * modules/gc-hmac-sha1-tests (Files): Likewise.
70957
70958         * modules/gc-hmac-md5-tests (License): Likewise.
70959
70960         * modules/gc-sha1-tests (License): Likewise.
70961
70962         * modules/gc-md5-tests (License): Likewise.
70963
70964         * modules/gc-md4-tests (License): Likewise.
70965
70966         * modules/gc-md2-tests (License): Likewise.
70967
70968         * modules/gc-tests (License): Likewise.
70969
70970         * modules/des-tests (License): Likewise.
70971
70972         * modules/md4-tests (License): Likewise.
70973
70974         * modules/md2-tests (License): Likewise.
70975
70976 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
70977
70978         Sync from coreutils:
70979
70980         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
70981         * modules/lib-ignore: New file.
70982         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
70983         chdir-safer.m4, lchmod.m4.
70984         * modules/openat: Add mkdirat.c, openat-priv.h.
70985
70986 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
70987
70988         Sync from coreutils.
70989         * m4/lib-ignore.m4: New file.
70990         * m4/lchmod.m4: New file.
70991
70992 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
70993
70994         Sync from coreutils.
70995         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
70996         for write access: POSIX says that must fail.
70997         * lib/fts.c (diropen): Likewise.
70998         * lib/save-cwd.c (save_cwd): Likewise.
70999         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
71000         well, for minor improvements on hosts that lack O_DIRECTORY.
71001         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
71002         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
71003         Fall back on chown if open failed with EACCES.
71004
71005         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
71006         Report an error at compile-time if only a 1-second nominal clock
71007         resolution is found.
71008
71009         * lib/lchmod.h: New file.
71010         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
71011         (make_dir_parents): Use lchown rather than chown, and
71012         lchmod rather than chmod.
71013
71014         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
71015         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
71016         "proc" reported by n0dalus.
71017
71018         * lib/mountlist.c: Include <limits.h>.
71019         (dev_from_mount_options)
71020         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
71021         New function.  It no longer assumes "dev=" has the System V meaning
71022         on Linux (since it doesn't).  It also parses "dev=" more carefully.
71023         (read_file_system_list)
71024         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
71025         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
71026         dev= in that case.
71027
71028         * lib/posixtm.h (PDS_PRE_2000): New macro.
71029         * lib/posixtm.c (year): Arg is now syntax_bits rather than
71030         allow_century.  All usages changed.  Reject dates outside the range
71031         1969-1999 if PDS_PRE_2000 is used.
71032
71033 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
71034
71035         Sync from coreutils.
71036         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
71037         (Time of day items): Mention the possibility of leap seconds.
71038         Problem reported by Dr. David Alan Gilbert.
71039
71040 2006-01-09  Jim Meyering  <jim@meyering.net>
71041
71042         Sync from coreutils.
71043
71044         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
71045
71046         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
71047
71048         * lib/modechange.c (mode_compile): Reject an invalid mode string
71049         that starts with an octal digit.  From Andreas Gruenbacher.
71050
71051         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
71052         and dup to open_safer and dup_safer, respectively.
71053         (openat_permissive): Fix typo in comment.
71054
71055         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
71056         "gettext.h"; either no longer needed or are guaranteed by openat.h.
71057         (_): Remove; no longer needed.
71058         (openat): Renamed from rpl_openat; no need for rpl_openat
71059         since openat.h renames openat for us.
71060         Replace most of the body with a call to openat_permissive,
71061         to avoid duplicate code.
71062         Port to (probably hypothetical) environments were mode_t is
71063         wider than int.
71064         (openat_permissive): Require mode arg, so that we can check
71065         types better.  Put it just after flags.  Change cwd failure
71066         indicator from pointer-to-bool to pointer-to-errno-value.
71067         All callers changed.
71068         Invoke openat_save_fail and/or openat_restore_fail if
71069         cwd_errno is null, so that openat can call us.
71070         (openat_permissive, fdopendir, fstatat, unlinkat):
71071         Simplify errno handling to avoid some duplicate code,
71072         as it's OK to set errno on success.
71073         * lib/openat.h: Revamp code so that function macros depend on
71074         __OPENAT_PREFIX only, not also on AT_FDCWD.
71075         (openat_ro): Remove.  Caller changed to use openat_permissive.
71076         (openat_permissive): Now a macro, if not a function.
71077         (openat_restore_fail, openat_save_fail): Now always functions,
71078         since mkdirat needs them even if __OPENAT_PREFIX is defined.
71079
71080         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
71081         and openat.c.
71082         * lib/mkdirat.c: Include openat-priv.h.
71083         Remove definitions of macros defined therein.
71084         * lib/openat.c: Likewise.
71085
71086         * lib/mkdirat.c (mkdirat): New file and function.
71087         * lib/openat.h (mkdirat): Declare.
71088
71089         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
71090
71091         * lib/openat.h (openat_permissive): Declare.
71092         (openat_ro): Define.
71093
71094         * lib/openat.c (EXPECTED_ERRNO): New macro.
71095         (openat_permissive): New function -- used in remove.c rewrite.
71096         (all functions): Set errno just before returning, only if there
71097         was an actual failure.
71098         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
71099
71100         Emulate openat-family functions using Linux's procfs, if possible.
71101         Idea and some code based on Ulrich Drepper's glibc changes.
71102
71103         * lib/openat.c: (BUILD_PROC_NAME): New macro.
71104         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
71105         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
71106         before falling back on save_cwd and restore_cwd.
71107         (fdopendir, fstatat, unlinkat): Likewise.
71108
71109         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
71110         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
71111
71112         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
71113         as second argument to va_arg.  Otherwise, some versions of gcc
71114         warn that `if this code is reached, the program will abort'.
71115
71116 2006-01-09  Jim Meyering  <jim@meyering.net>
71117
71118         Sync from coreutils.
71119         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
71120         Require openat-priv.h.
71121
71122 2006-01-09  Bruno Haible  <bruno@clisp.org>
71123
71124         * modules/strnlen (Include): Use strnlen.h.
71125
71126 2006-01-09  Bruno Haible  <bruno@clisp.org>
71127
71128         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
71129
71130 2006-01-09  Bruno Haible  <bruno@clisp.org>
71131
71132         * lib/sysexit_.h (EX_OK): New macro.
71133         Suggested by Martin Lambers <marlam@marlam.de>.
71134
71135 2006-01-09  Bruno Haible  <bruno@clisp.org>
71136
71137         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
71138         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
71139
71140 2006-01-09  Bruno Haible  <bruno@clisp.org>
71141
71142         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
71143         numbers.
71144
71145 2006-01-09  Bruno Haible  <bruno@clisp.org>
71146
71147         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
71148         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
71149         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
71150         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
71151
71152 2006-01-09  Bruno Haible  <bruno@clisp.org>
71153
71154         * build-aux/javacomp.sh.in: New file, moved from lib/.
71155         * modules/javacomp-script (Files): Update.
71156         (configure.ac): Add AC_CONFIG_FILES invocation.
71157         (EXTRA_DIST): Remove variable.
71158
71159         * build-aux/javaexec.sh.in: New file, moved from lib/.
71160         * modules/javaexec (Files): Update.
71161         (configure.ac): Add AC_CONFIG_FILES invocation.
71162         (EXTRA_DIST): Remove javaexec.sh.in.
71163
71164         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
71165         * modules/csharpcomp-script (Files): Update.
71166         (configure.ac): Add AC_CONFIG_FILES invocation.
71167         (EXTRA_DIST): Remove variable.
71168
71169         * build-aux/csharpexec.sh.in: New file, moved from lib/.
71170         * modules/csharpexec (Files): Update.
71171         (configure.ac): Add AC_CONFIG_FILES invocation.
71172         (EXTRA_DIST): Remove csharpexec.sh.in.
71173
71174 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
71175
71176         Sync from coreutils.
71177
71178         Add POSIX ACL support
71179         * lib/acl.h (copy_acl, set_acl): Add declarations.
71180         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
71181         systems other than Linux.
71182         (chmod_or_fchmod): New function: use fchmod when possible,
71183         and chmod otherwise.
71184         (file_has_acl): Add a POSIX ACL implementation, with a
71185         Linux-specific subcase.
71186         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
71187         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
71188         acls are unsupported.
71189         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
71190         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
71191         are unsupported.
71192
71193 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
71194
71195         Sync from coreutils.
71196         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
71197
71198 2006-01-07  Bruno Haible  <bruno@clisp.org>
71199
71200         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
71201         gl_EARLY.
71202
71203 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
71204
71205         * lib/strftime.c (tzname): Don't declare if it is already #defined.
71206         Problem reported for Mingw by Mark Junker.
71207
71208 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
71209
71210         * README: Gnulib normally doesn't generate a tarball.
71211
71212 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
71213
71214         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
71215         long int, not int, for nanosecond counts, so that people who are
71216         used to POSIX struct timespec won't be surprised.  Reported by Jim
71217         Meyering.
71218
71219 2005-12-28  Bruno Haible  <bruno@clisp.org>
71220
71221         * build-aux/config.rpath: Update from GNU gettext.
71222
71223 2005-12-16  Jim Meyering  <jim@meyering.net>
71224
71225         * modules/fprintftime: New module.
71226         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
71227
71228 2005-12-16  Jim Meyering  <jim@meyering.net>
71229
71230         * m4/fprintftime.m4: New file.
71231
71232 2005-12-16  Jim Meyering  <jim@meyering.net>
71233
71234         * lib/fprintftime.c, lib/fprintftime.h: New files.
71235
71236 2005-12-15  Simon Josefsson  <jas@extundo.com>
71237
71238         * modules/socklen (configure.ac): Fix M4 macro name, to align with
71239         new m4/socklen.m4.
71240
71241 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
71242
71243         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
71244         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
71245
71246 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
71247
71248         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
71249         * lib/argp-help.c (fill_in_uparams): Check if the constructed
71250         struct uparams is valid. Fall back to the default values if it is
71251         not.
71252
71253 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
71254
71255         * modules/argp (Files): Add argp-pin.c
71256         (Depends-on): dirname
71257         (lib_SOURCES): Add argp-pin.c
71258
71259 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
71260
71261         * m4/argp.m4:  Check if program_invocation_name and
71262         program_invocation_short_name are declared and define appropriate
71263         macros if they are not.
71264
71265 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
71266
71267         * lib/argp-help.c (__argp_base_name): New function
71268         (__argp_short_program_name): Rewrite using __argp_base_name
71269         * lib/argp-namefrob.h: Define program_invocation_name and
71270         program_invocation_short_name if requested
71271         (__argp_base_name): Add prototype
71272         * lib/argp-parse.c (argp_def): Use gettext wrappers
71273         (argp_default_parser): Use __argp_base_name
71274         * lib/argp-pin.c: New file. Defines program_invocation_name and
71275         program_invocation_short_name on systems that lack them.
71276
71277 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
71278
71279         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
71280         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
71281         porting problem reported by Georg Schwarz in
71282         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
71283
71284 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
71285
71286         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
71287         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
71288         porting problem reported by Georg Schwarz in
71289         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
71290
71291 2005-12-05  Bruno Haible  <bruno@clisp.org>
71292
71293         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
71294         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
71295         Reported by Mark Junker <mjscod@gmx.de>.
71296
71297 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
71298
71299         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
71300         Use implementation from Albert Chin, with some
71301         comments/corrections by Stepan Kasal and myself.
71302
71303 2005-12-02  Bruno Haible  <bruno@clisp.org>
71304
71305         * gnulib-tool (func_import): Accept GPLed build tool modules when
71306         --lgpl is given.
71307         * modules/csharpcomp-script: New file.
71308         * modules/csharpcomp: Depend on it.
71309         * modules/javacomp-script: New file.
71310         * modules/javacomp: Depend on it.
71311         Suggested by Simon Josefsson.
71312
71313 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
71314
71315         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
71316         statement, to work around an HP-UX 10.20 compiler bug reported by
71317         Peter O'Gorman.
71318
71319 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
71320
71321         * modules/savedir (Depends-on): Add openat.
71322
71323 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
71324
71325         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
71326         (uintmax_t) [defined uintmax_t]: Do not declare.
71327         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
71328         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
71329         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
71330         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
71331         sake of portability to weird hosts that C allows (though we don't
71332         know of any practical examples).
71333
71334         * lib/savedir.h (fdsavedir): New decl.
71335         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
71336         contains most of the former guts of savedir.
71337         (savedir): Use savedirstream.
71338         Include "openat.h".
71339
71340 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
71341
71342         * modules/obstack (Files): Add m4/ulonglong.m4.
71343         Problem reported by Davide Angelocola.
71344
71345 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
71346
71347         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
71348         coreutils no longer futzes with rounding modes.
71349
71350 2005-11-14  Jim Meyering  <jim@meyering.net>
71351
71352         * lib/mkstemp-safer.c: Include <config.h>, required for possible
71353         replacement of mkstemp.
71354
71355 2005-11-10  Simon Josefsson  <jas@extundo.com>
71356
71357         * lib/readline.c: Remove EOL.
71358
71359 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
71360
71361         * modules/gethrxtime (Depends-on): Add gettime.
71362
71363 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
71364
71365         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
71366         or gettimeofday; no longer needed.
71367
71368 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
71369
71370         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
71371         time business.
71372         (gethrxtime) [! (HAVE_NANOUPTIME
71373         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
71374         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
71375         our own approximation.
71376
71377 2005-11-08  Eric Blake  <ebb9@byu.net>
71378
71379         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
71380
71381 2005-11-08  Eric Blake  <ebb9@byu.net>
71382
71383         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
71384
71385 2005-11-04  Bruno Haible  <bruno@clisp.org>
71386
71387         * gnulib-tool: Implement --update mode.
71388
71389 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
71390
71391         Fix porting problem reported by Theodoros V. Kalamatianos.
71392         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
71393         Don't assume that futimes failing means we must fail.
71394
71395 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
71396
71397         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
71398         variables to suggest the intended function of the PATH_MAX check.
71399
71400 2005-10-30  Kean Johnston  <jkj@sco.com>
71401
71402         Trivial changes to support SCO systems.
71403         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
71404         as PATH_MAX.
71405         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
71406         where __ptr is null when no I/O is pending.
71407
71408 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
71409
71410         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
71411         leave errno alone.  Problem reported by Dmitry V. Levin.
71412
71413 2005-10-28  Simon Josefsson  <jas@extundo.com>
71414
71415         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
71416         Test more.
71417
71418         * tests/test-gc-md2.c, tests/test-md2.c: New files.
71419
71420         * modules/md2, modules/md2-tests: New files.
71421
71422 2005-10-28  Simon Josefsson  <jas@extundo.com>
71423
71424         * m4/inet_ntop.m4: More tests.
71425
71426         * m4/gc-md2.m4, md2.m4: New file.
71427
71428 2005-10-28  Simon Josefsson  <jas@extundo.com>
71429
71430         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
71431         "restrict" keywords, as per POSIX.  Protect the function
71432         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
71433         Don't use K&R prototypes.  Check the sprintf return values.
71434         Re-define EAFNOSUPPORT if not present.  Indent.
71435
71436         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
71437         suggested by Bruno Haible <bruno@clisp.org>.
71438
71439         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
71440
71441         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
71442
71443         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
71444         libgcrypt).
71445
71446         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
71447
71448         * lib/md2.h, lib/md2.c: New files.
71449
71450 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
71451
71452         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
71453         errno alone.  Problem reported by Frederic Jolliton.
71454
71455 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
71456
71457         * modules/verify (License): Change from GPL to LGPL.  This is a
71458         tiny module and there are apparently near-equivalents that are
71459         under the BSD license.
71460
71461 2005-10-24  Simon Josefsson  <jas@extundo.com>
71462
71463         * modules/sha1: Relicense to LGPL.
71464
71465 2005-10-24  Simon Josefsson  <jas@extundo.com>
71466
71467         * lib/md4.h: Shrink buffer size, now that we changed the type.
71468
71469 2005-10-23  Simon Josefsson  <jas@extundo.com>
71470
71471         * gnulib-tool (func_import): Fix --tests-base.
71472
71473 2005-10-22  Simon Josefsson  <jas@extundo.com>
71474
71475         * modules/arcfour (Depends-on): Need stdint.
71476
71477 2005-10-22  Simon Josefsson  <jas@extundo.com>
71478
71479         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
71480         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
71481
71482 2005-10-22  Simon Josefsson  <jas@extundo.com>
71483
71484         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
71485         suggested by Bruno Haible <bruno@clisp.org>.
71486
71487 2005-10-22  Simon Josefsson  <jas@extundo.com>
71488
71489         * lib/crc.h: Include stddef.h, for size_t.
71490
71491 2005-10-22  Simon Josefsson  <jas@extundo.com>
71492
71493         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
71494         arcfour_context struct (simplify test vector testing in GNU
71495         Shishi).
71496
71497 2005-10-21  Simon Josefsson  <jas@extundo.com>
71498
71499         * modules/des, modules/des-tests: New files.
71500
71501         * modules/gc-des, modules/gc-des-tests: New files.
71502
71503         * tests/test-des.c, tests/test-gc-des.c: New file.
71504
71505 2005-10-21  Simon Josefsson  <jas@extundo.com>
71506
71507         * modules/arctwo, modules/arctwo-tests: New files.
71508
71509         * tests/test-arctwo.c: New file.
71510
71511         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
71512
71513         * tests/test-gc-arctwo.c: New file.
71514
71515 2005-10-21  Simon Josefsson  <jas@extundo.com>
71516
71517         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
71518         Bruno Haible <bruno@clisp.org>.
71519
71520         * m4/gc-des.m4: New file.
71521
71522 2005-10-21  Simon Josefsson  <jas@extundo.com>
71523
71524         * m4/arctwo.m4: New file.
71525
71526         * m4/gc-arctwo.m4: New file.
71527
71528 2005-10-21  Simon Josefsson  <jas@extundo.com>
71529
71530         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
71531         block.
71532
71533 2005-10-21  Simon Josefsson  <jas@extundo.com>
71534
71535         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
71536         <bruno@clisp.org>.
71537
71538         * lib/hmac-sha1.c (hmac_sha1): Likewise.
71539
71540         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
71541         Bruno Haible <bruno@clisp.org>.
71542
71543         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
71544         <bruno@clisp.org>.
71545
71546 2005-10-21  Simon Josefsson  <jas@extundo.com>
71547
71548         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
71549
71550 2005-10-21  Simon Josefsson  <jas@extundo.com>
71551
71552         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
71553
71554 2005-10-21  Simon Josefsson  <jas@extundo.com>
71555
71556         * lib/des.h, lib/des.c: New files.
71557
71558         * lib/gc-gnulib.c: Support DES.c
71559
71560 2005-10-21  Simon Josefsson  <jas@extundo.com>
71561
71562         * lib/arctwo.h, lib/arctwo.c: New files.
71563
71564         * lib/gc-gnulib.c: Support ARCTWO.
71565
71566 2005-10-21  Simon Josefsson  <jas@extundo.com>
71567
71568         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
71569         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71570
71571 2005-10-21  Simon Josefsson  <jas@extundo.com>
71572
71573         * gnulib-tool (func_import, func_create_testdir): Define automake
71574         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
71575         Makefile.am snippet),
71576         suggested by Bruno Haible <bruno@clisp.org>.
71577
71578         * modules/gc (Makefile.am): Use it.
71579
71580 2005-10-21  Bruno Haible  <bruno@clisp.org>
71581
71582         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
71583         patch.
71584
71585 2005-10-19  Simon Josefsson  <jas@extundo.com>
71586
71587         * tests/test-gc-rijndael.c: New file.
71588
71589         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
71590
71591 2005-10-19  Simon Josefsson  <jas@extundo.com>
71592
71593         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
71594         interface too.
71595
71596 2005-10-19  Simon Josefsson  <jas@extundo.com>
71597
71598         * tests/test-gc-arcfour.c: New file.
71599
71600         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
71601
71602 2005-10-19  Simon Josefsson  <jas@extundo.com>
71603
71604         * modules/gc-md4, modules/gc-md4-tests: New file.
71605
71606         * tests/test-gc-md4.c: New file.
71607
71608 2005-10-19  Simon Josefsson  <jas@extundo.com>
71609
71610         * m4/gc-md4.m4: New file.
71611
71612 2005-10-19  Simon Josefsson  <jas@extundo.com>
71613
71614         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
71615         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
71616         <kasal@ucw.cz>.
71617
71618 2005-10-19  Simon Josefsson  <jas@extundo.com>
71619
71620         * m4/gc-arcfour.m4: New file.
71621
71622         * m4/gc-rijndael.m4: New file.
71623
71624 2005-10-19  Simon Josefsson  <jas@extundo.com>
71625
71626         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
71627
71628 2005-10-19  Simon Josefsson  <jas@extundo.com>
71629
71630         * lib/gc-gnulib.c: Support ARCFOUR.
71631
71632 2005-10-19  Simon Josefsson  <jas@extundo.com>
71633
71634         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
71635         support.
71636
71637         * lib/gc.h: Add ECB enum type.
71638
71639         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
71640
71641 2005-10-18  Simon Josefsson  <jas@extundo.com>
71642
71643         * tests/test-md5.c: New file.
71644
71645         * modules/md5-tests: New file.
71646
71647 2005-10-18  Simon Josefsson  <jas@extundo.com>
71648
71649         * tests/test-md4.c: New file.
71650
71651         * modules/md4, modules/md4-tests: New files.
71652
71653 2005-10-18  Simon Josefsson  <jas@extundo.com>
71654
71655         * m4/md4.m4: New file.
71656
71657 2005-10-18  Simon Josefsson  <jas@extundo.com>
71658
71659         * lib/md4.h, lib/md4.c: New files, based on md5.?.
71660
71661 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
71662
71663         * gnulib-tool (func_create_testdir): Omit the second check whether
71664         BUILT_SOURCES in nonempty.
71665
71666 2005-10-17  Simon Josefsson  <jas@extundo.com>
71667
71668         * tests/test-rijndael.c: New file.
71669
71670 2005-10-17  Simon Josefsson  <jas@extundo.com>
71671
71672         * modules/sha1: Depend on stdint instead of md5.
71673
71674         * modules/md5: Depend on stdint, remove uint32_t.
71675
71676 2005-10-17  Simon Josefsson  <jas@extundo.com>
71677
71678         * modules/gc-sha1-tests: New file.
71679
71680         * tests/test-gc-sha1.c: New file.
71681
71682 2005-10-17  Simon Josefsson  <jas@extundo.com>
71683
71684         * m4/md5.m4: Remove call to uint32_t.m4.
71685
71686 2005-10-17  Simon Josefsson  <jas@extundo.com>
71687
71688         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
71689
71690         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
71691         md5.h.
71692
71693         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
71694
71695         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
71696
71697 2005-10-17  Simon Josefsson  <jas@extundo.com>
71698
71699         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
71700
71701 2005-10-17  Simon Josefsson  <jas@extundo.com>
71702
71703         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
71704
71705 2005-10-17  Simon Josefsson  <jas@extundo.com>
71706
71707         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
71708
71709         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
71710
71711 2005-10-17  Bruno Haible  <bruno@clisp.org>
71712
71713         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
71714         that it can also be used in a test.
71715
71716 2005-10-16  Bruno Haible  <bruno@clisp.org>
71717
71718         * gnulib-tool (func_emit_tests_Makefile_am): Also define
71719         TESTS_ENVIRONMENT, so that individual tests can augment it.
71720
71721         * gnulib-tool (func_create_testdir): Use an intermediate target for
71722         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
71723         macros, like $(ALLOCA_H), which cannot be passed through the command
71724         line.
71725
71726 2005-10-15  Simon Josefsson  <jas@extundo.com>
71727
71728         * modules/rijndael-tests: New file.
71729
71730         * modules/rijndael: New file.
71731
71732 2005-10-15  Simon Josefsson  <jas@extundo.com>
71733
71734         * m4/rijndael.m4: New file.
71735
71736 2005-10-15  Simon Josefsson  <jas@extundo.com>
71737
71738         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
71739
71740         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
71741
71742 2005-10-14  Simon Josefsson  <jas@extundo.com>
71743
71744         * tests/test-arcfour.c: New file.
71745
71746         * modules/arcfour, modules/arcfour-tests: New files.
71747
71748 2005-10-14  Simon Josefsson  <jas@extundo.com>
71749
71750         * m4/arcfour.m4: New file.
71751
71752 2005-10-14  Simon Josefsson  <jas@extundo.com>
71753
71754         * lib/arcfour.h, lib/arcfour.c: New files.
71755
71756 2005-10-14  Roland McGrath  <roland@redhat.com>
71757
71758         Import from libc.  [BZ #1331]
71759         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
71760         macro argument.
71761         Reported by Matej Vela <vela@debian.org>.
71762
71763 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
71764
71765         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
71766         include <wchar.h>; no longer needed.
71767
71768 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
71769
71770         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
71771
71772 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
71773         and  Ulrich Drepper  <drepper@redhat.com>
71774
71775         Import from libc.
71776         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
71777         instead of inline stream orientation test and two separate
71778         function calls.  Pay no attention to USE_IN_LIBIO.
71779
71780 2005-10-13  Simon Josefsson  <jas@extundo.com>
71781
71782         * modules/gc-hmac-md5-tests: New file.
71783
71784         * tests/test-gc-hmac-sha1.c: New file.
71785
71786         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
71787
71788         * modules/gc-hmac-md5-tests: New file.
71789
71790         * tests/test-gc-md5.c: New file.
71791
71792         * modules/gc-md5-tests: New file.
71793
71794 2005-10-13  Simon Josefsson  <jas@extundo.com>
71795
71796         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
71797         Move memory allocation outside of loop.
71798
71799 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
71800
71801         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
71802         intermediate directory is in a read-only file system.  Problem
71803         reported by Eric Blake.
71804
71805 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
71806
71807         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
71808
71809 2005-10-12  Simon Josefsson  <jas@extundo.com>
71810
71811         * tests/test-hmac-sha1.c: New file.
71812
71813         * modules/hmac-sha1-tests: New file.
71814
71815         * modules/hmac-sha1: New file.
71816
71817 2005-10-12  Simon Josefsson  <jas@extundo.com>
71818
71819         * modules/gc-sha1: New file.
71820
71821 2005-10-12  Simon Josefsson  <jas@extundo.com>
71822
71823         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
71824
71825         * tests/test-gc-pbkdf2-sha1.c: New file.
71826
71827 2005-10-12  Simon Josefsson  <jas@extundo.com>
71828
71829         * modules/gc-md5, modules/gc-hmac-md5: New files.
71830
71831         * modules/gc (Files): Remove md5, memxor and hmac files.
71832
71833 2005-10-12  Simon Josefsson  <jas@extundo.com>
71834
71835         * m4/gc-pbkdf2-sha1.m4: New file.
71836
71837         * m4/gc-hmac-sha1.m4: New file.
71838
71839         * m4/gc-sha1: New file.
71840
71841         * m4/hmac-sha1.m4: New file.
71842
71843 2005-10-12  Simon Josefsson  <jas@extundo.com>
71844
71845         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
71846
71847         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
71848
71849 2005-10-12  Simon Josefsson  <jas@extundo.com>
71850
71851         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
71852         suggested by Bruno Haible <bruno@clisp.org>.
71853
71854 2005-10-12  Simon Josefsson  <jas@extundo.com>
71855
71856         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
71857
71858 2005-10-12  Simon Josefsson  <jas@extundo.com>
71859
71860         * lib/gc-pbkdf2-sha1.c: New file.
71861
71862         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
71863
71864 2005-10-12  Simon Josefsson  <jas@extundo.com>
71865
71866         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
71867
71868         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
71869
71870 2005-10-12  Simon Josefsson  <jas@extundo.com>
71871
71872         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
71873         GC_USE_HMAC_MD5, respectively.
71874
71875         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
71876         (gc_md5): Fix typo.
71877
71878         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
71879
71880         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
71881
71882         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
71883
71884 2005-10-12  Bruno Haible  <bruno@clisp.org>
71885
71886         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
71887         Reported by Stepan Kasal <kasal@ucw.cz>.
71888
71889 2005-10-11  Simon Josefsson  <jas@extundo.com>
71890
71891         * tests/test-crc.c: New file.
71892
71893         * modules/crc, modules/crc-tests: New files.
71894
71895 2005-10-11  Simon Josefsson  <jas@extundo.com>
71896
71897         * m4/crc.m4: New file.
71898
71899 2005-10-11  Simon Josefsson  <jas@extundo.com>
71900
71901         * lib/gc.h: Add gc_hash and gc_hash_buffer.
71902
71903         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
71904
71905         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
71906
71907 2005-10-11  Simon Josefsson  <jas@extundo.com>
71908
71909         * lib/crc.h, lib/crc.c: New files.
71910
71911         * lib/gc.h (gc_hash_buffer): Add doc.
71912
71913 2005-10-11  Bruno Haible  <bruno@clisp.org>
71914
71915         * modules/c-strcasestr: New file.
71916         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
71917
71918 2005-10-11  Bruno Haible  <bruno@clisp.org>
71919
71920         * modules/c-strcase: New file.
71921         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
71922
71923 2005-10-11  Bruno Haible  <bruno@clisp.org>
71924
71925         * lib/strcasecmp.c: Include limits.h.
71926         (strcasecmp): Avoid integer overflow on exotic platforms.
71927         * lib/strncasecmp.c: Include limits.h.
71928         (strncasecmp): Avoid integer overflow on exotic platforms.
71929         Reported by Paul Eggert.
71930
71931 2005-10-11  Bruno Haible  <bruno@clisp.org>
71932
71933         * lib/c-strcasestr.h: New file, from GNU gettext.
71934         * lib/c-strcasestr.c: New file, from GNU gettext.
71935
71936 2005-10-11  Bruno Haible  <bruno@clisp.org>
71937
71938         * lib/c-strcase.h: New file, from GNU gettext.
71939         * lib/c-strcasecmp.c: New file, from GNU gettext.
71940         * lib/c-strncasecmp.c: New file, from GNU gettext.
71941
71942 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
71943
71944         * modules/mempcpy (License): GPL -> LGPL.
71945         * modules/strchrnul (License): Likewise.
71946         * modules/sysexits (License): Likewise.
71947
71948 2005-10-08  Simon Josefsson  <jas@extundo.com>
71949
71950         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
71951
71952 2005-10-07  Simon Josefsson  <jas@extundo.com>
71953
71954         * m4/memxor.m4: Remove gl_C_RESTRICT call.
71955
71956 2005-10-06  Simon Josefsson  <jas@extundo.com>
71957
71958         * tests/test-hmac-md5.c: New file.
71959
71960         * modules/hmac-md5-tests: New file.
71961
71962         * modules/hmac-md5: New file.
71963
71964 2005-10-06  Simon Josefsson  <jas@extundo.com>
71965
71966         * m4/hmac-md5.m4: New file.
71967
71968         * m4/memxor.m4: Require gl_C_RESTRICT.
71969
71970 2005-10-06  Simon Josefsson  <jas@extundo.com>
71971
71972         * lib/memxor.c (memxor): Avoid casts and warnings.
71973
71974 2005-10-06  Simon Josefsson  <jas@extundo.com>
71975
71976         * lib/hmac-md5.c: New file.
71977
71978         * lib/hmac.h: New file.
71979
71980 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
71981
71982         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
71983         promotes to int, not unsigned int, to catch the AIX 5.3
71984         compiler bug.
71985
71986 2005-10-05  Simon Josefsson  <jas@extundo.com>
71987
71988         * modules/memxor: New file.
71989
71990         * modules/iconv (Files): Move config.rpath to havelib, it is used
71991         there.
71992
71993         * modules/havelib (Files): Add config.rpath.
71994
71995 2005-10-05  Simon Josefsson  <jas@extundo.com>
71996
71997         * m4/memxor.m4: New file.
71998
71999 2005-10-05  Simon Josefsson  <jas@extundo.com>
72000
72001         * lib/memxor.c (memxor): Fix compiler error.
72002
72003         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
72004         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
72005
72006         * lib/memxor.h, lib/memxor.c: New files.
72007
72008         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
72009         we assume all systems have it, suggested by Jim Meyering
72010         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
72011         any systems lack sys/socket.h; mingw32 is known to lack it, but we
72012         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
72013         same reasons.
72014
72015 2005-10-05  Simon Josefsson  <jas@extundo.com>
72016
72017         * config/srclist.txt: Add glibc bug 1423 for md5.h.
72018
72019 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
72020
72021         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
72022         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
72023         needed, since the source code now assumes these .h files.
72024
72025 2005-10-05  Derek Price  <derek@ximbiot.com>
72026
72027         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
72028
72029 2005-10-05  Bruno Haible  <bruno@clisp.org>
72030
72031         * modules/stdint (License): Change to LGPL.
72032
72033 2005-10-04  Simon Josefsson  <jas@extundo.com>
72034
72035         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
72036         D. Baushke" <mdb@gnu.org>.
72037
72038 2005-10-04  Bruno Haible  <bruno@clisp.org>
72039
72040         * lib/verify.h (verify_true): Provide alternative definition for C++.
72041
72042 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
72043
72044         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
72045         (SSIZE_MAX): New macro, if not already defined.
72046         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
72047         than 2 GiB.
72048
72049 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
72050
72051         Sync from coreutils.
72052         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
72053         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
72054         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
72055         ULLONG_MAX doesn't work with 2.7.2.1.
72056
72057 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
72058
72059         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
72060         From Ben Pfaff.
72061
72062         * modules/exclude (Depends-on): Depend on verify.
72063         * modules/strtoimax (Depends-on): Likewise.
72064         * modules/utimecmp (Depends-on): Likewise.
72065
72066 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
72067
72068         * lib/exclude.c: Include verify.h.
72069         (verify): Remove.  All callers changed to use verify.h's version.
72070         * lib/strtoimax.c: Likewise.
72071         * lib/utimecmp.c: Likewis.e
72072
72073         Sync from coreutils.
72074         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
72075         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
72076         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
72077         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
72078         bother returning ENOSYS if settimeofday or stime fails; just let
72079         them return whatever errno they want to return.
72080         * lib/utimens.c: Include unistd.h, for dup2.
72081         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
72082         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
72083
72084 2005-10-02  Jim Meyering  <jim@meyering.net>
72085
72086         Sync from coreutils.
72087         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
72088         from glibc-2.2.5 that fails for read-only files.
72089
72090 2005-10-02  Jim Meyering  <jim@meyering.net>
72091
72092         Sync from coreutils.
72093         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
72094         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
72095         `#if HAVE_CONFIG_H'.
72096         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
72097         Remove AT_FDCWD test.
72098         Do not consume the fd unless successful.
72099         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
72100         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
72101         block, so that we don't even try to compile it if settimeofday is
72102         available.  This works around a compilation failure on OSF1 V5.1,
72103         due to stime requiring a `long int*' while tv_sec is `int'.
72104
72105 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
72106
72107         Sync from coreutils.
72108         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
72109         against `yes', rather than just testing for nonempty.
72110
72111 2005-10-01  Simon Josefsson  <jas@extundo.com>
72112
72113         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
72114         and Darwin.
72115
72116         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
72117         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
72118         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
72119         freeaddrinfo and gai_strerror are declared by the POSIX headers.
72120         Check if struct addrinfo is declared.
72121
72122 2005-10-01  Simon Josefsson  <jas@extundo.com>
72123
72124         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
72125         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
72126         AI_* and EAI_* definitions.  Protect function declarations.
72127
72128 2005-10-01  Jim Meyering  <jim@meyering.net>
72129
72130         Sync from coreutils.
72131
72132         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
72133         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
72134         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
72135         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
72136         in the inet and nsl libraries.  Required on Solaris 5.7.
72137
72138 2005-10-01  Jim Meyering  <jim@meyering.net>
72139
72140         Sync from coreutils.
72141         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
72142         in the inet and nsl libraries.  Required on Solaris 5.7.
72143
72144 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
72145
72146         * lib/getdelim.c (getdelim): Remove unused variables.
72147
72148 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
72149
72150         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
72151         so that the code works even with ancient cpp.  Portability problem
72152         with GCC 2.7.2.1 reported by Thomas M.Ott.
72153
72154 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
72155
72156         * modules/regex (Depends-on): Add strcase.
72157
72158         * modules/gethostname (Licence): Change from GPL to LGPL, since
72159         gethostname.c is a trivial implementation of a standard library
72160         function.
72161         * modules/poll (License): Change from GPL to LGPL, since it's
72162         derived from LGPL code.
72163
72164 2005-09-27  Jim Meyering  <jim@meyering.net>
72165
72166         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
72167         HAVE_CONFIG_H.
72168
72169         * lib/intprops.h (signed_type_or_expr__): Define.
72170         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
72171         for unsigned types.
72172
72173 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
72174
72175         * lib/verify.h (verify_expr): Remove, replacing with:
72176         (verify_true): New macro that returns true instead of void.
72177         (verify_type__): Remove.
72178         (verify): Use verify_true rather than verify_type__.
72179
72180 2005-09-26  Bruno Haible  <bruno@clisp.org>
72181
72182         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
72183         is necessary.
72184         (lib_SOURCES): Remove mbchar.c.
72185         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
72186         (Files): Add m4/mbrtowc.m4.
72187         * modules/mbiter: Likewise.
72188         * modules/mbuiter: Likewise.
72189
72190 2005-09-26  Bruno Haible  <bruno@clisp.org>
72191
72192         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
72193         compile mbchar.c if they are not both present.
72194         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
72195         * m4/mbiter.m4 (gl_MBITER): Likewise.
72196         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
72197         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
72198         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
72199
72200 2005-09-25  Jim Meyering  <jim@meyering.net>
72201
72202         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
72203         also uses socklen_t.
72204
72205 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
72206
72207         * lib/utimens.c (ENOSYS): Define if not already defined.
72208         (futimens): Support having a null PATH if the file descriptor
72209         is nonnegative.
72210
72211         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
72212         Remove.
72213         (__attribute): Define to empty unless GCC 3.1 or later.
72214         This works around a core dump on OpenBSD 3.4, which has GCC
72215         2.95.3, which dumps core when given __attribute__(()).  It also
72216         simplifies other tests, since we really don't want to bother with
72217         worrying about which ancient version of GCC supported what.
72218         Original problem reported by Yoann Vandoorselaere, with part of
72219         the fix suggested by Derek Price.
72220
72221 2005-09-24  Jim Meyering  <jim@meyering.net>
72222
72223         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
72224         so we can once again use a positive bitfield width of 1 -- now we
72225         don't have to explain why we were using a bitfield width of 2.
72226
72227 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
72228
72229         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
72230         and similarly for the other external symbols.  Problem reported
72231         by James Gallager.
72232
72233         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
72234         bug reported by Jim Meyering.
72235
72236         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
72237         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
72238         not needed, since socklen is a prerequisite module.
72239
72240 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
72241
72242         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
72243         Problem reported by Eric Blake.
72244         (getaddrinfo): Initialize se so that it's not garbage.
72245         Redo internal storage allocation so that it doesn't make unportable
72246         assumptions about alignment.
72247         Fix a memory leak.
72248
72249         * lib/utimens.c (futimens): Use futimesat if available.
72250         Prefer it to futimes since it doesn't have the futimes bug.
72251
72252         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
72253         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
72254         Instead, declare a function that returns a pointer to an array,
72255         and use verify_type__ to declare the size of the array.
72256         Problem and germ of a solution reported by Bruno Haible.
72257         (verify_type__): Use 2, not 1, for bitfield size, to avoid
72258         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
72259
72260 2005-09-23  Jim Meyering  <jim@meyering.net>
72261
72262         Sync from coreutils.
72263         Correct build failure (socklen_t not defined) on at least
72264         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
72265         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
72266
72267 2005-09-23  Jim Meyering  <jim@meyering.net>
72268
72269         * modules/getaddrinfo (Depends-on): Add socklen.
72270
72271 2005-09-23  Bruno Haible  <bruno@clisp.org>
72272
72273         * tests/test-verify.c: New file.
72274
72275 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
72276
72277         Sync from coreutils.
72278
72279         * modules/argmatch (Depends-on): Add verify.
72280         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
72281         unistd-safer.
72282         * modules/save-cwd (Depends-on): Likewise.
72283
72284         * modules/openat (Files): Add lib/openat-die.c.
72285         (Depends-on): Remove error, exitfail.
72286         Add dirname.
72287
72288         * modules/verify: New file.
72289         * MODULES.html.sh (Diagnostics <assert.h>): New section,
72290         with "verify" module.
72291
72292 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
72293
72294         Sync from coreutils.
72295
72296         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
72297         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
72298         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
72299         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
72300         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
72301         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
72302         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
72303         Don't bother checking for string.h, stdlib.h, unistd.h.
72304         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
72305         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
72306         module's job.
72307         * m4/jm-macros.m4 (gl_MACROS): Likewise.
72308         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
72309
72310         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
72311         (gl_GETDATE): Use it.
72312
72313         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
72314
72315 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
72316
72317         Sync from coreutils.
72318
72319         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
72320         stat-time.h.
72321         * lib/argmatch.h: Include verify.h
72322         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
72323         (ARGMATCH_ASSERT): Remove; unused.
72324         * lib/canonicalize.c: Assume STDC_HEADERS.
72325         * lib/exclude.c: Include "strcase.h".
72326         * lib/regex_internal.h [!defined _LIBC]: Likewise.
72327         * lib/getusershell.c: Include stdio--.h rather than stdio.h
72328         and stdio-safer.h.
72329         (getusershell): Call fopen, not fopen_safer.
72330         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
72331         Do not include unistd-safer.h.
72332         (save_cwd): Don't call fd_safer; no longer needed
72333         now that we include fcntl--.h.
72334
72335         * lib/getdate.y (relative_time): New type.
72336         (RELATIVE_TIME_0): New constant.
72337         (parser_control): Use relative_time instead of doing it ourselves.
72338         (%union): Add new relative_time rel member.
72339         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
72340         Now typeless.
72341         (relunit, relunit_snumber): Now of type rel.
72342         (zone, rel, relunit, get_date): Adjust to above changes.
72343
72344         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
72345         Do not include unistd-safer.h.
72346         (getloadavg): Don't call fd_safer; no longer needed
72347         now that we include fcntl--.h.
72348
72349         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
72350         (make_dir_parents): Treat ENOSYS like EEXIST.
72351
72352         Improve quality of diagnostics on restore_cwd failure.
72353         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
72354         (make_dir_parents): Last arg is now int * (for errno), not bool *.
72355         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
72356         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
72357         each time through the loop.  Do not diagnose restore_cwd failure;
72358         that is the caller's job (and perhaps the caller does not care).
72359
72360         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
72361         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
72362         If the file already exists but is not a directory, don't bother
72363         to try to make its parents.
72364         Close potential file descriptor leak if we can't chdir("/") (!).
72365         Don't always return true if chdir($PWD) fails; return true only
72366         if the requested action was done successfully (except for the
72367         chdir($PWD)).
72368         Don't log final directory unless we actually made it.
72369         Refactor to avoid duplicate code to fix up permissions.
72370         Don't attempt to fix up parent permissions if chdir($PWD) fails.
72371
72372         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
72373         to make it a bit faster and (I hope) clearer.
72374         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
72375         Fix bug in formats like %2N.
72376
72377         * lib/verify.h: New file.
72378
72379 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
72380
72381         Sync from coreutils.
72382         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
72383
72384 2005-09-22  Jim Meyering  <jim@meyering.net>
72385
72386         Sync from coreutils.
72387
72388         * m4/lstat.m4 (gl_FUNC_LSTAT):
72389         Use AC_LIBSOURCES to require lstat.c and lstat.h.
72390         Remove obsolete comment.
72391         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
72392         * m4/xstrtod.m4: Likewise.
72393
72394         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
72395
72396 2005-09-22  Jim Meyering  <jim@meyering.net>
72397
72398         Sync from coreutils.
72399
72400         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
72401
72402         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
72403         the .tm_year member, since otherwise gcc-4.0 would now warn about
72404         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
72405
72406         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
72407         order to avoid an unsuppressible warning from gcc on 64-bit systems.
72408
72409         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
72410         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
72411         when run in a time zone for which daylight savings time is in effect
72412         for the starting date.
72413
72414         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
72415         stop us from restricting permissions of just-created absolute-named
72416         directories.
72417         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
72418         to restore initial working directory.
72419         * lib/mkdir-p.c (make_dir_parents): New parameter:
72420         different_working_dir, to tell caller if/when we change the working
72421         directory and are unable to return to the initial one.
72422         * lib/mkdir-p.h (make_dir_parents): Update prototype.
72423         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
72424         `return false'.  This fixes a bug introduced on 2004-07-30.
72425
72426         * lib/openat.c (fdopendir): Be sure to close the supplied
72427         file descriptor before returning.  This makes our replacement
72428         implementation a little closer to Solaris's, where fdopendir
72429         ties the file descriptor to the returned DIR* pointer.
72430         * lib/openat.c (unlinkat): New function.
72431         * lib/openat.h (unlinkat): Add prototype.
72432         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
72433         (openat_restore_fail): Rename from openat_restore_die.
72434         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
72435
72436         Provide an alternative to exiting immediately upon save_cwd or
72437         restore_cwd failure.  Now, an application can arrange e.g.,
72438         to perform a longjump in that case.
72439         * lib/openat.c: Include dirname.h.
72440         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
72441         (rpl_openat, fdopendir, fstatat): Call openat_save_die
72442         and openat_restore_die rather than calling error directly.
72443         Don't include "error.h" or "exitfail.h"; they're no longer needed.
72444
72445         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
72446         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
72447         define.
72448
72449         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
72450         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
72451                             int utc, int nanoseconds);
72452         Background:
72453         date should not have to allocate a megabyte of virtual memory to
72454         handle a format argument like +%1048575T.  When implemented with
72455         strftime, it must allocate such a buffer, use strftime to fill it
72456         in, print it, then free it.
72457         With fprintftime, it simply prints everything and exits.
72458         With no need for memory allocation, that's one fewer way to fail.
72459         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
72460         optional field width, not before, so we accept %9:z, not %:9z.
72461         (my_strftime): Be sure to use L_('x') for literals.
72462
72463         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
72464         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
72465         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
72466         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
72467         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
72468         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
72469         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
72470         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
72471         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
72472         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
72473         * lib/xgethostname.c, lib/xreadlink.c:
72474         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
72475
72476         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
72477         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
72478         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
72479         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
72480         and don't include <sys/file.h>).
72481
72482 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
72483
72484         Sync from coreutils.
72485
72486         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
72487         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
72488         [!LDAV_DONE]: Avoid unused variable warning.
72489
72490 2005-09-21  Bruno Haible  <bruno@clisp.org>
72491
72492         * lib/unicodeio.h (unicode_to_mb): New declaration.
72493
72494 2005-09-20  Derek Price  <derek@ximbiot.com>
72495
72496         * lib/getaddrinfo.c: Don't include <netdb.h> included from
72497         getaddrinfo.h.
72498
72499 2005-09-20  Bruno Haible  <bruno@clisp.org>
72500
72501         * gnulib-tool: Remove trailing slashes from the values specified for
72502         --source-base, --m4-base, --tests-base, --aux-dir.
72503         Suggested by Simon Josefsson <jas@extundo.com>.
72504
72505 2005-09-20  Bruno Haible  <bruno@clisp.org>
72506
72507         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
72508         func_modules_to_filelist, func_import, func_create_testdir): Make all
72509         sorting results locale-independent, so that gnulib-cache.m4 doesn't
72510         change when gnulib-tool is invoked in a different locale.
72511
72512 2005-09-19  Simon Josefsson  <jas@extundo.com>
72513
72514         * m4/socklen.m4: Fix typo.
72515
72516 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72517
72518         Use a consistent style for including <config.h>.
72519         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
72520         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
72521         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
72522         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
72523         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
72524         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
72525         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
72526         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
72527         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
72528         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
72529         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
72530         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
72531         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
72532         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
72533         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
72534         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
72535         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
72536         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
72537         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
72538         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
72539         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
72540         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
72541         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
72542         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
72543         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
72544         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
72545         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
72546         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
72547         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
72548         lib/xstrtoumax.c, lib/yesno.c:
72549         Standardize inclusion of config.h.
72550         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
72551         lib/inttostr.h:  Removed inclusion of config.h from header files.
72552         * lib/inttostr.c:  Adjusted in-tree users.
72553         * lib/timespec.h: Remove superfluous warning to include config.h.
72554         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
72555         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
72556         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
72557         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
72558         config.h with HAVE_CONFIG_H.
72559
72560 2005-09-19  Jim Meyering  <jim@meyering.net>
72561
72562         * modules/pathmax (License): Change to LGPL.
72563
72564 2005-09-19  Derek Price  <derek@ximbiot.com>
72565
72566         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
72567
72568 2005-09-19  Bruno Haible  <bruno@clisp.org>
72569
72570         * gnulib-tool (import): Provide default for --tests-base.
72571
72572 2005-09-19  Bruno Haible  <bruno@clisp.org>
72573
72574         * doc/quote.texi: New file, extracted from gnulib.texi.
72575         * doc/ctime.texi: New file, extracted from gnulib.texi.
72576         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
72577         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
72578         * doc/gnulib.texi: Include them.
72579
72580 2005-09-18  Bruno Haible  <bruno@clisp.org>
72581
72582         Portability fix.
72583         * gnulib-tool (func_readlink): New function.
72584         (func_ln_if_changed): Use it.
72585
72586 2005-09-18  Bruno Haible  <bruno@clisp.org>
72587
72588         * gnulib-tool: Support --with-tests also with --import.
72589         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
72590         (func_import): Use variables $testsbase and $inctests. Emit a
72591         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
72592         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
72593         SUBDIRS += $testsdir.
72594         (func_create_testdir): Update.
72595
72596 2005-09-18  Bruno Haible  <bruno@clisp.org>
72597
72598         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
72599         instead of $dry_run.
72600         (func_cp_if_changed, func_mv_if_changed): Remove functions.
72601         (func_ln_if_changed): Don't handle dry-run here.
72602         (func_import): In dry-run mode, detect more precisely which actions
72603         would be performed, and don't use "...ing" verbs.
72604
72605 2005-09-18  Bruno Haible  <bruno@clisp.org>
72606
72607         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
72608         (func_import): Use join on two temporary files instead of three nested
72609         loops, in order to determine which files are new or old.
72610
72611 2005-09-18  Bruno Haible  <bruno@clisp.org>
72612
72613         * gnulib-tool (func_import): Comment out code that spits out the
72614         new files with --dry-run.
72615
72616 2005-09-18  Bruno Haible  <bruno@clisp.org>
72617
72618         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
72619
72620 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
72621
72622         * lib/stat-time.h: New file.
72623         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
72624         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
72625         in a different way.
72626         (timespec_cmp): New function.
72627         * lib/utimecmp.c: Include stat-time.h.
72628         (SYSCALL_RESOLUTION): Depend on whether various struct stat
72629         members exist, not on the obsolescent ST_MTIM_NSEC.
72630         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
72631
72632 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
72633
72634         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
72635
72636 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
72637
72638         * MODULES.html.sh (File system functions): Add stat-time.
72639         * modules/stat-time: New file.
72640         * modules/timespec (Files): Remove m4/st_mtim.m4; this
72641         is now done in a different way, by the stat-time module.
72642         * modules/utimecmp (Depends-on): Add stat-time.
72643
72644 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72645
72646         * m4/st_mtim.m4: Remove.  Superseded by...
72647         * m4/stat-time.m4: New file.
72648         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
72649         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
72650
72651 2005-09-15  Derek Price  <derek@ximbiot.com>
72652
72653         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
72654
72655 2005-09-15  Derek Price  <derek@ximbiot.com>
72656
72657         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
72658         * lib/regex_internal.c: Ditto, using this...
72659         (__GNUC_PREREQ): ...new macro.
72660         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
72661         using...
72662         (__GNUC_PREREQ): ...this new macro.
72663
72664         * lib/strstr.h: Include string.h. Define strstr as a macro here.
72665
72666 2005-09-15  Derek Price  <derek@ximbiot.com>
72667             Paul Eggert  <eggert@cs.ucla.edu>
72668
72669         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
72670         changes, consolidating in...
72671         * lib/regex_internal.h: ...this file.
72672
72673 2005-09-13  Jim Meyering  <jim@meyering.net>
72674
72675         * lib/canon-host.c: Filter through gnu indent and reword comments
72676         slightly.
72677         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
72678
72679 2005-09-13  Derek Price  <derek@ximbiot.com>
72680
72681         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
72682         failure.
72683         Reported by Jim Meyering  <jim@meyering.net>.
72684
72685 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72686
72687         * lib/base64.c: Typo.
72688         (base64_encode): Put b64str in initialized data section.
72689
72690 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
72691
72692         Merge glibc and coreutils changes into gnulib, plus a few
72693         extra fixes.
72694         * lib/md5.c: Use #error rather than a string.
72695         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
72696         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
72697         (__attribute__): Define to empty for non recent-GCC.
72698         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
72699         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
72700         Renamed from their non-__ counterparts, with new macros replacing
72701         them if not _LIBC.  Add __THROW attribute.
72702         (rol): Remove.
72703         (struct md5_ctx): Align buffer if using GCC.
72704         * lib/sha1.h (struct sha1_ctx): Likewise.
72705         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
72706         The old name was backwards.
72707         (NOTSWAP): Remove; not used.
72708         (rol): New macro, moved here from md5.h.
72709         (sha1_process_block): Remove a FIXME that doesn't make sense.
72710
72711 2005-09-12  Derek Price  <derek@ximbiot.com>
72712
72713         Return usable errors from canon-host.
72714         * lib/canon-host.h: New file.
72715         * lib/canon-host.c (canon_host): Wrap...
72716         (canon_host_r): ...this new function, which now relies exclusively on
72717         getaddrinfo.
72718         (ch_strerror): New function.
72719         (last_cherror): New global.
72720         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
72721         interface.
72722         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
72723         void *.
72724         (freeaddrinfo): Free ai->ai_canonname when set.
72725
72726 2005-09-12  Derek Price  <derek@ximbiot.com>
72727
72728         Make canon-host require getaddrinfo.
72729         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
72730         AC_LIBSOURCE canon-host.h.  Call...
72731         (gl_PREREQ_CANON_HOST): ...this new function, which requires
72732         gl_GETADDRINFO.
72733         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
72734
72735 2005-09-12  Derek Price  <derek@ximbiot.com>
72736
72737         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
72738         LGPL.
72739         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
72740
72741 2005-09-12  Derek Price  <derek@ximbiot.com>
72742
72743         * lib/gai_strerror.c: Include config.h when available.  Include
72744         getaddrinfo.h before other headers to test interface.
72745         Reported by Larry Jones <lawrence.jones@ugs.com>.
72746
72747 2005-09-12  Derek Price  <derek@ximbiot.com>
72748             Paul Eggert  <eggert@cs.ucla.edu>
72749
72750         * modules/glob (Files): Add glob-libc.h.
72751
72752 2005-09-12  Derek Price  <derek@ximbiot.com>
72753             Paul Eggert  <eggert@cs.ucla.edu>
72754
72755         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
72756         glob_.h, glob-libc.h.
72757         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
72758
72759 2005-09-12  Derek Price  <derek@ximbiot.com>
72760             Paul Eggert  <eggert@cs.ucla.edu>
72761
72762         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
72763         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
72764         protecting things that should be done only in gnulib contexts.
72765         * lib/glob_.h: New file, containing only the glob things needed for
72766         gnulib.
72767         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
72768         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
72769         (glob, globfree, glob_pattern_p): Now defined simply in terms of
72770         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
72771         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
72772         and to respect the namespace rules better.
72773
72774 2005-09-08  Simon Josefsson  <jas@extundo.com>
72775
72776         * modules/socklen: New file.
72777
72778 2005-09-08  Simon Josefsson  <jas@extundo.com>
72779
72780         * m4/socklen.m4: New file.
72781
72782 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72783
72784         * modules/utimens (Files): Add m4/utimbuf.m4, since
72785         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
72786         Reported by Sergey Poznyakoff.
72787
72788 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72789
72790         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
72791         definitions, since that's the preferred style in glibc.
72792         Fix a minor spacing issue, and update copyright notice to match
72793         glibc's.
72794
72795 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72796
72797         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
72798
72799 2005-09-06  Simon Josefsson  <jas@extundo.com>
72800
72801         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
72802         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
72803
72804 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
72805
72806         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
72807         warning.
72808
72809 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
72810
72811         * config/srclist.txt: Add glibc bug 1302.
72812
72813 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
72814
72815         Change bitset word type from unsigned int to unsigned long int,
72816         as this has better performance on typical 64-bit hosts.
72817         Port bitset code to hosts with unusual word sizes.
72818         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
72819         (build_collating_symbol):
72820         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
72821         argument is a bitset.  This is merely a style issue, but it makes
72822         it clearer that an entire array is expected.
72823         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
72824         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
72825         Port to the case where bitset_word is not the same as unsigned int.
72826         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
72827         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
72828         Likewise.
72829         * lib/regexec.c (check_dst_limits_calc_pos_1,
72830         check_subexp_matching_top):
72831         (build_trtable, group_nodes_into_DFAstates):
72832         Likewise.
72833         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
72834         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
72835         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
72836         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
72837         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
72838         * lib/regcomp.c (optimize_subexps, lower_subexp):
72839         Work even if bitset_word has holes in its bitwise representation.
72840         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
72841         * lib/regexec.c (check_dst_limits_calc_pos_1,
72842         check_subexp_matching_top):
72843         Likewise.
72844         * lib/regex_internal.c (re_string_reconstruct):
72845         Don't assume UCHAR_MAX == 255.
72846         * lib/regex_internal.h (bitset_set_all): Likewise.
72847         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
72848         All uses changed.
72849         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
72850         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
72851         All uses changed.
72852         (BITSET_WORD_MAX): New macro.
72853         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
72854         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
72855         (bitset_empty, bitset_copy):
72856         Prefer sizeof (bitset) to multiplying it out ourselves.
72857         (bitset_not_merge): Remove; unused.
72858         (bitset_contain): Return bool, not unsigned int with one bit on.
72859         All callers changed.
72860         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
72861         alignment than re_node_set; do this by defining a new internal
72862         type struct dests_alloc and using it to allocate memory.
72863
72864 2005-09-05  Bruno Haible  <bruno@clisp.org>
72865
72866         * gnulib-tool (func_import): Fix comparison in handling of symbolic
72867         links.
72868
72869 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
72870
72871         * modules/size_max (Makefile.am): Add size_max.h
72872
72873 2005-09-04  Derek Price  <derek@ximbiot.com>
72874
72875         * gnulib-tool (func_import): Fix reversed $symbolic logic.
72876
72877 2005-09-03  Simon Josefsson  <jas@extundo.com>
72878
72879         * gnulib-tool: Fix typo.
72880
72881 2005-09-03  Simon Josefsson  <jas@extundo.com>
72882
72883         * config/srclist.txt: Add glibc bug 1293.
72884
72885 2005-09-03  Derek Price  <derek@ximbiot.com>
72886
72887         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
72888         From Larry Jones <lawrence.jones@ugs.com>.
72889
72890 2005-09-02  Simon Josefsson  <jas@extundo.com>
72891
72892         * modules/socklen: New file.
72893
72894 2005-09-02  Simon Josefsson  <jas@extundo.com>
72895
72896         * modules/havelib: New module.
72897
72898         * modules/gettext, modules/iconv, modules/lock, modules/readline:
72899         Use havelib.
72900
72901 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
72902
72903         Check for arithmetic overflow when calculating sizes, to prevent
72904         some buffer-overflow issues.  These patches are conservative, in the
72905         sense that when I couldn't determine whether an overflow was possible,
72906         I inserted a run-time check.
72907         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
72908         macros.
72909         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
72910         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
72911         (re_xnrealloc, re_x2nrealloc): New inline functions.
72912         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
72913         parse_bracket_exp):
72914         (build_equiv_class, build_charclass): Check for arithmetic overflow
72915         in size expression calculations.
72916         * lib/regex_internal.c (re_string_realloc_buffers):
72917         (build_wcs_upper_buffer, re_node_set_add_intersect):
72918         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
72919         (re_dfa_add_node, register_state): Likewise.
72920         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
72921         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
72922         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
72923         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
72924
72925 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
72926
72927         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
72928         m4/ulonglong.m4.  Problem reported by Martin Lambers.
72929
72930 2005-09-02  Bruno Haible  <bruno@clisp.org>
72931
72932         Support for lib vs. lib64 distinction on biarch platforms.
72933         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
72934         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
72935         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
72936
72937 2005-09-02  Bruno Haible  <bruno@clisp.org>
72938
72939         * gnulib-tool (import): In the other first-use case, provide defaults
72940         as well.
72941
72942 2005-09-02  Bruno Haible  <bruno@clisp.org>
72943
72944         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
72945         patches not yet found in the latest gettext release.
72946
72947 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72948
72949         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
72950         to avoid a collision with bits/local_lim.h in glibc.
72951         All uses changed.  Problem reported by Dmitry V. Levin in
72952         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
72953
72954         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
72955         bugs in int versus size_t comparisons.
72956         (re_string_context_at): Fix bug where the code assumed that
72957         Idx is signed.
72958
72959         Use bool where appropriate.
72960         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
72961         All callers changed.
72962         (calc_eclosure_iter): Likewise, for ROOT arg.
72963         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
72964         (build_charclass_op): Likewise, for NON_MATCH arg.
72965         * lib/regex_internal.c (re_string_allocate, re_string_construct):
72966         (re_string_construct_common): Likewise, for ICASE arg.
72967         * lib/regexec.c (re_search_2_stub, re_search_stub):
72968         Likewise, for RET_LEN arg.
72969         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
72970         (set_regs): Likewise, for FL_BACKTRACK arg.
72971         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
72972         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
72973         (calc_eclosure_iter, parse_bracket_exp):
72974         Use bool for internal variables that are booleans.
72975         * lib/regexec.c (re_search_internal, check_matching,
72976         proceed_next_node):
72977         (set_regs, build_sifted_states, sift_states_bkref):
72978         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
72979         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
72980         (find_collation_sequence_value):
72981         Likewise.
72982         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
72983         (re_node_set_compare):
72984         Return bool, not int. All callers changed.
72985         * lib/regexec.c (check_halt_node_context, check_dst_limits):
72986         (build_trtable, check_node_accept): Likewise.
72987         * lib/regex_internal.h: Include stdbool.h.
72988
72989         Fix bugs uncovered when converting to bool.
72990         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
72991         failure instead of charging ahead blindly.
72992         * lib/regex_internal.c (register_state): Likewise.
72993         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
72994         for freeing internal storage.
72995         (group_nodes_into_DFA_states): Use unsigned int, not int, for
72996         bitset pieces used as boolean, to avoid undefined behavior
72997         on hosts that do int overflow checking.
72998
72999 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
73000
73001         * config/srclist.txt: Add glibc bugs 1285-1287.
73002
73003 2005-09-01  Jim Meyering  <jim@meyering.net>
73004
73005         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
73006         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
73007         Require gl_STAT_MACROS, too.
73008
73009 2005-09-01  Bruno Haible  <bruno@clisp.org>
73010
73011         * gnulib-tool (import): In the first-use case, provide defaults.
73012
73013 2005-09-01  Bruno Haible  <bruno@clisp.org>
73014
73015         * gnulib-tool (func_import): Remove the .tmp files.
73016
73017 2005-09-01  Bruno Haible  <bruno@clisp.org>
73018
73019         * gnulib-tool (func_import): Fix handling of symbolic links.
73020
73021 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73022
73023         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
73024         old glibc regex code mishandles strings longer than 2**31 bytes.
73025         This patch fixes this when the regex code is used in gnulib
73026         (i.e., outside glibc).
73027
73028         This patch should not affect the use of the regex code inside
73029         glibc.  No doubt this problem also needs to be handled for glibc
73030         as well, but the result will be an incompatible change to the
73031         glibc ABI, and the old ABI will have to be supported too.  That
73032         can be the the subject for another patch.
73033
73034         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
73035         governing whether the rest of this patch is active.  By default,
73036         the macro is disabled and the patch has no effect.
73037         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
73038         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
73039         (struct re_pattern_buffer, re_search, re_search_2, re_match):
73040         (re_match_2, re_set_registers): Use the new types.
73041         * lib/regex_internal.h (Idx, re_hashval_t): New types.
73042         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
73043         New macros.
73044         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
73045         (re_string_context_at, bin_tree_t, re_dfastate_t):
73046         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
73047         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
73048         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
73049         (re_string_char_size_at, re_string_wchar_at):
73050         (re_string_elem_size_at):
73051         Use the new types and macros to port to 64-bit hosts.
73052         Use unsigned types for internal values, so that the code
73053         mostly works even for arrays larger than SSIZE_MAX.
73054         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
73055         (search_duplicated_node, calc_eclosure_iter, fetch_number):
73056         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
73057         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
73058         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
73059         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
73060         (calc_inveclosure, parse_dup_op, build_range_exp):
73061         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
73062         (fetch_number, create_token_tree, mark_opt_subexp):
73063         Likewise.
73064         * lib/regex_internal.c (re_string_construct_common,
73065         create_ci_newstate):
73066         (create_cd_newstate, re_string_allocate, re_string_construct):
73067         (re_string_realloc_buffers, build_wcs_upper_buffer):
73068         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
73069         (re_string_reconstruct, re_string_peek_byte_case):
73070         (re_string_fetch_byte_case, re_string_context_at):
73071         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
73072         (re_node_set_init_copy, re_node_set_add_intersect):
73073         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
73074         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
73075         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
73076         (re_acquire_state, re_acquire_state_context, register_state):
73077         Likewise.
73078         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
73079         search_cur_bkref_entry):
73080         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
73081         (re_search_internal, re_search_2_stub, re_search_stub)
73082         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
73083         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
73084         (update_cur_sifted_state, check_dst_limits):
73085         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
73086         (check_subexp_limits, sift_states_bkref, merge_state_array):
73087         (check_subexp_matching_top, get_subexp, get_subexp_sub):
73088         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
73089         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
73090         (expand_bkref_cache, check_node_accept_bytes):
73091         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
73092         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
73093         (acquire_init_state_context, check_halt_node_context):
73094         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
73095         (sift_states_backward, clean_state_log_if_needed):
73096         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
73097         (find_recover_state, transit_state_sb, transit_state_mb):
73098         (transit_state_bkref, build_trtable, match_ctx_clean):
73099         Likewise.
73100         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
73101         to work around an assumption that REG_MISSING is negative.
73102
73103         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
73104         (seek_collating_symbol_entry) [defined _LIBC]:
73105         (lookup_collation_sequence_value) [defined _LIBC]:
73106         (build_range_exp, build_collating_symbol) [defined _LIBC]:
73107         Use prototypes rather than old-style function definitions.
73108         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
73109         (transit_state_sb) [0]:
73110         (find_collation_sequence_value) [defined _LIBC]: Likewise.
73111
73112         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
73113         rm_eo.
73114
73115         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
73116         (optimize_subexps, lower_subexp):
73117         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
73118         since the signed shift might overflow.  Use 1u<<31 instead.
73119         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
73120         Likewise.
73121         * lib/regexec.c (check_dst_limits_calc_pos_1,
73122         check_subexp_matching_top): Likewise.
73123
73124         * lib/regcomp.c (optimize_subexps, lower_subexp):
73125         Use CHAR_BIT rather than 8, for clarity.
73126         * lib/regexec.c (check_dst_limits_calc_pos_1):
73127         (check_subexp_matching_top): Likewise.
73128         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
73129         have to worry about portability issues when shifting it left.
73130         Remove no-longer-needed test for table_size > 0.
73131         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
73132         in a word, as the resulting behavior is undefined.
73133         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
73134         in one case, a <= should have been an <, and in another case the
73135         whole test was missing.
73136         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
73137         the standard name CHAR_BIT.
73138         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
73139         this is not true on one's complement and signed-magnitude hosts.
73140
73141         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
73142         next_last_offset.
73143         (struct re_dfa_t): Remove unused member states_alloc.
73144         * lib/regcomp.c (init_dfa): Don't initialize unused members.
73145
73146 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73147
73148         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
73149         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
73150         and large-file glibc and in 32-bit large-file Solaris.
73151
73152 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73153
73154         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
73155         lengths fit in regoff_t; this isn't true if regoff_t is the same
73156         width as size_t.
73157         * lib/regex.c (re_search_internal): 5th arg is LAST_START
73158         (= START + RANGE) instead of RANGE.  This avoids overflow
73159         problems when regoff_t is the same width as size_t.
73160         All callers changed.
73161         (re_search_2_stub): Check for overflow when adding the
73162         sizes of the two strings.
73163         (re_search_stub): Check for overflow when adding START
73164         to RANGE; if it occurs, substitute the extreme value.
73165
73166 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73167
73168         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
73169
73170 2005-08-31  Jim Meyering  <jim@meyering.net>
73171
73172         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
73173         a pointer-to-const.
73174         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
73175         (register_state): Likewise.
73176         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
73177         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
73178         (group_nodes_into_DFAstates): Likewise.
73179
73180 2005-08-31  Jim Meyering  <jim@meyering.net>
73181
73182         * check-module: Add a FIXME comment.
73183
73184 2005-08-31  Eric Blake  <ebb9@byu.net>
73185
73186         * modules/unistd-safer (Files): Add unistd--.h.
73187         * modules/stdio-safer (Files): Add stdio--.h.
73188
73189 2005-08-31  Derek Price  <derek@ximbiot.com>
73190
73191         * lib/getdelim.c (getdelim): Return EOF on EOF.
73192         Reported by Larry Jones <lawrence.jones@ugs.com>.
73193
73194 2005-08-31  Bruno Haible  <bruno@clisp.org>
73195
73196         Avoid unnecessary diffs in the generated lib/Makefile.am.
73197         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
73198         the generated files.
73199         (func_import): Don't set cmd.
73200
73201 2005-08-31  Bruno Haible  <bruno@clisp.org>
73202
73203         * lib/strstr.c: Include <stddef.h>, for NULL.
73204         * lib/strcasestr.c: Likewise.
73205         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
73206
73207 2005-08-31  Bruno Haible  <bruno@clisp.org>
73208
73209         * gnulib-tool: New option --macro-prefix.
73210         (func_import): Use macro_prefix.
73211         (import): Handle option --macro-prefix.
73212
73213 2005-08-31  Bruno Haible  <bruno@clisp.org>
73214
73215         * gnulib-tool (import): Rename most ac_* variables to cached_*.
73216         Also use new variables cached_lgpl, cached_libtool.
73217
73218 2005-08-31  Bruno Haible  <bruno@clisp.org>
73219
73220         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
73221         always instantiating them.
73222
73223 2005-08-31  Bruno Haible  <bruno@clisp.org>
73224
73225         * gnulib-tool (func_import): Read the previous cached settings
73226         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
73227         earlier added by gnulib but are now dropped. Warn when a gnulib file
73228         overwrites a non-gnulib file.
73229
73230 2005-08-31  Bruno Haible  <bruno@clisp.org>
73231
73232         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
73233         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
73234         projects that don't keep autogenerated files in CVS. Put into
73235         actioncmd only the specified modules, not the transitive closure.
73236
73237 2005-08-31  Bruno Haible  <bruno@clisp.org>
73238
73239         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
73240         Create directories that shall be filled.
73241         (import): Don't look for gl_* macros in configure.ac. Recurse across
73242         all directories containing a gnulib-cache.m4 files, if meaningful.
73243
73244 2005-08-31  Bruno Haible  <bruno@clisp.org>
73245
73246         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
73247         (import): Set seen_libtool when we see gl_LIBTOOL.
73248
73249 2005-08-31  Bruno Haible  <bruno@clisp.org>
73250
73251         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
73252         declaration macro definitions from generated gnulib.m4.
73253
73254 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
73255
73256         * lib/iconvme.h: Add prototype for iconv_alloc.
73257
73258 2005-08-29  Simon Josefsson  <jas@extundo.com>
73259
73260         * lib/iconvme.c: Fix errno.
73261
73262 2005-08-29  Bruno Haible  <bruno@clisp.org>
73263
73264         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
73265         that it works when the directory contains spaces.
73266
73267 2005-08-29  Bruno Haible  <bruno@clisp.org>
73268
73269         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
73270
73271 2005-08-29  Bruno Haible  <bruno@clisp.org>
73272
73273         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
73274         Emit more advice.
73275
73276 2005-08-29  Bruno Haible  <bruno@clisp.org>
73277         and Stepan Kasal  <kasal@ucw.cz>
73278
73279         * check-module: If more parameters are given, check each of them
73280         separately; add more exceptions, as noted by Jim Meyering.
73281         (check_module): New procedure.
73282         (%exempt_header): Now contains all exceptions.
73283
73284 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
73285
73286         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
73287
73288 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
73289
73290         * lib/iconvme.c: Split iconv_string into iconv_alloc.
73291
73292 2005-08-28  Bruno Haible  <bruno@clisp.org>
73293
73294         * m4/gnulib-tool.m4: New file.
73295
73296 2005-08-27  Jim Meyering  <jim@meyering.net>
73297
73298         * modules/unistd-safer (Files): Add pipe-safer.c.
73299         * modules/fcntl-safer (Files): Add creat-safer.c.
73300
73301 2005-08-27  Jim Meyering  <jim@meyering.net>
73302
73303         * m4/stdlib-safer.m4: New file.  From coreutils.
73304         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
73305         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
73306         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
73307         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
73308         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
73309
73310 2005-08-27  Jim Meyering  <jim@meyering.net>
73311
73312         * lib/fopen-safer.c: Merge minor changes from coreutils.
73313         * lib/dup-safer.c: Likewise.
73314         * lib/fd-safer.c: Likewise.
73315
73316         Merge from coreutils.
73317         * lib/stdio--.h: New file.
73318         * lib/stdlib--.h: New file.
73319         * lib/mkstemp-safer.c: New file.
73320
73321         GNU tar needs these.
73322         * lib/pipe-safer.c: New file.
73323         * lib/creat-safer.c: New file.
73324         * lib/fcntl--.h (creat): Define to creat_safer.
73325         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
73326         * lib/unistd--.h (pipe): Define to pipe_safer.
73327         * lib/unistd-safer.h: Declare pipe_safer.
73328
73329 2005-08-26  Simon Josefsson  <jas@extundo.com>
73330
73331         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
73332         Haible <bruno@clisp.org>.
73333
73334 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
73335
73336         * lib/regex_internal.h: Remove all references to
73337         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
73338         or better.
73339         (bitset_not, bitset_merge, bitset_not_merge):
73340         (bitset_mask, re_string_allocate, re_string_construct):
73341         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
73342         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
73343         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
73344         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
73345         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
73346         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
73347         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
73348         (re_acquire_state_context):
73349         Remove unnecessary forward decls.
73350         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
73351         Put __attribute at function definition,
73352         now that the function decl has been removed.
73353         * lib/regex_internal.c (re_string_peek_byte_case):
73354         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
73355         Likewise.
73356
73357 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
73358
73359         * m4/regex.m4: Add AC_PREREQ(2.50).
73360         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
73361
73362 2005-08-25  Simon Josefsson  <jas@extundo.com>
73363
73364         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
73365         __fsetlocking.
73366
73367 2005-08-25  Simon Josefsson  <jas@extundo.com>
73368
73369         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
73370         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
73371         GLIBC specific code.
73372
73373 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73374
73375         Make regex safe for g++.  This fixes one real bug (an "err"
73376         that should have been "*err").  g++ problem reported by
73377         Sam Steingold.
73378         * lib/regex_internal.h (re_calloc): New macro, consistent with
73379         re_malloc etc.  All callers of calloc changed to use re_calloc.
73380         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
73381         not int.  All callers changed.
73382         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
73383         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
73384         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
73385         (find_recover_state): Change "err" to "*err"; this fixes what
73386         appears to be a real bug.
73387         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
73388         versus int.
73389
73390 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73391
73392         * modules/regex (Depends-on): Add malloc, since the code
73393         assumes that !malloc(0) means failure.
73394
73395 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73396
73397         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
73398
73399         alloca modernization/simplification for regex.
73400         * lib/regex.c: Remove portability cruft for alloca.  This no longer
73401         needs to be at the start of the file, and can be moved into
73402         regex_internal.h and simplified.
73403         * lib/regex_internal.h: Include <alloca.h>.
73404         (__libc_use_alloca) [!defined _LIBC]: New macro.
73405         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
73406         now works outside glibc.
73407
73408 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73409
73410         * config/srclist.txt: Add glibc bugs 1241, 1245.
73411
73412 2005-08-25  Jim Meyering  <jim@meyering.net>
73413
73414         * lib/open-safer.c: Include <config.h>.
73415         Otherwise, we'd lose LARGEFILE support in any file using
73416         e.g. "fcntl--.h"
73417
73418 2005-08-25  Bruno Haible  <bruno@clisp.org>
73419
73420         * m4/minmax.m4: Require autoconf 2.52.
73421         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
73422         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
73423         alternatives of translit over the alphabet.
73424         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
73425
73426 2005-08-24  Simon Josefsson  <jas@extundo.com>
73427
73428         * tests/test-getpass.c: New file.
73429
73430 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73431
73432         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
73433         for GNU regex features.
73434
73435 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73436
73437         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
73438         * lib/regex.h (regerror): Likewise.
73439
73440         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
73441         requires this.  (The code never needed it.)
73442
73443         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
73444         All uses of recently-renamed identifiers changed to use the new,
73445         POSIX-compliant names.  The code will build and run just fine
73446         without these changes, but it's better to eat our own dog food
73447         and use the standard-conforming names.
73448
73449         * lib/regex.h: Fix a multitude of POSIX name space violations.
73450         These changes have an effect only for programs that define
73451         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
73452         do not change anything for programs compiled in the normal way.
73453         Also, there is no effect on the ABI.
73454
73455         (_REGEX_SOURCE): New macro.
73456         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
73457         defined and _GNU_SOURCE is not; this fixes a name space violation.
73458
73459         Rename the following macros to obey POSIX requirements.
73460         The old names are still visible as macros if _REGEX_SOURCE is defined.
73461         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
73462         RE_BACKSLASH_ESCAPE_IN_LISTS.
73463         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
73464         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
73465         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
73466         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
73467         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
73468         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
73469         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
73470         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
73471         (REG_INTERVALS): renamed from RE_INTERVALS.
73472         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
73473         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
73474         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
73475         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
73476         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
73477         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
73478         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
73479         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
73480         RE_UNMATCHED_RIGHT_PAREN_ORD.
73481         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
73482         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
73483         (REG_DEBUG): renamed from RE_DEBUG.
73484         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
73485         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
73486         unusual, since we can't clash with the POSIX REG_ICASE.
73487         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
73488         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
73489         (REG_NO_SUB): renamed from RE_NO_SUB.
73490         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
73491         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
73492         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
73493         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
73494         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
73495         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
73496         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
73497         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
73498         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
73499         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
73500         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
73501         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
73502         RE_SYNTAX_POSIX_MINIMAL_BASIC.
73503         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
73504         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
73505         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
73506         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
73507         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
73508         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
73509         (REG_FIXED): Renamed from REGS_FIXED.
73510         (REG_NREGS): Renamed from RE_NREGS.
73511
73512         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
73513         of other REG_* macros, since POSIX says the user is allowed to
73514         #undef these macros selectively.
73515
73516         (reg_errcode_t): Update comment stating what other tables need
73517         to be consistent.
73518
73519         Rename the following enum values to obey POSIX requirements.
73520         The old names are still visible as macros.
73521         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
73522         is not defined, since GNU is supposed to be a superset of POSIX as
73523         much as possible, and since we want reg_errcode_t to be a signed
73524         type for implementation consistency.
73525         (_REG_NOERROR): Renamed from REG_NOERROR.
73526         (_REG_NOMATCH): Renamed from REG_NOMATCH.
73527         (_REG_BADPAT): Renamed from REG_BADPAT.
73528         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
73529         (_REG_ECTYPE): Renamed from REG_ECTYPE.
73530         (_REG_EESCAPE): Renamed from REG_EESCAPE.
73531         (_REG_ESUBREG): Renamed from REG_ESUBREG.
73532         (_REG_EBRACK): Renamed from REG_EBRACK.
73533         (_REG_EPAREN): Renamed from REG_EPAREN.
73534         (_REG_EBRACE): Renamed from REG_EBRACE.
73535         (_REG_BADBR): Renamed from REG_BADBR.
73536         (_REG_ERANGE): Renamed from REG_ERANGE.
73537         (_REG_ESPACE): Renamed from REG_ESPACE.
73538         (_REG_BADRPT): Renamed from REG_BADRPT.
73539         (_REG_EEND): Renamed from REG_EEND.
73540         (_REG_ESIZE): Renamed from REG_ESIZE.
73541         (_REG_ERPAREN): Renamed from REG_ERPAREN.
73542         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
73543         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
73544         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
73545         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
73546
73547         (_REG_RE_NAME, _REG_RM_NAME): New macros.
73548         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
73549         changed.  But support the old name if the new one is not defined
73550         and if _REGEX_SOURCE.
73551
73552         Change the following member names in struct re_pattern_buffer.
73553         The old names are still supported if !_REGEX_SOURCE.
73554         The new names are always supported, regardless of _REGEX_SOURCE.
73555         (re_buffer): Renamed from buffer.
73556         (re_allocated): Renamed from allocated.
73557         (re_used): Renamed from used.
73558         (re_syntax): Renamed from syntax.
73559         (re_fastmap): Renamed from fastmap.
73560         (re_translate): Renamed from translate.
73561         (re_can_be_null): Renamed from can_be_null.
73562         (re_regs_allocated): Renamed from regs_allocated.
73563         (re_fastmap_accurate): Renamed from fastmap_accurate.
73564         (re_no_sub): Renamed from no_sub.
73565         (re_not_bol): Renamed from not_bol.
73566         (re_not_eol): Renamed from not_eol.
73567         (re_newline_anchor): Renamed from newline_anchor.
73568
73569         Change the following member names in struct re_registers.
73570         The old names are still supported if !_REGEX_SOURCE.
73571         The new names are always supported, regardless of _REGEX_SOURCE.
73572         (rm_num_regs): Renamed from num_regs.
73573         (rm_start): Renamed from start.
73574         (rm_end): Renamed from end.
73575
73576         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
73577         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
73578         Prepend __ to parameter names.
73579
73580         Undo yesterday's changes.
73581
73582 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73583
73584         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
73585         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
73586         lib/regex.c.
73587
73588 2005-08-24  Jim Meyering  <jim@meyering.net>
73589
73590         Sync from coreutils.
73591         * m4/fcntl-safer.m4: New file.
73592
73593         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
73594         and object files for this module.
73595
73596 2005-08-24  Jim Meyering  <jim@meyering.net>
73597
73598         Sync from coreutils.
73599         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
73600
73601 2005-08-24  Jim Meyering  <jim@meyering.net>
73602
73603         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
73604         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
73605
73606 2005-08-24  Jim Meyering  <jim@meyering.net>
73607
73608         * modules/fcntl-safer: New module.
73609         * modules/fts (Depends-on): Add fcntl-safer.
73610         * MODULES.html.sh (File descriptor based Input/Output):
73611         Add fcntl-safer.
73612
73613 2005-08-24  Bruno Haible  <bruno@clisp.org>
73614
73615         Support for unit test modules.
73616         * modules/README: Mention tests modules.
73617         * modules/TEMPLATE-TESTS: New file.
73618         * gnulib-tool: New options --extract-tests-module, --with-tests and
73619         --tests-base (unused for the moment).
73620         (testsbase, inctests): New variables.
73621         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
73622         (func_verify_module): Exclude TEMPLATE-TESTS.
73623         (func_verify_nontests_module, func_verify_tests_module): New functions.
73624         (func_get_dependencies): Add implicit dependency for tests modules.
73625         (func_get_tests_module): New function.
73626         (func_modules_transitive_closure): When --with-tests was specified,
73627         include the unit tests as well, unless explicitly avoided.
73628         (func_emit_lib_Makefile_am): Ignore the tests modules here.
73629         (func_emit_tests_Makefile_am): New function.
73630         (func_create_testdir): When --with-tests was specified, emit a
73631         tests/ directory.
73632         * MODULES.html.sh (Future developments): Update.
73633
73634 2005-08-24  Bruno Haible  <bruno@clisp.org>
73635
73636         * modules/tls-tests: New file.
73637         * tests/test-tls.c: New file, from GNU gettext.
73638
73639 2005-08-24  Bruno Haible  <bruno@clisp.org>
73640
73641         * modules/lock-tests: New file.
73642         * tests/test-lock.c: New file, from GNU gettext.
73643
73644 2005-08-24  Bruno Haible  <bruno@clisp.org>
73645
73646         * lib/lock.h: Add multiple inclusion guard.
73647         * lib/tls.h: Add multiple inclusion guard.
73648
73649 2005-08-24  Bruno Haible  <bruno@clisp.org>
73650
73651         * gnulib-tool: Add support for the --aux-dir option to
73652         --create-testdir, --create-megatestdir, --test, --megatest.
73653         (func_create_testdir, func_create_megatestdir): Optionally emit a
73654         AC_CONFIG_AUX_DIR directive.
73655         (create-testdir, create-megatestdir, test, megatest): Provide a
73656         default value for $auxdir.
73657
73658 2005-08-24  Bruno Haible  <bruno@clisp.org>
73659
73660         * gnulib-tool (import): Use compound statement instead of subshell
73661         where possible.
73662
73663 2005-08-24  Bruno Haible  <bruno@clisp.org>
73664
73665         * gnulib-tool (import): Change --aux-dir default to "build-aux".
73666
73667 2005-08-24  Bruno Haible  <bruno@clisp.org>
73668
73669         * gnulib-tool (func_version): Update.
73670
73671 2005-08-24  Bruno Haible  <bruno@clisp.org>
73672
73673         * gnulib-tool (func_import, func_create_testdir,
73674         func_create_megatestdir): Quote all autoconf macro arguments.
73675
73676 2005-08-24  Bruno Haible  <bruno@clisp.org>
73677
73678         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
73679         option --force, because --force causes the aclocal.m4 of each
73680         subdirectory to be newer than the corresponding config.h.in.
73681
73682 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
73683
73684         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
73685         All contents moved to gl_REGEX.
73686         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
73687         assume that it does.
73688
73689 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
73690
73691         * lib/regex.h (REG_NOSYS)
73692         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
73693         Define, since POSIX requires it as of 2001.
73694         (_REG_ENOSYS)
73695         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
73696         New private symbol, used to keep the enum signed in all cases.
73697         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
73698         Youngman in
73699         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
73700
73701         * lib/regex_internal.c (re_string_skip_chars, register_state):
73702         (calc_state_hash):
73703         Remove forward decls; no longer needed now that we use prototypes.
73704         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
73705         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
73706         (clean_state_log_if_needed): Likewise.
73707
73708 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
73709
73710         * config/srclist.txt: Add glibc bugs 1231-1233.
73711
73712 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73713
73714         Fix problems reported by Sam Steingold in
73715         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
73716         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
73717         assumed that reg_errcode_t is a signed type, which is not
73718         necessarily true if _XOPEN_SOURCE is not defined.
73719         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
73720         since some compilers warn about it otherwise.
73721
73722 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73723
73724         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
73725         (init_word_char, create_initial_state, duplicate_node_closure):
73726         (fetch_token, peek_token_bracket, build_range_exp):
73727         (build_collating_symbol): Remove forward decls; no longer needed
73728         now that we use prototypes.
73729
73730         * lib/regcomp.c:
73731         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
73732         (re_compile_fastmap_iter, regcomp, regerror, regfree):
73733         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
73734         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
73735         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
73736         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
73737         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
73738         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
73739         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
73740         (build_range_exp, build_collating_symbol, parse_bracket_exp):
73741         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
73742         (build_charclass, build_charclass_op, fetch_number, create_tree):
73743         (create_token_tree, mark_opt_subexp, duplicate_tree):
73744         Use prototypes rather than old-style definitions.
73745
73746         * lib/regex_internal.c:
73747         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
73748         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
73749         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
73750         (re_string_reconstruct, re_string_peek_byte_case):
73751         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
73752         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
73753         (re_node_set_init_copy, re_node_set_add_intersect):
73754         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
73755         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
73756         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
73757         (re_acquire_state, re_acquire_state_context, register_state):
73758         (create_ci_newstate, create_cd_newstate, free_state):
73759         Likewise.
73760         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
73761         re_search_2):
73762         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
73763         (re_search_internal, prune_impossible_nodes):
73764         (acquire_init_state_context, check_matching, static):
73765         (check_halt_node_context, check_halt_state_context, proceed_next_node):
73766         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
73767         (update_regs, sift_states_backward, build_sifted_states):
73768         (clean_state_log_if_needed, merge_state_array):
73769         (update_cur_sifted_state, add_epsilon_src_nodes):
73770         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
73771         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
73772         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
73773         (find_recover_state, check_subexp_matching_top, transit_state_mb):
73774         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
73775         (check_arrival, check_arrival_add_next_nodes):
73776         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
73777         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
73778         (check_node_accept_bytes, check_node_accept, extend_buffers):
73779         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
73780         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
73781         (sift_ctx_init):
73782         Likewise.
73783
73784         * lib/regex_internal.h:
73785         (re_string_allocate, re_string_construct, re_string_reconstruct):
73786         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
73787         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
73788         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
73789         (re_string_context_at, re_string_peek_byte_case):
73790         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
73791         is defined, since we now use prototypes always.
73792
73793         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
73794         C89 or better.  All uses removed.
73795
73796 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73797
73798         * config/srclist.txt: Add glibc bugs 1220-1227.
73799
73800 2005-08-20  Jim Meyering  <jim@meyering.net>
73801
73802         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
73803         of unused local, dfa.
73804
73805 2005-08-20  Bruno Haible  <bruno@clisp.org>
73806
73807         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
73808
73809 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73810
73811         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
73812         (re_node_set_insert_last, re_dfa_add_node):
73813         Rename local variables to avoid GCC shadowing warnings.
73814
73815 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73816
73817         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
73818         [defined lint]: Suppress bogus uninitialized-variable warnings.
73819
73820         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
73821         and let the caller return REG_ESPACE if out of space.  This
73822         removes an uninitialied-variable warning with GCC 4.0.1, and also
73823         avoids taking the address of a local variable.  All callers
73824         changed.
73825
73826 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73827
73828         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
73829         $LIBCSRC/posix/regexec.c.
73830         Add glibc bug 1217 for regcomp.c.
73831
73832 2005-08-19  Jim Meyering  <jim@meyering.net>
73833
73834         * lib/regexec.c (proceed_next_node): Redo local variables to
73835         avoid GCC shadowing warnings.
73836
73837 2005-08-18  Bruno Haible  <bruno@clisp.org>
73838
73839         * lib/strstr.c (strstr): Fix return value in multibyte case.
73840         * lib/strcasestr.c (strcasestr): Likewise.
73841
73842 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73843
73844         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
73845
73846 2005-08-17  Jim Meyering  <jim@meyering.net>
73847
73848         Make the %s format (seconds since the epoch) work for a negative
73849         number and when used with a zero-padded field width, e.g. %015s.
73850
73851         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
73852         label so that it precedes the code to set `digits'.  Otherwise,
73853         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
73854         print `00-22'.  Now, it prints `-0022', as it should.
73855
73856 2005-08-17  Bruno Haible  <bruno@clisp.org>
73857
73858         * modules/strstr (Files): Add m4/mbrtowc.m4.
73859         (Depends-on): Add mbuiter.
73860
73861 2005-08-17  Bruno Haible  <bruno@clisp.org>
73862
73863         * modules/strcasestr: New file.
73864         * MODULES.html.sh (String handling, based on ANSI C 89): Add
73865         strcasestr.
73866
73867 2005-08-17  Bruno Haible  <bruno@clisp.org>
73868
73869         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
73870
73871 2005-08-17  Bruno Haible  <bruno@clisp.org>
73872
73873         * modules/mbuiter: New file.
73874         * MODULES.html.sh (Extended multibyte and wide character utilities):
73875         Add mbuiter.
73876
73877 2005-08-17  Bruno Haible  <bruno@clisp.org>
73878
73879         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
73880         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
73881
73882 2005-08-17  Bruno Haible  <bruno@clisp.org>
73883
73884         * m4/strcasestr.m4: New file.
73885
73886 2005-08-17  Bruno Haible  <bruno@clisp.org>
73887
73888         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
73889         * lib/strstr.c: Completely rewritten, with multibyte locale support.
73890
73891 2005-08-17  Bruno Haible  <bruno@clisp.org>
73892
73893         * lib/strcasestr.h: New file.
73894         * lib/strcasestr.c: New file.
73895
73896 2005-08-17  Bruno Haible  <bruno@clisp.org>
73897
73898         * lib/strcasecmp.c: Use mbuiter.h.
73899
73900 2005-08-17  Bruno Haible  <bruno@clisp.org>
73901
73902         * lib/mbuiter.h: New file.
73903
73904 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
73905
73906         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
73907         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
73908         and gl_GETOPT are both invoked via different paths (as happens
73909         with GNU tar CVS because it uses both argp and getopt), the former
73910         wins.
73911
73912 2005-08-16  Bruno Haible  <bruno@clisp.org>
73913
73914         * modules/tls: New file.
73915         * MODULES.html.sh (Multithreading): Add tls.
73916
73917 2005-08-16  Bruno Haible  <bruno@clisp.org>
73918
73919         * modules/strnlen1: New file.
73920         * MODULES.html.sh (String handling): Add strnlen1.
73921
73922 2005-08-16  Bruno Haible  <bruno@clisp.org>
73923
73924         * modules/strcase (Files): Add m4/mbrtowc.m4.
73925         (Depends-on): Add strnlen1, mbchar.
73926
73927 2005-08-16  Bruno Haible  <bruno@clisp.org>
73928
73929         * modules/mbiter: New file.
73930         * MODULES.html.sh (Extended multibyte and wide character utilities):
73931         Add mbiter.
73932
73933 2005-08-16  Bruno Haible  <bruno@clisp.org>
73934
73935         * modules/mbfile: New file.
73936         * MODULES.html.sh (Extended multibyte and wide character utilities):
73937         Add mbfile.
73938
73939 2005-08-16  Bruno Haible  <bruno@clisp.org>
73940
73941         * modules/mbchar: New file.
73942         * MODULES.html.sh (Extended multibyte and wide character utilities):
73943         New section.
73944
73945 2005-08-16  Bruno Haible  <bruno@clisp.org>
73946
73947         * m4/tls.m4: New file, from GNU gettext.
73948
73949 2005-08-16  Bruno Haible  <bruno@clisp.org>
73950
73951         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
73952         always.
73953         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
73954
73955 2005-08-16  Bruno Haible  <bruno@clisp.org>
73956
73957         * m4/mbiter.m4: New file.
73958
73959 2005-08-16  Bruno Haible  <bruno@clisp.org>
73960
73961         * m4/mbfile.m4: New file.
73962
73963 2005-08-16  Bruno Haible  <bruno@clisp.org>
73964
73965         * m4/mbchar.m4: New file.
73966
73967 2005-08-16  Bruno Haible  <bruno@clisp.org>
73968
73969         * lib/tls.h: New file, from GNU gettext.
73970         * lib/tls.c: New file, from GNU gettext.
73971
73972 2005-08-16  Bruno Haible  <bruno@clisp.org>
73973
73974         * lib/strnlen1.h: New file.
73975         * lib/strnlen1.c: New file.
73976
73977 2005-08-16  Bruno Haible  <bruno@clisp.org>
73978
73979         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
73980         (mbi_init): Update.
73981         (mbi_avail, mbi_advance): Let the iteration end before the terminating
73982         NUL byte, not after it.
73983
73984 2005-08-16  Bruno Haible  <bruno@clisp.org>
73985
73986         * lib/strcase.h (strcasecmp): Add note in comments.
73987         * lib/strncasecmp.c: Use code from strcasecmp.c.
73988         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
73989         (strcasecmp): Work correctly in multibyte locales.
73990
73991 2005-08-16  Bruno Haible  <bruno@clisp.org>
73992
73993         * lib/mbiter.h: New file.
73994
73995 2005-08-16  Bruno Haible  <bruno@clisp.org>
73996
73997         * lib/mbfile.h: New file.
73998
73999 2005-08-16  Bruno Haible  <bruno@clisp.org>
74000
74001         * lib/mbchar.h: New file.
74002         * lib/mbchar.c: New file.
74003
74004 2005-08-16  Bruno Haible  <bruno@clisp.org>
74005
74006         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
74007         the valid ones. Makes the comparison operations transitive:
74008         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
74009         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
74010
74011 2005-08-15  Simon Josefsson  <jas@extundo.com>
74012
74013         * modules/ssize_t (License): Change to 'unlimited'.
74014
74015         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
74016
74017 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74018
74019         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
74020         Add comments for each pending glibc patch.
74021
74022 2005-08-15  Bruno Haible  <bruno@clisp.org>
74023
74024         * lib/regex.h (__restrict_arr): Don't define to __restrict if
74025         __cplusplus is defined.
74026
74027 2005-08-14  Jim Meyering  <jim@meyering.net>
74028
74029         Sync from coreutils.
74030
74031         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
74032         Use the hash-table-based cycle-detection code not just when
74033         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
74034         Reported by James Youngman in
74035         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
74036         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
74037         FTS_TIGHT_CYCLE_CHECK.
74038         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
74039         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
74040         once again.
74041         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
74042         * lib/fts.c (fd_safer): Remove decl.
74043         Include fcntl--.h rather than unistd-safer.h
74044         (fts_safe_changedir): Don't call fd_safer; no longer needed
74045         now that we include fcntl--.h.
74046
74047 2005-08-12  Simon Josefsson  <jas@extundo.com>
74048
74049         * modules/getndelim2: Use ssize_t module.
74050         * modules/getnline: Likewise.
74051         * modules/safe-read: Likewise.
74052         * modules/xreadlink: Likewise.
74053
74054         * modules/ssize_t: New file.
74055
74056 2005-08-12  Simon Josefsson  <jas@extundo.com>
74057
74058         * m4/readline.m4: Look for termcap, curses or ncurses if required.
74059
74060 2005-08-12  Simon Josefsson  <jas@extundo.com>
74061
74062         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74063         ssize_t.
74064
74065 2005-08-12  Simon Josefsson  <jas@extundo.com>
74066
74067         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
74068         readline, getdelim and check_version.
74069         (Support for systems lacking ISO C 99: Sizes of integer types):
74070         Add size_max.
74071
74072 2005-08-12  Bruno Haible  <bruno@clisp.org>
74073
74074         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
74075
74076 2005-08-11  Simon Josefsson  <jas@extundo.com>
74077
74078         * modules/readline: New file.
74079
74080         * modules/strnlen (Files): Add strnlen.h.
74081
74082 2005-08-11  Simon Josefsson  <jas@extundo.com>
74083
74084         * m4/readline.m4: New file.
74085
74086 2005-08-11  Simon Josefsson  <jas@extundo.com>
74087
74088         * lib/readline.h, readline.c: New file.
74089
74090 2005-08-11  Simon Josefsson  <jas@extundo.com>
74091
74092         * doc/gnulib.texi (Initial import, Finishing touches): Mention
74093         gl_AVOID.
74094
74095 2005-08-11  Bruno Haible  <bruno@clisp.org>
74096
74097         * lib/strnlen.h (strnlen): Change parameter name to match comment.
74098
74099 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
74100
74101         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
74102
74103 2005-08-10  Simon Josefsson  <jas@extundo.com>
74104
74105         * tests/test-iconvme.c: New file.
74106
74107 2005-08-10  Simon Josefsson  <jas@extundo.com>
74108
74109         * m4/strnlen.m4: New file.
74110
74111         * m4/strndup.m4: Don't check for strnlen declaration, done in
74112         strnlen.m4.
74113
74114 2005-08-10  Simon Josefsson  <jas@extundo.com>
74115
74116         * lib/strndup.c: Use strnlen.h.
74117
74118         * lib/strnlen.h: New file.
74119
74120 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74121
74122         * README: Typos.
74123
74124 2005-08-02  Simon Josefsson  <jas@extundo.com>
74125
74126         * modules/readline: New file.
74127
74128 2005-08-02  Simon Josefsson  <jas@extundo.com>
74129
74130         * modules/getdelim: New file.
74131
74132         * modules/getline: Rewrite, don't use getndelim2.
74133
74134 2005-08-02  Simon Josefsson  <jas@extundo.com>
74135
74136         * m4/getline.m4: Separate out getdelim stuff into separate module.
74137
74138         * m4/getdelim.m4: New file.
74139
74140 2005-08-02  Simon Josefsson  <jas@extundo.com>
74141
74142         * lib/getline.h, getline.c: Rewrite.
74143
74144         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
74145
74146 2005-07-31  Bruno Haible  <bruno@clisp.org>
74147
74148         * lib/lock.h (gl_lock_initializer): New macro.
74149         (gl_lock_define_initialized): Use it.
74150         (gl_rwlock_initializer): New macro.
74151         (gl_rwlock_define_initialized): Use it.
74152         (gl_recursive_lock_initializer): New macro.
74153         (gl_recursive_lock_define_initialized): Use it.
74154
74155 2005-07-30  Karl Berry  <karl@gnu.org>
74156
74157         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
74158         Report from Ben Pfaff, regarding getopt.
74159
74160 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
74161
74162         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
74163         normal way.
74164         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
74165         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
74166         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
74167         (gl_GETOPT): Use the new macros.  Most of the implementation
74168         is moved to the new macros.  This is for programs like Emacs
74169         that don't want all the functionality of gl_GETOPT.
74170
74171 2005-07-26  Bruno Haible  <bruno@clisp.org>
74172
74173         * m4/lock.m4: Update from GNU gettext.
74174
74175 2005-07-26  Bruno Haible  <bruno@clisp.org>
74176
74177         * lib/lock.h: Update from GNU gettext.
74178         * lib/lock.c: Update from GNU gettext.
74179
74180 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
74181
74182         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
74183         obsolescent AC_TRY_RUN.  Include the default includes files, for
74184         'exit'.
74185
74186 2005-07-24  Bruno Haible  <bruno@clisp.org>
74187
74188         * modules/visibility: New file.
74189         * MODULES.html.sh (Misc): Add visibility.
74190
74191 2005-07-24  Bruno Haible  <bruno@clisp.org>
74192
74193         * m4/visibility.m4: New file.
74194
74195 2005-07-24  Bruno Haible  <bruno@clisp.org>
74196
74197         * doc/visibility.texi: New file.
74198
74199 2005-07-22  Bruno Haible  <bruno@clisp.org>
74200
74201         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
74202         $(ALLOCA_H), redundant through BUILT_SOURCES.
74203         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
74204         redundant through BUILT_SOURCES.
74205         * modules/byteswap (Makefile.am): Remove explicit dependency on
74206         $(BYTESWAP_H), redundant through BUILT_SOURCES.
74207         * modules/fnmatch (Makefile.am): Remove explicit dependency on
74208         $(FNMATCH_H), redundant through BUILT_SOURCES.
74209         * modules/getopt (Makefile.am): Remove explicit dependency on
74210         $(GETOPT_H), redundant through BUILT_SOURCES.
74211         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
74212         redundant through BUILT_SOURCES.
74213         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
74214         redundant through BUILT_SOURCES.
74215         * modules/stdbool (Makefile.am): Remove explicit dependency on
74216         $(STDBOOL_H), redundant through BUILT_SOURCES.
74217         * modules/stdint (Makefile.am): Remove explicit dependency on
74218         $(STDINT_H), redundant through BUILT_SOURCES.
74219         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
74220         Remove explicit dependency on $(SYSEXITS_H).
74221         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
74222
74223 2005-07-18  Simon Josefsson  <jas@extundo.com>
74224
74225         * lib/check-version.c (check_version): Accept identical versions too.
74226
74227 2005-07-18  Bruno Haible  <bruno@clisp.org>
74228
74229         * modules/lock: New file.
74230         * MODULES.html.sh (Multithreading): New section.
74231
74232 2005-07-18  Bruno Haible  <bruno@clisp.org>
74233
74234         * m4/lock.m4: New file, from GNU gettext.
74235
74236 2005-07-18  Bruno Haible  <bruno@clisp.org>
74237
74238         * lib/lock.h: New file, from GNU gettext.
74239         * lib/lock.c: New file, from GNU gettext.
74240
74241 2005-07-18  Bruno Haible  <bruno@clisp.org>
74242
74243         * lib/lock.h (gl_once_t): New type.
74244         (gl_once_define, gl_once): New macros.
74245         * lib/lock.c (fresh_once): New variable.
74246         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
74247         functions.
74248
74249 2005-07-16  Simon Josefsson  <jas@extundo.com>
74250
74251         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
74252         workaround, suggested by Bruno.
74253
74254 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
74255
74256         * modules/xalloc (Depends-on): Add xalloc-die.
74257         * modules/xvasprintf (Depends-on): Add xalloc-die.
74258
74259 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
74260
74261         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
74262         with a minor change.
74263
74264 2005-07-15  Bruno Haible  <bruno@clisp.org>
74265
74266         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
74267         When using lib/poll.c, define poll as rpl_poll.
74268
74269 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
74270
74271         * modules/argp (Depends-on): Remove unlocked-io.
74272
74273 2005-07-14  Derek Price  <derek@ximbiot.com>
74274
74275         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
74276         for glob symlink bug.
74277
74278 2005-07-14  Bruno Haible  <bruno@clisp.org>
74279
74280         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
74281         Instead, test for *_unlocked function declarations directly.
74282
74283 2005-07-11  Simon Josefsson  <jas@extundo.com>
74284
74285         * modules/size_max: New file.
74286
74287         * modules/xsize: Depend on size_max module for size_max.m4.
74288
74289 2005-07-11  Simon Josefsson  <jas@extundo.com>
74290
74291         * lib/size_max.h: New file.
74292
74293 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
74294
74295         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
74296         copyright symbol and the year.
74297         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
74298         (version_etc_va): Use parameterized copyright notice.
74299         Reword to conform to the current GNU coding standards.
74300
74301 2005-07-11  Karl Berry  <karl@gnu.org>
74302
74303         * doc/gnulib.texi (Quoting): new node.
74304         (Initial import): more info, from Patrice.
74305
74306 2005-07-11  Bruno Haible  <bruno@clisp.org>
74307
74308         * gnulib-tool (func_usage): Document option --avoid.
74309         (Command line options): Handle --avoid.
74310         (func_acceptable): New function.
74311         (func_modules_transitive_closure): Use it.
74312
74313 2005-07-11  Bruno Haible  <bruno@clisp.org>
74314
74315         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
74316         Reported by Jim Meyering.
74317
74318 2005-07-10  Bruno Haible  <bruno@clisp.org>
74319
74320         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
74321         Needed when size_t is smaller than 'unsigned int'.
74322         Reported by Paul Eggert.
74323
74324 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
74325
74326         * modules/argp (Depends-on): Add unlocked-io
74327
74328 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
74329
74330         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
74331         block of defines.
74332
74333 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
74334
74335         * config/srclist.txt: Comment out regcomp.c, since we have a porting
74336         fix now.
74337
74338 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
74339         and Paul Eggert  <eggert@cs.ucla.edu>
74340
74341         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
74342         in wint_t, not wchar_t.  Remove now-unnecessary cast.
74343
74344 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
74345
74346         * modules/regex (Files): Add lib/regex_internal.c,
74347         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
74348         (Depends-on): Add extensions.
74349         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
74350
74351 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
74352
74353         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
74354         pathconf.
74355         * m4/same.m4 (gl_SAME): Likewise.
74356         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
74357
74358         * m4/regex.m4: Adjust to new libc regex implementation.
74359         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
74360         all the .c and .h parts of (the new) regex.
74361         Quote the m4 stuff better.
74362         Check for RE_ICASE bug of old gnulib.
74363         Check for REG_STARTEND of recent libc.
74364         Rename local variables from jm_* to gl_*.
74365         Quote operand of "test -f".
74366         Say "recent enough" version of libc, not "version 2".
74367         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
74368         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
74369         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
74370         Remove check for btowc, isascii.
74371         Require AM_LANGINFO_CODESET.
74372
74373 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
74374
74375         * lib/regex.c, regex.h: Sync from libc.
74376         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
74377         * lib/regexec.c:
74378         New files, synced from libc, except that regex_internal.h
74379         currently has a small porting fix.
74380
74381 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
74382
74383         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
74384         regex_internal.c, regexec.c.
74385         Add regex_internal.h too, but as a comment, since the libc version
74386         is currently broken in gnulib mode.
74387
74388 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74389
74390         Support programs like Emacs that use gnulib but not gettext.
74391         * MODULES.html.sh (Internationalization functions): Add gettext-h.
74392         * modules/gettext-h: New file.
74393         * modules/gettext (Files): Remove lib/gettext.h.
74394         (Depends-on): Add gettext-h.
74395         (Makefile.am): Remove lib_SOURCES.
74396         * modules/argmatch, modules/c-stack, modules/closeout:
74397         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
74398         * modules/execute, modules/file-type, modules/getaddrinfo:
74399         * modules/getopt, modules/human, modules/javacomp:
74400         * modules/javaexec, modules/mkdir-p, modules/obstack:
74401         * modules/openat, modules/pagealign_alloc, modules/pipe:
74402         * modules/quotearg, modules/regex, modules/rpmatch:
74403         * modules/unicodeio, modules/userspec, modules/version-etc:
74404         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
74405         * modules/xsetenv:
74406         Depend on gettext-h, not gettext.
74407
74408 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
74409
74410         * gnulib-tool (func_import): Add support for 'public domain' license.
74411         * modules/alloca, modules/atexit, modules/memmove:
74412         Now public domain, not GPL.
74413         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
74414         * modules/realloc, modules/strerror, modules/strtod:
74415         Now LGPL, not GPL.
74416
74417 2005-07-05  Bruno Haible  <bruno@clisp.org>
74418
74419         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
74420         autoconf CVS. Needed for mingw.
74421
74422 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74423
74424         Remove the dependency of the strftime module on the tzset module.
74425         * modules/strftime (Depends-on): Remove dependency on tzset.
74426
74427 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74428
74429         Remove the dependency of the strftime module on the tzset module.
74430         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
74431         gl_FUNC_TZSET_CLOBBER.
74432
74433 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74434
74435         Remove the dependency of the strftime module on the tzset module.
74436         * lib/strftime.c (my_strftime)
74437         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
74438         Copy the input structure, to work around some of the bug with
74439         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
74440         Solaris releases, you should also use the tzset module, but we won't
74441         require it as a dependency any more since we don't want LGPLed code
74442         to depend on GPLed code.
74443
74444 2005-07-02  Jim Meyering  <jim@meyering.net>
74445
74446         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
74447         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
74448         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
74449         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
74450
74451 2005-07-02  Jim Meyering  <jim@meyering.net>
74452
74453         * lib/backupfile.c (backup_args): Change a `0' to NULL.
74454
74455 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
74456
74457         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
74458         declares only 'struct timespec;' (!).
74459
74460 2005-07-01  Jim Meyering  <jim@meyering.net>
74461
74462         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
74463         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
74464         * lib/save-cwd.c, tempname.c:
74465         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
74466         and don't include <sys/file.h>).
74467
74468 2005-06-29  Jim Meyering  <jim@meyering.net>
74469
74470         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
74471         type name.  Use the variable name instead.
74472         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
74473         Likewise.
74474
74475 2005-06-28  Simon Josefsson  <jas@extundo.com>
74476
74477         * modules/check-version (Files): Add check-version.m4.
74478
74479 2005-06-28  Simon Josefsson  <jas@extundo.com>
74480
74481         * m4/check-version.m4: New file, suggested by Jim Meyering
74482         <jim@meyering.net>.
74483
74484 2005-06-28  Simon Josefsson  <jas@extundo.com>
74485
74486         * lib/check-version.h, lib/check-version.c: New files.
74487
74488 2005-06-28  Simon Josefsson  <jas@extundo.com>
74489
74490         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
74491         collision with global variable.  Better indentation.  Don't
74492         increment buffer pointer beyond buffer end.  Based on comments
74493         from Paul Eggert <eggert@cs.ucla.edu>.
74494
74495         * lib/base64.h: Indent.
74496
74497 2005-06-28  Simon Josefsson  <jas@extundo.com>
74498
74499         * doc/gnulib.texi (Library version handling): New section.
74500
74501 2005-06-28  Jim Meyering  <jim@meyering.net>
74502
74503         * check-module (find_included_lib_files): Hard-code another
74504         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
74505         but modules/fts-lgpl (correctly) does not list those files.
74506
74507         * modules/canonicalize (Files): Add lib/pathmax.h.
74508
74509 2005-06-25  Simon Josefsson  <jas@extundo.com>
74510
74511         * modules/check-version: New file.
74512
74513 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
74514
74515         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
74516         initializer of struct addrinfo, as an indication that we don't
74517         care how many members the structure has.
74518
74519 2005-06-24  Derek Price  <derek@ximbiot.com>
74520         and Bruno Haible  <bruno@clisp.org>
74521
74522         Remove stat module & update lstat.
74523         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
74524         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74525         * m4/stat.m4: Remove this file.
74526
74527 2005-06-24  Derek Price  <derek@ximbiot.com>
74528         and Bruno Haible  <bruno@clisp.org>
74529
74530         Remove stat module & update lstat.
74531         * lib/stat.c: Remove this file...
74532         (slash_aware_lstat): ...moving this content and its support...
74533         * lib/lstat.c (rpl_lstat): ...into here.
74534         * lib/lstat.h: New file.
74535
74536 2005-06-24  Derek Price  <derek@ximbiot.com>
74537         and Bruno Haible  <bruno@clisp.org>
74538
74539         Remove stat module & update lstat.
74540         * config/srclist.txt (libc sources): Remove stat.
74541
74542 2005-06-24  Derek Price  <derek@ximbiot.com>
74543         and Bruno Haible  <bruno@clisp.org>
74544
74545         Remove stat module & update lstat.
74546         * MODULES.html.sh (stat): Remove.
74547         * MODULES.html: Regenerated.
74548         * modules/lstat (Description): Correct function name.
74549         (Files): Add "lstat.h".
74550         (Depends-on): Remove stat, add xalloc, stat-macros.
74551         * modules/stat: Remove this file.
74552         (Include): Add "lstat.h", remove <sys/stat.h>.
74553
74554 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
74555
74556         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
74557         (ranged_convert): Don't save conversion in a temporary struct.
74558         This causes a warning with GCC 4.0.0, and anyway in the typical
74559         case it's not worth the extra 100 bytes or so of code.
74560         (ranged_convert, __mktime_internal): When calling a function via a
74561         pointer P, use P () rather than (*P) (), as we now assume C89 or
74562         better.
74563
74564 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
74565
74566         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
74567         "who -r" failed to give output.  Problem reported by Tim Waugh.
74568
74569         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
74570         (xcalloc): Use it to avoid needless tests.
74571         Problem reported by Jim Meyering.
74572
74573 2005-06-20  Derek Price  <derek@ximbiot.com>
74574
74575         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
74576         unnecessary for Autoconfs > 2.59c.
74577
74578 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74579
74580         * lib/argp.h (__option_is_short): Check upper limit of
74581         __key. Isprint() requires its argument to have the value
74582         of an unsigned char or EOF.
74583
74584 2005-06-16  Jim Meyering  <jim@meyering.net>
74585
74586         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
74587         when either N or S is zero.
74588
74589 2005-06-16  Derek Price  <derek@ximbiot.com>
74590
74591         * m4/bison.m4: Declare YACC & YFLAGS precious.
74592
74593 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
74594
74595         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
74596         multibyte string or pattern, fall back on unibyte matching.
74597         Problem reported by James Youngman.
74598
74599 2005-06-08  Bruno Haible  <bruno@clisp.org>
74600
74601         * modules/csharpcomp: New file.
74602         * MODULES.html.sh (C#): Add csharpcomp.
74603
74604 2005-06-08  Bruno Haible  <bruno@clisp.org>
74605
74606         * m4/csharpcomp.m4: New file, from GNU gettext.
74607
74608 2005-06-08  Bruno Haible  <bruno@clisp.org>
74609
74610         * lib/csharpcomp.h: New file, from GNU gettext.
74611         * lib/csharpcomp.c: New file, from GNU gettext.
74612         * lib/csharpcomp.sh.in: New file, from GNU gettext.
74613
74614 2005-06-08  Bruno Haible  <bruno@clisp.org>
74615
74616         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
74617         warning on mingw.
74618
74619 2005-06-07  Derek Price  <derek@ximbiot.com>
74620
74621         Sync from CVS.
74622         * lib/glob_.h: Indent nested #ifdef.
74623
74624 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
74625
74626         Sync from coreutils.
74627         Use "file name" when talking about file names, instead of "filename"
74628         or "path", as per the GNU coding standards.
74629         * lib/mkdir-p.c: Renamed from makepath.c.
74630         (make_dir_parents): Renamed from make_path.  All callers changed.
74631         * lib/mkdir-p.h: Likewise.  All includers changed.
74632         * lib/filenamecat.c: Renamed from path-concat.c.
74633         (file_name_concat): Renamed from path_concat.  All callers changed.
74634         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
74635         * lib/filenamecat.h: Likewise.  All includers changed.
74636         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
74637         in comments or local variable names.
74638         * lib/basename.c: Likewise.
74639         * lib/canonicalize.c, canonicalize.h: Likewise.
74640         * lib/dirname.c, dirname.h: Likewise.
74641         * lib/euidaccess.c: Likewise.
74642         * lib/exclude.c: Likewise
74643         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
74644         * lib/fsusage.c, fsuage.h: Likewise.
74645         * lib/fts.c, fts_.h: Likewise.
74646         * lib/getcwd.c: Likewise.
74647         * lib/getloadavg.c: Likewise.
74648         * lib/mkstemp.c: Likewise.
74649         * lib/mountlist.c, mountlist.h: Likewise.
74650         * lib/openat.c, openat.h: Likewise.
74651         * lib/readlink-stub.c: Likewise.
74652         * lib/readutmp.c, readutmp.h: Likewise.
74653         * lib/rename.c: Likewise.
74654         * lib/rmdir.c: Likewise.
74655         * lib/same.c: Likewise.
74656         * lib/savedir.c: Likewise.
74657         * lib/stripslash.c: Likewise.
74658         * lib/tempname.c: Likewise.
74659         * lib/xreadlink.c: Likewise.
74660         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
74661         All uses changed.
74662         * lib/exclude.h: Likewise.
74663
74664         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
74665         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
74666         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
74667         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
74668         * lib/pathmax.h: Include <limits.h> unconditionally, since other
74669         files have been getting away with it for years (MORE/BSD 4.3
74670         is extinct now).
74671         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
74672         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
74673
74674         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
74675         Define to 256, not 255, as per modern POSIX.
74676
74677 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
74678
74679         Sync from coreutils.
74680         Use "file name" when talking about file names, instead of "filename"
74681         or "path", as per the GNU coding standards.
74682         * MODULES.html.sh: mkdir-p renamed from makepath.
74683         filenamecat renamed from path-concat.
74684         * modules/filenamecat: Renamed from modules/path-concat.
74685         (Files): filenamecat.h and filenamecat.c renamed from
74686         path-concat.h and path-concat.c.
74687         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
74688         (Include): filenamecat.h, not path-concat.h.
74689         * modules/mkdir-p: Renamed from modules/makepath.
74690         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
74691         makepath.c.
74692         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
74693         (Include): mkdir-p.h, not makepath.h.
74694
74695 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
74696
74697         Sync from coreutils.
74698         * m4/mkdir-p.m4: Renamed from makepath.m4.
74699         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
74700         Rename files from makepath.c to mkdir-p.c, and from
74701         makepath.h to mkdir-p.h.
74702         * m4/filenamecat.m4: Renamed from path-concat.m4.
74703         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
74704         Rename files from path-concat.c to filenamecat.c,
74705         and from path-concat.h to filenamecat.h.
74706         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
74707         "file name" in local variables or comments.
74708         * m4/rename.m4: Likewise.
74709
74710 2005-06-01  Bruno Haible  <bruno@clisp.org>
74711
74712         * modules/csharpexec: New file.
74713         * MODULES.html.sh (C#): New section.
74714
74715 2005-06-01  Bruno Haible  <bruno@clisp.org>
74716
74717         * m4/csharp.m4: New file, from GNU gettext.
74718         * m4/csharpexec.m4: New file, from GNU gettext.
74719
74720 2005-06-01  Bruno Haible  <bruno@clisp.org>
74721
74722         * lib/csharpexec.h: New file, from GNU gettext.
74723         * lib/csharpexec.c: New file, from GNU gettext.
74724         * lib/csharpexec.sh.in: New file, from GNU gettext.
74725
74726 2005-05-31  Derek Price  <derek@ximbiot.com>
74727             Paul Eggert  <eggert@cs.ucla.edu>
74728
74729         Sync from cvs.
74730         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
74731
74732 2005-05-31  Derek Price  <derek@ximbiot.com>
74733             Paul Eggert  <eggert@cs.ucla.edu>
74734
74735         Sync from cvs.
74736         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
74737
74738 2005-05-29  Derek Price  <derek@ximbiot.com>
74739
74740         * config/srclist.txt (glob_.h, glob.c): Add these files.
74741
74742 2005-05-29  Derek Price  <derek@ximbiot.com>
74743
74744         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
74745         * modules/glob: New file.
74746         * modules/getlogin_r: Add link to POSIX spec in description.
74747
74748 2005-05-29  Derek Price  <derek@ximbiot.com>
74749             Paul Eggert  <eggert@cs.ucla.edu>
74750
74751         * m4/glob.m4: New file.
74752
74753 2005-05-29  Derek Price  <derek@ximbiot.com>
74754             Paul Eggert  <eggert@cs.ucla.edu>
74755
74756         * lib/glob_.h, lib/glob.c: New files.
74757
74758 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
74759
74760         * modules/fts (Files): Remove m4/inttypes-pri.m4.
74761         * modules/fts-lgpl (Depends-on): Remove gettext.
74762
74763 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
74764
74765         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
74766         and don't require gt_INTTYPES_PRI.
74767
74768 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
74769
74770         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
74771
74772         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
74773         the configuration hassle isn't worth it.
74774         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
74775         (LONGEST_MODIFIER, PRIuMAX): Remove.
74776
74777 2005-05-27  Bruno Haible  <bruno@clisp.org>
74778
74779         * lib/getlogin_r.h: Remove second include of <stddef.h>.
74780
74781 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
74782
74783         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
74784         _POSIX_PTHREAD_SEMANTICS for Solaris.
74785
74786 2005-05-25  Derek Price  <derek@ximbiot.com>
74787
74788         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
74789
74790 2005-05-25  Derek Price  <derek@ximbiot.com>
74791             Paul Eggert  <eggert@cs.ucla.edu>
74792
74793         * modules/getlogin_r, m4/getlogin_r.m4: New files.
74794         * lib/getlogin_r.c, getlogin_r.h: New files.
74795
74796 2005-05-25  Bruno Haible  <bruno@clisp.org>
74797             Derek Price  <derek@ximbiot.com>
74798
74799         * lib/getlogin_r.h: Simplify API documentation.
74800
74801 2005-05-23  Derek Price  <derek@ximbiot.com>
74802
74803         * modules/minmax (Files): Add m4/minmax.m4.
74804         (configure.ac): Add gl_MINMAX.
74805
74806 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
74807
74808         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
74809         so that unistd-safer.h (GPL'ed code) need not be included.
74810
74811 2005-05-22  Bruno Haible  <bruno@clisp.org>
74812
74813         * m4/minmax.m4: New file.
74814         Based on a patch by Derek Price <derek@ximbiot.com>.
74815
74816 2005-05-22  Bruno Haible  <bruno@clisp.org>
74817
74818         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
74819         (INT64_MIN): Fix definition.
74820         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
74821
74822         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
74823         NEED_SIGNED_INT_TYPES.
74824
74825         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
74826         HAVE_SYSTEM_INTTYPES.
74827
74828 2005-05-22  Bruno Haible  <bruno@clisp.org>
74829
74830         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
74831         Also include <sys/param.h> if it defines MIN, MAX.
74832         Based on a patch by Derek Price <derek@ximbiot.com>.
74833
74834 2005-05-21  Jim Meyering  <jim@meyering.net>
74835
74836         * modules/fts (Files): Add m4/inttypes-pri.m4.
74837         (Depends-on): Add lstat and remove gettext.  Alphabetize.
74838
74839 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
74840
74841         New fts module.
74842         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
74843         (setup_dir, free_dir): New functions.
74844         (enter_dir, leave_dir): Define trivial
74845         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
74846         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
74847         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
74848         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
74849         Move to fts-cycle.c.
74850         (fts_open): Use setup_dir.
74851         (fts_close): Use free_dir.
74852         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
74853         This adds a label and some gotos, but the alternatives were messier.
74854         Check for memory allocation failure when entering a dir.
74855         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
74856         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
74857         (FTS): New member fts_cycle, that is a union that contains the
74858         old active_dir_ht and cycle_state.  All uses changed to mention
74859         fts_cycle.ht and fts_cycle.state.
74860         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
74861         fts.c, with the following changes:
74862         (setup_dir, free_dir): New functions.
74863         (enter_dir): Now returns bool.  Return true if successful, false
74864         if memory exhausted.  All callers changed.
74865         Do not bother partly cleaning up on
74866         memory allocation failure; that is free_dir's job.
74867         However, free ad if hash_insert fails, to avoid memory leak.
74868         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
74869         fts->fts_options to see which union member to use.
74870
74871 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
74872
74873         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
74874         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
74875
74876 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
74877
74878         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
74879
74880 2005-05-20  Jim Meyering  <jim@meyering.net>
74881
74882         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
74883         Now a macro, to pacify GCC.
74884
74885 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
74886
74887         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
74888         of -1.
74889
74890 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
74891
74892         * lib/chown.c (rpl_chown): Return -1 on failure.
74893
74894 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
74895
74896         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
74897         Don't check for stddef.h.
74898         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
74899         don't use its results.
74900         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
74901         since we include them unconditionally.  Don't require
74902         AM_STDBOOL_H, since stdbool is a prerequisite.
74903         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
74904         since we assume C89 or better.
74905         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
74906         as we don't use their results.
74907         Don't check for fchdir, memmove, memset, strrchr, as we use
74908         them unconditionally.
74909         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
74910         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
74911
74912 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
74913
74914         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
74915         Include <stddef.h> unconditionally, since we assume C89 now.
74916         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
74917         * lib/fts.c: Include fts_.h first, to check interface.
74918         Do not include intprops.h; no longer needed.
74919         Include cycle-check.h and hash.h, since fts_.h no longer does.
74920         Remove unnecessary casts of closedir to void.
74921         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
74922         decide whether to decrement nlinks.
74923         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
74924         (FTS): Use struct hash_table * instead of Hash_table, so that
74925         we no longer need to include hash.h here.
74926
74927 2005-05-18  Jim Meyering  <jim@meyering.net>
74928
74929         * modules/dirfd (License): Change to LGPL.  Most of the code
74930         is already in the public domain.
74931
74932 2005-05-18  Jim Meyering  <jim@meyering.net>
74933
74934         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
74935         Reported by Yoann Vandoorselaere.
74936
74937 2005-05-17  Jim Meyering  <jim@meyering.net>
74938
74939         * m4/fts.m4: New file, from coreutils.
74940
74941 2005-05-17  Jim Meyering  <jim@meyering.net>
74942
74943         * lib/fts.c, lib/fts_.h: New files, from coreutils.
74944
74945 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
74946
74947         Sync from coreutils.
74948         * m4/unlinkdir.m4: New file.
74949
74950 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
74951
74952         Sync from coreutils.
74953         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
74954         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
74955         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
74956         White space changes only.
74957         * lib/makepath.c (make_path): Port to hosts where leading "//" is
74958         special.
74959         * lib/yesno.c: Include getline.h, not ctype.h.
74960         (yesno): Don't remove leading white space; POSIX doesn't allow it.
74961         Use getline to remove arbitrary restriction on response length.
74962
74963 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
74964
74965         * config/srclist-update: Spell out "Street" in FSF postal
74966         mail address; this is the style the FSF seems to prefer.
74967
74968         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
74969         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
74970         this updates FSF postal mail address.
74971
74972         Sync from coreutils.
74973         * modules/unlinkdir: New file.
74974         * modules/yesno (Depends-on): Add getline.
74975         * MODULES.html.sh (File system functions): Add unlinkdir.
74976
74977 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
74978
74979         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
74980         lib/strsep.h:
74981         Change the initial comment to refer to GPL, not LGPL.
74982         gnulib-tool will change it to LGPL as needed.
74983
74984         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
74985         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
74986         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
74987         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
74988         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
74989         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
74990         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
74991         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
74992         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
74993         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
74994         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
74995         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
74996         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
74997         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
74998         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
74999         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
75000         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
75001         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
75002         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
75003         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
75004         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
75005         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
75006         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
75007         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
75008         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
75009         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
75010         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
75011         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
75012         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
75013         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
75014         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
75015         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
75016         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
75017         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
75018         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
75019         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
75020         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
75021         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
75022         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
75023         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
75024         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
75025         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
75026         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
75027         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
75028         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
75029         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
75030         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
75031         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
75032         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
75033         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
75034         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
75035         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
75036         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
75037         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
75038         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
75039         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
75040         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
75041         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
75042         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
75043         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
75044         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
75045         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
75046         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
75047         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
75048         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
75049         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
75050         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
75051         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
75052         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
75053         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
75054         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
75055         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
75056         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
75057         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
75058         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
75059         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
75060         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
75061         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
75062         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
75063         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
75064         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
75065         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
75066         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
75067         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
75068         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
75069         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
75070         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
75071         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
75072         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
75073         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
75074         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
75075         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
75076         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
75077         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
75078         lib/yesno.c, lib/yesno.h:
75079         Update FSF postal mail address.
75080
75081 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
75082
75083         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
75084         tests/test-memmem.c, tests/test-stpncpy.c:
75085         Update FSF postal mail address.
75086
75087 2005-05-13  Bruno Haible  <bruno@clisp.org>
75088
75089         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
75090         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
75091         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
75092         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
75093         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
75094         Add support for 64-bit integers in the MSVC compiler.
75095
75096 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75097
75098         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
75099
75100 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
75101
75102         * gnulib-tool (func_import): Sort and uniquify recommended includes.
75103
75104 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
75105
75106         * doc/getdate.texi (General date syntax): Don't say that date
75107         date --iso-8601=ns generates acceptable dates; it doesn't yet.
75108         Problem reported by Nic Ferrier.
75109
75110 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75111
75112         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
75113         specified in ai_socktype. Fix invalid ai_protocol
75114         check. ai_protocol is usually set to 0 or depending on
75115         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
75116         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
75117         ai_socktype / ai_protocol in the returned addrinfo structure.
75118
75119 2005-05-10  Simon Josefsson  <jas@extundo.com>
75120
75121         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
75122         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75123
75124 2005-05-10  Karl Berry  <karl@gnu.org>
75125
75126         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
75127         (from http://www.gnu.org/licenses).
75128         * doc/COPYING.LIB: also rename to COPYING.LESSER.
75129         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
75130         fdl.texi suffices.
75131
75132 2005-05-10  Karl Berry  <karl@gnu.org>
75133
75134         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
75135         (COPYING.DOC): remove.
75136
75137         * config/srclist-update: new FSF address.
75138
75139 2005-05-10  Derek Price  <derek@ximbiot.com>
75140
75141         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
75142         possible.
75143
75144 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75145             Bruno Haible  <bruno@clisp.org>
75146
75147         * modules/inet_ntop: New file.
75148         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75149         inet_ntop.
75150
75151 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75152             Bruno Haible  <bruno@clisp.org>
75153
75154         * m4/inet_ntop.m4: New file.
75155
75156 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75157             Bruno Haible  <bruno@clisp.org>
75158
75159         * lib/inet_ntop.h: New file.
75160         * lib/inet_ntop.c: New file, from glibc with modifications.
75161
75162 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
75163
75164         * modules/time_r (License): Change to LGPL.
75165         * modules/extensions (License): Change to LGPL.  Actually,
75166         the license is more permissive than that, but currently gnulib-tool
75167         doesn't know how to handle more-permissive licenses.
75168
75169         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
75170         Problem reported by Dave Love.
75171
75172 2005-05-08  Jim Meyering  <jim@meyering.net>
75173
75174         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
75175         blank.
75176
75177 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
75178
75179         * modules/argmatch (Depends-on): Add stdbool.
75180         * modules/backupfile (Depends-on): Likewise.
75181         * modules/chdir-long (Depends-on): Likewise.
75182         * modules/closeout (Depends-on): Likewise.
75183         * modules/cycle-check (Depends-on): Likewise.
75184         * modules/dirname (Depends-on): Likewise.
75185         * modules/fnmatch (Depends-on): Likewise.
75186         * modules/fsusage (Depends-on): Likewise.
75187         * modules/fwriteerror (Depends-on): Likewise.
75188         * modules/getcwd (Depends-on): Likewise.
75189         * modules/getloadavg (Depends-on): Likewise.
75190         * modules/hard-locale (Depends-on): Likewise.
75191         * modules/makepath (Depends-on): Likewise.
75192         * modules/mountlist (Depends-on): Likewise.
75193         * modules/nanosleep (Depends-on): Likewise.
75194         * modules/posixtm (Depends-on): Likewise.
75195         * modules/quotearg (Depends-on): Likewise.
75196         * modules/readtokens (Depends-on): Likewise.
75197         * modules/readtokens0 (Depends-on): Likewise.
75198         * modules/readutmp (Depends-on): Likewise.
75199         * modules/save-cwd (Depends-on): Likewise.
75200         * modules/strftime (Depends-on): Likewise.
75201         * modules/userspec (Depends-on): Likewise.
75202         * modules/utimecmp (Depends-on): Likewise.
75203         * modules/xgetcwd (Depends-on): Likewise.
75204         * modules/xnanosleep (Depends-on): Likewise.
75205         * modules/xstrtod (Depends-on): Likewise.
75206         * modules/yesno (Depends-on): Likewise.
75207
75208 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
75209
75210         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
75211         needless checks.
75212
75213 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
75214
75215         Merge from coreutils.  Among other things,
75216         add bulletproofing for cases where stdin, stdout, or stderr are closed.
75217         * lib/fd-safer.c: New file.
75218         * lib/fcntl-safer.h, open-safer.c: Remove.
75219         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
75220         * lib/dup-safer.c: Include unistd-safer.h first.
75221         Don't include errno.h.
75222         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
75223         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
75224         * lib/file-type.c: Rely on file-type.h change.
75225         * lib/getloadavg.c: Include unistd-safer.h.
75226         (getloadavg): Use safer open.
75227         * lib/getusershell.c: Include "stdio-safer.h".
75228         (getusershell): Use safer fopen.
75229         * lib/long-options.c (long_options): Use NULL rather than 0.
75230         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
75231         'free'.
75232         * lib/modechange.c: Likewise.
75233         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
75234         (MODE_DONE): New constant.
75235         (struct mode_change): Remove 'next' member.
75236         (make_node_op_equals): New function; like the old one of the
75237         same name, except it allocates an array.
75238         (mode_compile, mode_create_from_ref): Use it.
75239         (mode_compile): Allocate result as an array, not a linked list.
75240         Parse octal string ourself, so that we catch mistakes like "+0".
75241         (mode_adjust): Arg is an array, not a linked list.
75242         * lib/modechange.c: Include stat-macros.h, xalloc.h.
75243         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
75244         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
75245         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
75246         Remove.  This is now stat-macros.h's job.
75247         (talloc): Remove.  All callers replaced by xalloc, so that
75248         our invokers don't have to worry about reporting memory failures.
75249         (make_node_op_equals): Remove.
75250         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
75251         New constants.
75252         (struct mode_change): Moved here from modechange.h.
75253         (mode_append_entry): Remove.
75254         (mode_compile): Remove MASKED_OPS arg, since it encouraged
75255         apps to have incorrect behavior.  Use simpler algorithm for head
75256         and tail.  Don't futz with umask; that's now the job of mode_adjust.
75257         Detect more invalid usages rather than having somewhat-random behavior.
75258         Don't insert an "a=" action, as that leads to incorrect behavior.
75259         (mode_compile, mode_create_from_ref): Return NULL on error instead
75260         of an enum, since now there's only one way to have an error.  All
75261         callers changed.
75262         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
75263         at the correct time.  Simplify calculation of "+u" and its ilk.
75264         Don't mishandle "+X".
75265         (mode_free): Remove "register" and localize decls.
75266         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
75267         (struct mode_change): Move to modechange.c; callers don't
75268         need to see this stuff.
75269         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
75270         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
75271         (mode_change, mode_adjust): Reflect the new signatures noted above.
75272         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
75273         that might redefine system include files.
75274         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
75275         (my_usleep): Use NULL rather than (void *) 0.
75276         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
75277         Use siginterrupt to specify that system calls should be interrupted.
75278         (rpl_nanosleep): Move initialization of suspended closer to call of
75279         my_usleep.
75280         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
75281         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
75282         (desirable_utmp_entry): New function.
75283         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
75284         using x2nrealloc, to simplify logic.
75285         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
75286         size calculation.  Do not assume utmp file is a regular file.
75287         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
75288         (READ_UTMP_CHECK_PIDS): New constant.
75289         * lib/save-cwd.c: Include unistd-safer.h.
75290         (save_cwd): Use fd_safer.
75291         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
75292         [!_LIBC] Include "stat-macros.h" instead.
75293         * lib/unistd-safer.h (fd_safer): New decl.
75294
75295 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
75296
75297         * modules/getloadavg (Depends-on): Add unistd-safer.
75298         * modules/getusershell (Depends-on): Add stdio-safer.
75299         * modules/lstat (Depends-on): Remove xalloc.
75300         * modules/mkstemp (Depends-on): Add stat-macros.
75301         * modules/modechange (Depends-on): Remove xstrtol.
75302         Add stat-macros, xalloc.
75303         * modules/save-cwd (Depends-on): Add unistd-safer.
75304         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
75305         * modules/unistd-safer (Files): Add lib/fd-safer.c
75306         (Makefile.am): Remove lib_SOURCES.
75307
75308         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
75309         Remove fcntl-safer; unistd-safer supersedes it.
75310
75311 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
75312
75313         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
75314         AC_HEADER_STAT.
75315         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
75316         (gl_PREREQ_CHOWN): Remove.
75317         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
75318         it.  Don't require AC_HEADER_STAT.
75319         (gl_PREREQ_LSTAT): Remove.
75320         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
75321         Don't require AC_HEADER_STAT.
75322         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
75323         (gl_PREREQ_RMDIR): Remove.
75324         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
75325         mention stat-macros.h or AC_HEADER_STAT, since we'll make
75326         the stat-macros module a prerequisite.
75327         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
75328         * m4/filemode.m4 (gl_FILEMODE): Likewise.
75329         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
75330         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
75331         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
75332         variable names.
75333         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
75334         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
75335         variable prefixes.
75336         * m4/fcntl-safer.m4: Remove.
75337         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
75338         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
75339         Invoke gl_PREREQ_FD_SAFER.
75340         (gl_PREREQ_FD_SAFER): New macro.
75341         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
75342         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
75343         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
75344         Remove duplicate call to AC_LIBOBJ(readutmp).
75345         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
75346
75347         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
75348         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
75349
75350 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
75351
75352         * MODULES.html.sh (Misc): Add byteswap.
75353
75354 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
75355
75356         * modules/getcwd (Depends-on): Add extensions.
75357         * modules/openat (Depends-on): Likewise.
75358
75359 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
75360
75361         * modules/byteswap: New file.
75362
75363 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
75364
75365         * m4/byteswap.m4: New file.
75366
75367 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
75368
75369         * lib/byteswap_.h: New file.
75370
75371 2005-04-25  Karl Berry  <karl@gnu.org>
75372
75373         * m4/gettext.m4: Update from GNU gettext 0.14.4.
75374
75375 2005-04-25  Albert Chin  <china@thewrittenword.com>
75376
75377         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
75378         Toolkit C bug.
75379
75380 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
75381
75382         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
75383         (func_ln_if_changed): Remove forcibly for no error message
75384         in case file does not exist.
75385
75386 2005-04-19  Simon Josefsson  <jas@extundo.com>
75387
75388         * gnulib-tool (Options): Make --symlink mean --symbolic.
75389
75390 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
75391
75392         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
75393
75394 2005-04-16  Simon Josefsson  <jas@extundo.com>
75395
75396         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
75397
75398 2005-04-15  Simon Josefsson  <jas@extundo.com>
75399
75400         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
75401
75402 2005-04-15  Simon Josefsson  <jas@extundo.com>
75403
75404         * gnulib-tool: Rename --symlink to --symbolic.
75405
75406 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
75407
75408         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
75409         symbolic links to files instead of copying/moving.  Add --aux-dir,
75410         specifying directory relative --dir where auxiliary build tools
75411         are placed.
75412
75413 2005-04-14  Bruno Haible  <bruno@clisp.org>
75414
75415         * modules/allocsa (License): Change to LGPL.
75416         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
75417
75418 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
75419
75420         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
75421         that "UTC +1 second" continues to work.  Problem reported
75422         by Dmitry V. Levin.
75423         (relunit_snumber): New rule.
75424         (relunit): Use it.
75425
75426 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
75427
75428         * lib/getdate.y (universal_time_zone_table): New constant.
75429         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
75430         universal_time_zone_table.
75431         (lookup_zone): Prefer universal_time_zone_table to
75432         local_time_zone_table, so that "GMT" time stamps are allowed in
75433         London during the summer.  Problem reported by Ian Abbott.
75434
75435 2005-04-12  Jim Meyering  <jim@meyering.net>
75436
75437         * lib/human.c (humblock): Set *options even when returning due to
75438         xstrtoumax conversion failure.  Thanks to a used-uninitialized
75439         warning from gcc-4.
75440
75441 2005-04-09  Jim Meyering  <jim@meyering.net>
75442
75443         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
75444         -Wuninitialized: initialize tm0.tm_year.
75445
75446 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
75447
75448         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
75449         count, since there's no maximum.  All uses changed.
75450         Add member dsts_seen.
75451         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
75452         not being INT_MAX.
75453         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
75454         Use pc_rels_seen to decide whther a date is absolute.
75455
75456         * lib/getdate.y (number): Don't overwrite year.
75457         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
75458         check.
75459
75460 2005-04-02  Simon Josefsson  <jas@extundo.com>
75461
75462         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
75463         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
75464
75465 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
75466
75467         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
75468         where no absolute path name can be longer than PATH_MAX.
75469
75470 2005-03-27  Jim Meyering  <jim@meyering.net>
75471
75472         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
75473
75474 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
75475
75476         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
75477         "one's complement" -> "ones' complement" in comment, as per Knuth.
75478         "value of type" -> "type or expression" in comment.
75479         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
75480
75481 2005-03-26  Jim Meyering  <jim@meyering.net>
75482
75483         Comment nits.
75484         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
75485         Correct typos: s/or/of/.
75486
75487 2005-03-26  Jim Meyering  <jim@meyering.net>
75488
75489         * modules/check-include-files: Move to ../ and rename to...
75490         * check-module: ...this.
75491
75492 2005-03-25  Jim Meyering  <jim@meyering.net>
75493
75494         * modules/xvasprintf (Files): Add xalloc.h.
75495
75496 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
75497
75498         * modules/gettext (Files): config/config.rpath ->
75499         build-aux/config.rpath
75500         * modules/iconv (Files): Likewise.
75501         Problem reported by Oskar Liljeblad.
75502
75503 2005-03-23  Jim Meyering  <jim@meyering.net>
75504
75505         * modules/check-include-files: New script to check for
75506         missing dependencies, multiple includes, etc.
75507
75508         * modules/c-strtold (Depends-on): Add xalloc.
75509         * modules/c-strtod (Depends-on): Add xalloc.
75510         * modules/hash (Depends-on): Add xalloc.
75511         (Files): Remove lib/xalloc.h.
75512
75513         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
75514         * modules/userspec (Files): Add lib/inttostr.h.
75515
75516 2005-03-23  Jim Meyering  <jim@meyering.net>
75517
75518         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
75519
75520 2005-03-22  Jim Meyering  <jim@meyering.net>
75521
75522         * modules/stat-macros: New module.
75523         * modules/canonicalize, modules/euidaccess, modules/file-type,
75524         * modules/filemode, modules/lchown, modules/makepath,
75525         * modules/rmdir, modules/stat: Depend on new stat-macros module
75526         rather than listing lib/stat-macros.h manually.
75527         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
75528
75529 2005-03-22  Jim Meyering  <jim@meyering.net>
75530
75531         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
75532
75533 2005-03-22  Bruno Haible  <bruno@clisp.org>
75534
75535         * config/srclist.txt: Replace target directory 'config' with
75536         'build-aux'.
75537         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
75538         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
75539         ../build-aux/.
75540
75541 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
75542
75543         * modules/chdir-long (Depends-on): Add mempcpy.
75544
75545         * modules/acl, modules/backupfile, modules/c-strtod,
75546         modules/c-strtold, modules/canon-host, modules/canonicalize,
75547         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
75548         modules/exclude, modules/exitfail, modules/file-type,
75549         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
75550         modules/getdate, modules/getline, modules/getpagesize,
75551         modules/getpass, modules/getugroups, modules/group-member,
75552         modules/hard-locale, modules/hash, modules/human, modules/idcache,
75553         modules/inttostr, modules/long-options, modules/makepath,
75554         modules/md5, modules/memcasecmp, modules/memcoll,
75555         modules/modechange, modules/mountlist, modules/path-concat,
75556         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
75557         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
75558         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
75559         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
75560         modules/strftime, modules/strndup, modules/strverscmp,
75561         modules/timespec, modules/unlocked-io, modules/userspec,
75562         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
75563         modules/yesno:
75564         Remove lib_SOURCES line from Makefile.am section, as this is now
75565         done automatically by the corresponding Autoconf macro.
75566
75567 2005-03-21  Jim Meyering  <jim@meyering.net>
75568
75569         Changes imported from coreutils.
75570
75571         * lib/cycle-check.c: Don't include xalloc.h.
75572
75573         * lib/path-concat.c: Don't include assert.h.
75574         (path_concat): Remove assertion that would have triggered
75575         for ABASE starting with more than one slash.
75576         Reported by Andreas Schwab.
75577
75578         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
75579         properly when ABASE is an absolute file name.
75580         Correct the description of this function.
75581         Include <assert.h>.
75582         Add an assertion and a test driver.
75583         This fixes a bug introduced on 2004-07-02.
75584         Andreas Schwab reported the resulting failure of cp --parents:
75585         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
75586
75587 2005-03-21  Jim Meyering  <jim@meyering.net>
75588
75589         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
75590         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
75591
75592 2005-03-21  Jim Meyering  <jim@meyering.net>
75593         and  Paul Eggert  <eggert@cs.ucla.edu>
75594
75595         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
75596         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
75597         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
75598         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
75599         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
75600         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
75601         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
75602         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
75603         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
75604         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
75605         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
75606         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
75607         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
75608         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
75609         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
75610         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
75611         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
75612         for these modules.
75613
75614 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
75615
75616         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
75617         (which shouldn't happen), generate nothing instead of returning 0
75618         immediately, so that nstrftime (NULL, ...) doesn't return 0.
75619
75620 2005-03-16  Bruno Haible  <bruno@clisp.org>
75621
75622         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
75623         HAVE_LONGLONG_64BIT.
75624
75625 2005-03-16  Bruno Haible  <bruno@clisp.org>
75626
75627         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
75628         HAVE_LONGLONG_64BIT.
75629
75630 2005-03-16  Bruno Haible  <bruno@clisp.org>
75631
75632         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
75633         HAVE_LONGLONG_64BIT.
75634
75635 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
75636
75637         * lib/strftime.c (my_strftime): Prepend space to format so that we can
75638         reliably distinguish strftime failure from empty output on POSIX
75639         hosts.
75640
75641 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
75642
75643         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
75644         (iconv_string): Don't guess a size-zero buffer, as that might cause
75645         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
75646         result would be 'too large', where 'too large' is (heuristically)
75647         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
75648         overflow concerns.  This will prevent some unwanted malloc failures
75649         when the inputs are very large.
75650
75651 2005-03-15  Karl Berry  <karl@gnu.org>
75652
75653         * config/srclist.txt (config.rpath): from gettext.
75654         * config/config.rpath: update.
75655
75656 2005-03-15  Bruno Haible  <bruno@clisp.org>
75657
75658         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
75659         to 'negate'.
75660
75661         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
75662         variable.
75663
75664         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
75665         results.
75666
75667 2005-03-14  Simon Josefsson  <jas@extundo.com>
75668
75669         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
75670         <fx@gnu.org>.
75671
75672 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
75673
75674         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
75675         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
75676         intprops.h.
75677         * lib/strtol.c: Likewise.
75678
75679 2005-03-14  Jim Meyering  <jim@meyering.net>
75680
75681         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
75682         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
75683         to be nonzero so that we (and caller) can detect the difference
75684         between a valid zero-length expansion and an error return, even
75685         when the underlying strftime fails before writing anything into
75686         that location.
75687
75688 2005-03-14  Bruno Haible  <bruno@clisp.org>
75689
75690         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
75691         Update from GNU gettext 0.14.3.
75692
75693 2005-03-10  Jim Meyering  <jim@meyering.net>
75694
75695         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
75696
75697 2005-03-10  Jim Meyering  <jim@meyering.net>
75698
75699         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
75700         so that this module works on systems without fchdir.
75701
75702 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
75703
75704         Factor int-properties macros into a single file, except for
75705         glibc-related files.
75706         * lib/intprops.h: New file.
75707         * lib/getloadavg.c: Include it instead of limits.h.
75708         (INT_STRLEN_BOUND): Remove.
75709         * lib/human.c: Include intprops.h.
75710         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
75711         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
75712         302/1000.
75713         * lib/inttostr.h: Include intprops.h instead of limits.h.
75714         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
75715         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
75716         for consistency with intprops.h.
75717         (time_t_is_integer, twos_complement_arithmetic): Use them.
75718         * lib/sig2str.h: Include <signal.h>, intprops.h.
75719         (INT_STRLEN_BOUND): Remove.
75720         * lib/strftime.c (TYPE_SIGNED): Remove.
75721         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
75722         * lib/strtol.c: Adjust comments to match intprops.h.
75723         * lib/userspec.c: Include intprops.h.
75724         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
75725         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
75726         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
75727         instead of rolling our own expressions.
75728         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
75729
75730         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
75731         instead of int.
75732         (my_strftime): Do not mishandle years close to INT_MAX, by doing
75733         the right thing even if adding 1900 would overflow.  Similarly
75734         for tm_mon + 1 and tm_yday + 1.
75735         Make %Y always equivalent to %C%y, and similarly for %G and %g.
75736         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
75737         (DO_SIGNED_NUMBER): New macro.
75738         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
75739
75740 2005-03-07  Bruno Haible  <bruno@clisp.org>
75741
75742         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
75743
75744 2005-03-07  Bruno Haible  <bruno@clisp.org>
75745
75746         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
75747
75748 2005-03-04  Derek R. Price  <derek@ximbiot.com>
75749
75750         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
75751         (func_import): Only replace files via --import when they have actually
75752         changed.
75753
75754 2005-03-03  Derek R. Price  <derek@ximbiot.com>
75755
75756         * m4/mmap-anon.m4: New file.
75757         * m4/pagealign_alloc.m4: New file.
75758
75759 2005-03-03  Derek R. Price  <derek@ximbiot.com>
75760             Bruno Haible  <bruno@clisp.org>
75761
75762         * modules/pagealign_alloc: New file.
75763         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
75764
75765 2005-03-03  Derek R. Price  <derek@ximbiot.com>
75766             Bruno Haible  <bruno@clisp.org>
75767
75768         * lib/pagealign_alloc.h: New file.
75769         * lib/pagealign_alloc.c: New file.
75770
75771 2005-03-03  Bruno Haible  <bruno@clisp.org>
75772
75773         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
75774         Use an all-permissive copyright notice, recommended by RMS.
75775
75776 2005-03-02  Bruno Haible  <bruno@clisp.org>
75777
75778         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
75779         of AIX, the replacement has to be done only after <string.h> is
75780         included, therefore not in config.h. stpncpy.h does the replacement,
75781         and stpncpy.c uses it.
75782
75783 2005-03-02  Bruno Haible  <bruno@clisp.org>
75784
75785         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
75786         stpncpy.c uses it.
75787
75788 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
75789
75790         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
75791         The workaround isn't strictly needed for POSIX conformance, and
75792         it's too much of a pain to configure and maintain.  We'll ask
75793         people to fix their kernels instead.
75794         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
75795         (NANOSLEEP_BUG_WORKAROUND): Remove.
75796         (xnanosleep): Remove the workaround.
75797
75798 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
75799
75800         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
75801         Reported by Derek Price.
75802         (Include): Add "timespec.h".
75803
75804         * modules/xnanosleep (Depends-on): Remove gethrxtime.
75805
75806 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
75807
75808         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
75809         to detect nanosleep bug.
75810
75811 2005-03-01  Bruno Haible  <bruno@clisp.org>
75812
75813         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
75814
75815 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
75816
75817         * modules/gethrxtime: New file.
75818         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
75819         (Depends-on): Add gethrxtime.
75820         (configure.ac): Add gl_XNANOSLEEP.
75821         (Makefile.am): Remove lib_SOURCES line.
75822
75823 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
75824
75825         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
75826         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
75827
75828 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
75829
75830         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
75831         * lib/timespec.h (gettime): Return void, since it always
75832         succeeds now.  All uses changed.
75833         * lib/gettime.c (gettime): Likewise.
75834         [HAVE_NANOTIME]: Prefer nanotime.
75835         Assume gettimeofday succeeds, as POSIX requires.
75836         Assime time () succeeds, since other code already does.
75837         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
75838         (timespec_subtract): Remove.
75839         (NANOSLEEP_BUG_WORKAROUND): New constant.
75840         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
75841         things considerably.  Use it only on GNU/Linux hosts, since the
75842         workaround shouldn't be needed elsewhere.
75843
75844 2005-02-24  Bruno Haible  <bruno@clisp.org>
75845
75846         * modules/gettext (Files): Add m4/glibc2.m4.
75847
75848 2005-02-24  Bruno Haible  <bruno@clisp.org>
75849
75850         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
75851         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
75852         * m4/progtest.m4:
75853         Update from GNU gettext 0.14.2.
75854         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
75855
75856 2005-02-24  Bruno Haible  <bruno@clisp.org>
75857
75858         * lib/localcharset.c: Update from GNU gettext 0.14.2.
75859         * lib/config.charset: Update from GNU gettext 0.14.2.
75860
75861 2005-02-24  Bruno Haible  <bruno@clisp.org>
75862
75863         * lib/gettext.h: Update from GNU gettext 0.14.2.
75864
75865 2005-02-23  Simon Josefsson  <jas@extundo.com>
75866
75867         * m4/iconvme.m4: New file.
75868
75869 2005-02-23  Jim Meyering  <jim@meyering.net>
75870
75871         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
75872         change.
75873         Thanks to Bruno Haible for catching it.
75874
75875 2005-02-22  Simon Josefsson  <jas@extundo.com>
75876
75877         * modules/iconvme: New file.
75878
75879         * MODULES.html.sh: Add iconvme.
75880
75881 2005-02-22  Simon Josefsson  <jas@extundo.com>
75882
75883         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
75884
75885 2005-02-22  Simon Josefsson  <jas@extundo.com>
75886
75887         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
75888
75889 2005-02-22  Jim Meyering  <jim@meyering.net>
75890
75891         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
75892         s/ifndef/ifdef/.
75893
75894 2005-02-20  Neil Conway  <neilc@samurai.com>
75895
75896         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
75897         returned by OSX/Darwin if the specified buffer is not large
75898         enough for the hostname.
75899
75900 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75901
75902         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
75903         pass it to _help, otherwise the latter coredumps trying to
75904         dereference state.root_argp.
75905
75906 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
75907
75908         * modules/chdir-long (Depends-on): Add memrchr.
75909         * modules/memrchr (Files): Add lib/memrchr.h.
75910         (Include): "memrchr.h".
75911
75912 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
75913
75914         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
75915
75916 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
75917
75918         * lib/memrchr.h: New file.
75919         * lib/chdir-long.c: Include it.
75920         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
75921         Don't bother including stddef.h.
75922
75923 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
75924
75925         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
75926         inclusion.
75927         Include <sys/types.h>, for dev_t.
75928         (ME_DUMMY, ME_REMOTE): Move from here....
75929         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
75930         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
75931         Dmitry V. Levin.
75932         Include mountlist.h first, to test the interface.
75933
75934 2005-01-29  Bruno Haible  <bruno@clisp.org>
75935
75936         * lib/progname.c (program_name): Initialize.
75937         Needed when linking statically on MacOS X.
75938
75939 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
75940
75941         Sync from coreutils.
75942         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
75943         (Depends-on): Add c-strtod.
75944         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
75945
75946 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
75947
75948         Sync from coreutils.
75949         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
75950
75951         Remove files that are specific to coreutils.
75952         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
75953
75954 2005-01-28  Bruno Haible  <bruno@clisp.org>
75955
75956         * modules/javacomp: New file.
75957         * MODULES.html.sh (Java): Add javacomp.
75958
75959 2005-01-28  Bruno Haible  <bruno@clisp.org>
75960
75961         * m4/javacomp.m4: New file, from GNU gettext.
75962
75963 2005-01-28  Bruno Haible  <bruno@clisp.org>
75964
75965         * lib/javacomp.sh.in: New file, from GNU gettext.
75966         * lib/javacomp.h: New file, from GNU gettext.
75967         * lib/javacomp.c: New file, from GNU gettext.
75968
75969 2005-01-26  Simon Josefsson  <jas@extundo.com>
75970
75971         * lib/gai_strerror.c: Use GPL in header.
75972
75973 2005-01-26  Bruno Haible  <bruno@clisp.org>
75974
75975         * modules/javaexec: New file.
75976         * MODULES.html.sh (Java): Add javaexec.
75977
75978 2005-01-26  Bruno Haible  <bruno@clisp.org>
75979
75980         * m4/javaexec.m4: New file, from GNU gettext.
75981
75982 2005-01-26  Bruno Haible  <bruno@clisp.org>
75983
75984         * lib/javaexec.sh.in: New file, from GNU gettext.
75985         * lib/javaexec.h: New file, from GNU gettext.
75986         * lib/javaexec.c: New file, from GNU gettext.
75987
75988 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75989
75990         * modules/lchown (Depends-on): Remove lchown.h
75991
75992 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75993
75994         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
75995         must be defined if the header file was not found, in order
75996         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
75997
75998 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75999
76000         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
76001         initializers for struct pentry_state.
76002         (__argp_error): Check return value of __asprintf
76003         (__argp_failure): Translate error message
76004
76005         * lib/argp-parse.c: Removed braces around the expansion of N_()
76006
76007 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76008
76009         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
76010         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
76011         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
76012         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
76013         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
76014         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
76015         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
76016         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
76017         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
76018         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
76019         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
76020         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
76021         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
76022         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
76023         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
76024         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
76025         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
76026         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
76027         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
76028         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
76029         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
76030         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
76031         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
76032         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
76033         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
76034         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
76035         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
76036         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
76037         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
76038         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
76039         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
76040         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
76041         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
76042         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
76043         xstrtol.m4, xstrtoumax.m4, yesno.m4:
76044         Use an all-permissive copyright notice, recommended by RMS.
76045
76046 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
76047
76048         * modules/chdir-long (Depends-on): Remove mempcpy.
76049
76050 2005-01-21  Jim Meyering  <jim@meyering.net>
76051
76052         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
76053         same value as for Solaris 9.
76054
76055         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
76056         component length.  This included changing the parameter to be
76057         of type `char *' rather than `char const *'.
76058         * lib/chdir-long.h (chdir_long): Update prototype.
76059
76060         * lib/openat.c (fdopendir, fstatat): New functions.
76061         * lib/openat.h: Include headers required for use of DIR and struct
76062         stat.
76063         [AT_SYMLINK_NOFOLLOW]: Define.
76064         (fdopendir, fstatat): Add prototypes.
76065
76066 2005-01-21  Bruno Haible  <bruno@clisp.org>
76067
76068         * modules/classpath: New file.
76069         * MODULES.html.sh (Java): Add classpath.
76070
76071 2005-01-21  Bruno Haible  <bruno@clisp.org>
76072
76073         * lib/classpath.h: New file, from GNU gettext.
76074         * lib/classpath.c: New file, from GNU gettext.
76075
76076 2005-01-20  Simon Josefsson  <jas@extundo.com>
76077
76078         * modules/version-etc-fsf: New file.
76079
76080 2005-01-20  Simon Josefsson  <jas@extundo.com>
76081
76082         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
76083         * lib/version-etc.c: Remove version_etc_copyright.
76084         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
76085         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
76086
76087 2005-01-20  Simon Josefsson  <jas@extundo.com>
76088
76089         * lib/base64.h (isbase64): Add.
76090
76091         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
76092         using a unsigned prototype, don't inline.
76093         (base64_decode): Use it.
76094
76095 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
76096
76097         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
76098         it.
76099
76100 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
76101
76102         * lib/save-cwd.c (save_cwd): Remove code to support the case
76103         where fchdir is missing or flaky.
76104
76105 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
76106
76107         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
76108
76109 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
76110
76111         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
76112         AC_LIBSOURCES now does this.
76113         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
76114         with new ullong_max module.
76115
76116 2005-01-19  Bruno Haible  <bruno@clisp.org>
76117
76118         * modules/sh-quote: New file.
76119         * MODULES.html.sh (Executing programs): Add sh-quote.
76120
76121 2005-01-19  Bruno Haible  <bruno@clisp.org>
76122
76123         * lib/sh-quote.h: New file, from GNU gettext.
76124         * lib/sh-quote.c: New file, from GNU gettext.
76125
76126 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
76127
76128         Merge from coreutils.
76129         * m4/ullong_max.m4: New file.
76130         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
76131         (gl_MACROS): Assume localeconv exists.
76132
76133 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
76134
76135         Merge changes from coreutils, as described below in several
76136         changelogs dated today.
76137
76138         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
76139         (O_DIRECTORY): Remove; not needed here, since "." must be
76140         a directory.  All uses removed.
76141         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
76142         universal on Suns, and we also need to test for IRIX.
76143         Revamp code to use 'if' rather than '#if'.
76144         Avoid unnecessary comparison of cwd->desc to 0.
76145
76146         * lib/utimens.c (futimens): Robustify the previous patch, by checking
76147         for known valid error numbers rather than observed invalid ones.
76148
76149 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
76150
76151         * modules/ullong_max: New file.
76152
76153         * modules/chdir-long, modules/openat: New files.
76154         * modules/save-cwd (Depends-on): Depend on chdir-long.
76155         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
76156
76157 2005-01-18  Jim Meyering  <jim@meyering.net>
76158
76159         Merge from coreutils.
76160         * m4/chdir-long.m4, m4/openat.m4: New files.
76161         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
76162         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
76163         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
76164         is sane and DOES follow symlinks.  Besides, testing 20 different
76165         systems found no broken chown implementations.
76166         Prompted by a change in rsync's copy of this macro.
76167         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
76168
76169         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
76170
76171         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
76172         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
76173         NULL-means-set-to-current-time semantics.
76174         Remove temporary file immediately, rather than waiting
76175         for configure's at-exit trap code to do it.
76176
76177 2005-01-18  Jim Meyering  <jim@meyering.net>
76178
76179         * lib/version-etc.c (version_etc_copyright): Update copyright date.
76180
76181         * lib/utimens.c (futimens): Account for the fact that futimes
76182         can also fail with errno == ENOSYS or errno == ENOENT.
76183         Patch from Dmitry V. Levin.
76184
76185         Change the name of the robust chdir function from chdir to chdir_long.
76186         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
76187         (restore_cwd): Use chdir_long, not chdir.
76188         * lib/chdir-long.c: Renamed from chdir.c.
76189         * lib/chdir-long.h: Renamed from chdir.h.
76190         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
76191         Hurd.
76192
76193 2005-01-18  Bruno Haible  <bruno@clisp.org>
76194
76195         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
76196         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
76197         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
76198         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
76199         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
76200         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
76201         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
76202         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
76203         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
76204         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
76205         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
76206         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
76207         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
76208         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
76209         Use an all-permissive copyright notice, recommended by RMS.
76210
76211 2005-01-18  Bob Proulx  <bob@proulx.com>
76212
76213         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
76214         simplify offsetof() macro construct to avoid compile failure with
76215         native HP-UX 11.0 ANSI C compiler.
76216
76217 2005-01-17  Bruno Haible  <bruno@clisp.org>
76218
76219         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
76220         redundant because stpncpy.m4 takes care of it.
76221
76222 2005-01-17  Bruno Haible  <bruno@clisp.org>
76223
76224         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
76225
76226 2005-01-17  Bruno Haible  <bruno@clisp.org>
76227
76228         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
76229         used.
76230
76231 2005-01-17  Bruno Haible  <bruno@clisp.org>
76232
76233         * lib/fwriteerror.h (fwriteerror): Change specification to include
76234         fclose.
76235         * lib/fwriteerror.c: Include <stdbool.h>.
76236         (fwriteerror): At the end, close the file stream. Record whether
76237         stdout was already closed.
76238
76239 2005-01-17  Bruno Haible  <bruno@clisp.org>
76240
76241         * lib/execute.c (environ): Declare if needed.
76242         * lib/pipe.c (environ): Likewise.
76243         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
76244
76245 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76246
76247         * modules/argp: Depend on vsnprintf
76248
76249 2005-01-10  Jim Meyering  <jim@meyering.net>
76250
76251         * modules/closeout (Depends-on): Add atexit.
76252
76253 2005-01-06  Bruno Haible  <bruno@clisp.org>
76254
76255         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
76256
76257 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
76258
76259         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
76260         definitions to be after all include files, to avoid collisions.
76261         Problem reported by Bob Proulx.
76262
76263 2005-01-04  Jim Meyering  <jim@meyering.net>
76264
76265         Changes imported from coreutils.
76266         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
76267         as the mkstemp template, use a temporary directory and an
76268         8.3-friendly template to avoid trouble on systems like DJGPP.
76269         Reported by Juan M. Guerrero via Stepan Kasal.
76270         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
76271         close. Remove the temporary directory right away, rather than waiting
76272         for configure's at-exit trap code to do it.
76273         Suggestion from Stepan Kasal.
76274
76275 2005-01-01  Simon Josefsson  <jas@extundo.com>
76276
76277         * gnulib-tool: Print #include directives when --import'ing.
76278
76279 2004-12-28  Simon Josefsson  <jas@extundo.com>
76280
76281         * tests/test-base64.c: Include required header files.  Remove
76282         unused variables.
76283
76284 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
76285
76286         * modules/error (Depends-on): Remove gettext.
76287
76288 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
76289
76290         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
76291         not needed.  This removes a dependency on the gettext module.
76292         [defined _LIBC]: Do not include <libintl.h>; not needed.
76293
76294 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
76295
76296         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
76297         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
76298
76299 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
76300
76301         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
76302         HAVE_DECL_STRTOLD.
76303
76304 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
76305
76306         * modules/getdate (Depends-on): Remove alloca-opt.
76307
76308 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
76309
76310         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
76311
76312 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
76313
76314         * lib/argp-parse.c: Include <stddef.h>.
76315         (alignof, alignto): New macros.
76316         (parser_init): Don't assume that void * is aligned sufficiently
76317         for struct option.
76318
76319         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
76320         need to extend the stack.
76321         (YYINITDEPTH): New macro, so that the initial stack isn't overly
76322         large.
76323
76324 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76325
76326         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
76327
76328 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
76329
76330         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
76331         (2004-10-24) change.  Apparently this was a false alarm.
76332
76333         * modules/getdate: Depend on alloca-opt, not alloca.
76334
76335 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
76336
76337         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
76338         Remove now-obsolete comment about AIX.
76339         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
76340         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
76341         (YYMAXDEPTH): New macro.
76342
76343 2004-12-18  Simon Josefsson  <jas@extundo.com>
76344
76345         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
76346
76347 2004-12-18  Bruno Haible  <bruno@clisp.org>
76348
76349         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
76350
76351 2004-12-18  Bruno Haible  <bruno@clisp.org>
76352
76353         * lib/fatal-signal.c (fatal_signals): Make non-const.
76354         (init_fatal_signals): New function.
76355         (uninstall_handlers, install_handlers): Ignore signals that were set to
76356         SIG_IGN.
76357         (at_fatal_signal): Call init_fatal_signals.
76358         (init_fatal_signal_set): Likewise. Ignore signals that were set to
76359         SIG_IGN.
76360         Reported by Paul Eggert.
76361
76362 2004-12-18  Bruno Haible  <bruno@clisp.org>
76363
76364         * doc/alloca.texi: New file.
76365         * doc/alloca-opt.texi: New file.
76366
76367 2004-12-17  Jim Meyering  <jim@meyering.net>
76368
76369         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
76370         Otherwise, install-sh could exit with improper exit status when
76371         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
76372
76373 2004-12-16  Simon Josefsson  <jas@extundo.com>
76374
76375         * tests/test-base64.c: Add license.
76376
76377 2004-12-15  Stepan Kasal  <address@hidden>
76378
76379         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
76380
76381 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
76382
76383         * modules/getcwd (Files): Add m4/d-ino.m4.
76384         Suggested by Mark D. Baushke.
76385
76386 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
76387
76388         * lib/getdate.y (textint): New member "negative".
76389         (time_zone_hhmm): New function.
76390         Expect 14 shift-reduce conflicts, not 13.
76391         (o_colon_minutes): New rule.
76392         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
76393         (yylex): Set the "negative" member of signed numbers.
76394
76395 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
76396
76397         * doc/getdate.texi (Time of day items, Time zone items):
76398         Describe new formats +00:00, UTC+00:00.
76399
76400 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
76401
76402         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
76403         spurious "-l"s.  Problem reported by Stepan Kasal.
76404
76405 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
76406
76407         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
76408         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
76409
76410 2004-12-04  Simon Josefsson  <jas@extundo.com>
76411
76412         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
76413         Vandoorselaere <yoann@prelude-ids.org>.
76414
76415 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
76416
76417         Changes imported from coreutils.
76418         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
76419         exist.
76420         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
76421
76422 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
76423
76424         Changes imported from coreutils.
76425         * lib/hard-locale.c: Assume <locale.h> exists.
76426         Include "strdup.h".
76427         (GLIBC_VERSION): New macro.
76428         (hard_locale): Assume setlocale exists.
76429         Rewrite to avoid #ifdef.
76430         Use strdup rather than malloc + strcpy.
76431         * lib/human.c: Assume <locale.h> exists.
76432         (human_readable): Assume localeconv exists.
76433
76434 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
76435
76436         * modules/hard-locale (Depends-on): Add strdup.
76437
76438 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
76439
76440         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
76441         convert T2, not T.  (Imported from libc.)
76442
76443 2004-11-30  Simon Josefsson  <jas@extundo.com>
76444
76445         * modules/restrict (License): Change to LGPL.
76446
76447 2004-11-30  Simon Josefsson  <jas@extundo.com>
76448
76449         * m4/restrict.m4: Add copyright and copying conditions.
76450
76451 2004-11-30  Simon Josefsson  <jas@extundo.com>
76452
76453         * m4/base64.m4: New file.
76454
76455 2004-11-30  Simon Josefsson  <jas@extundo.com>
76456
76457         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
76458         base64.
76459
76460         * tests/test-base64.c: New file.
76461
76462         * modules/base64: New file.
76463
76464 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
76465
76466         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
76467         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
76468
76469         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
76470
76471 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
76472
76473         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
76474         (__getcwd.c): Don't restore errno; glibc doesn't.
76475         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
76476         first, falling back to our code only if its results look suspicious.
76477         Ensure that the resulting buffer is only as large as necessary.
76478
76479         * lib/readutmp.c: Include readutmp.h first.
76480         Include <errno.h>, since readutmp.h no longer does that.
76481         * lib/readutmp.h: Don't include <errno.h>,
76482         <sys/param.h>, <time.h>; not needed to establish interface.
76483         (errno): Remove decl.
76484         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
76485         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
76486         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
76487
76488 2004-11-28  Simon Josefsson  <jas@extundo.com>
76489
76490         * lib/base64.h, base64.c: New file.
76491
76492 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
76493
76494         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
76495
76496 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
76497
76498         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
76499         (Depends-on): Remove pathmax, same.  Add mempcpy.
76500         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
76501         (Makefile.am): Append getcwd.h to lib_SOURCES.
76502         (Include): Add getcwd.h.
76503         (Maintainer): Change from Jim Meyering to "all, glibc",
76504         since getdate now uses intended-for-glibc code.
76505         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
76506         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
76507
76508 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
76509
76510         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
76511         HP's ANSI C compiler.
76512         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
76513         Declaring int functions causes warnings on some modern systems and
76514         shouldn't be needed to compile on ancient ones.
76515         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
76516         defined.
76517
76518         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
76519         with the following changes.
76520         (__set_errno): Parenthesize properly.
76521         Include <stdbool.h>.
76522         (MIN, MAX, MATCHING_INO): New macros.
76523         (__getcwd): Define with prototype, not K&R form.
76524         Use heuristics to allocate default buffer on stack if possible.
76525         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
76526         behavior, and to avoid the PATH_MAX limit when computing
76527         ../../../../...
76528         Use MATCHING_INO to compare inode number to file.
76529         Check for arithmetic overflow in size calculations.
76530         Fix bug in reallocation of dot array that caused getcwd to fail
76531         on directories nested deeper than 75.
76532         Be more careful about saving errno on error.
76533         Do not use realloc; use only free+malloc, as this is a bit
76534         more flexible and avoids a needless copy operation.
76535         Do not inspect st_dev and st_ino for symbolic links; POSIX
76536         doesn't specify the latter.
76537         Check for closedir errors.
76538         Avoid needless casts.
76539         Use "#ifdef weak_alias" around weak_alias, to be like other
76540         glibc code.
76541         The following changes to getcwd.c have effect only when used in
76542         gnulib; they have no effect inside glibc proper.
76543         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
76544         as alloca isn't used.
76545         (alloca, __alloca): Likewise.
76546         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
76547         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
76548         unconditionally, as gnulib assumes C89 or better.
76549         Do not include <sys/param.h>.
76550         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
76551         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
76552         better.
76553         (NULL) [!defined NULL]: Remove; we assume C89 or better.
76554         Include <dirent.h> in a way that is compatible with modern Autoconf.
76555         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
76556         New macros, if not already defined.
76557         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
76558         Use "_LIBC", not "defined _LIBC", for consistency.
76559         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
76560         a mempcpy module.
76561         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
76562         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
76563         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
76564         credit only to Jim Meyering and adjust the copyright dates.
76565         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
76566         <stdlib.h>, <unistd.h>, "pathmax.h".
76567         Instead, include "xgetcwd.h" (first) and "getcwd.h".
76568         (INITIAL_BUFFER_SIZE): Remove.
76569         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
76570
76571 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
76572
76573         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
76574         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
76575         Use the _ONCE methods, for efficiency.
76576         Check for fcntl.h.  In test program, include <errno.h>
76577         and <fcntl.h> if available.  Remove old K&R cruft from
76578         test program.  Check for common errors in GNU/Linux,
76579         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
76580         don't do AC_LIBOBJ, as that's getcwd.m4's job.
76581         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
76582         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
76583         name accordingly.
76584         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
76585         accommodate new getcwd.c.
76586         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
76587         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
76588         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
76589         that's all we need now.
76590
76591 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76592
76593         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
76594         argp-parse.c depends on getopt internals, that means we should
76595         always use our getopt, to be on the safe side.
76596         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
76597         order not to spoil the result of an eventual previous invocation
76598         of gl_GETOPT_SUBSTITUTE.
76599
76600 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
76601
76602         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
76603         redefinition warnings. To avoid them, include the defines
76604         in `#if !defined __need_getopt ... #endif'. The only place
76605         where __getopt_argv_const is used is in definitions
76606         of getopt_long and getopt_long_only below, which are as well
76607         protected by `#ifndef __need_getopt'.
76608         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
76609         __need_getopt after including <stdio.h> and <unistd.h> These
76610         headers might have defined it.
76611
76612 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
76613
76614         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
76615
76616 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
76617
76618         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
76619         (futimens): New function, which uses futimes if available.
76620         (futimens, utimens): Support timespec==NULL, with same semantics
76621         as utime and utimens.
76622         * lib/utimens.h (futimens): New decl.
76623
76624 2004-11-23  Jim Meyering  <jim@meyering.net>
76625
76626         * lib/getopt_.h: Remove trailing blanks.
76627
76628 2004-11-23  Jim Meyering  <jim@meyering.net>
76629
76630         * lib/__fpending.c: Add comment.
76631
76632 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
76633
76634         * modules/canonicalize (Depends-on): Add xreadlink.
76635         Problem reported by James Youngman.
76636
76637 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
76638
76639         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
76640         New macros.
76641         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
76642         optopt): Use them instead of invoking ## directly; otherwise, the
76643         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
76644
76645 2004-11-19  Bruno Haible  <bruno@clisp.org>
76646
76647         * lib/strtok_r.c: Move comments from here...
76648         * lib/strtok_r.h: ... to here.
76649
76650 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
76651
76652         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
76653         implementations that mishandle size_t overflow.
76654
76655 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
76656
76657         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
76658         might fail.  Problem reported by Yoann Vandoorselaere.
76659         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
76660         implementations that mishandle size_t overflow.
76661
76662 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
76663
76664         * modules/canon-host (Depends-on): Add strdup.
76665
76666 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
76667
76668         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
76669
76670 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
76671
76672         * lib/canon-host.c: Include "strdup.h".
76673         (canon_host): Use getaddrinfo if available, so that IPv6 works.
76674         Use strdup instead of malloc/strcpy to duplicate strings.
76675
76676         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
76677         (human_space_before_unit): New constant.
76678         * lib/human.c (human_readable): Support it.
76679
76680         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
76681         (xgetcwd): Set errno correctly when failing.
76682         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
76683         the failure is actually due to a PATH_MAX problem.
76684
76685         Further getopt changes to make it more likely that glibc will
76686         buy the changes back.
76687         * lib/getopt.c (POSIXLY_CORRECT): New constant.
76688         (getopt): Use it, so to preserve glibc semantic
76689         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
76690         when compiling for libc.
76691         * lib/getopt_.h (__getopt_argv_const): Bring it back.
76692         (getopt_long, getopt_long_only): Use it.
76693
76694         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
76695         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
76696         (getopt): Argv is now char * const *, as per standard.
76697         (_getopt_internal_r, _getopt_internal): Argv is now char **,
76698         not char *__getopt_argv_const *.
76699         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
76700         _getopt_long_only_r): Likewise.
76701         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
76702         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
76703         _getopt_long_r, _getopt_long_only_r): Likewise.
76704         * lib/getopt_.h (__getopt_argv_const): Remove.
76705         (getopt): Argv is now char * const *, as per standard.
76706
76707         * lib/getdate.y (tORDINAL): New token.
76708         (day, relunit): Allow it for relative times.
76709         (relative_time_table): Use tORDINAL for ordinals.
76710
76711 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
76712
76713         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
76714         Document that "second" isn't allowed as an ordinal number.
76715
76716 2004-11-16  Jim Meyering  <jim@meyering.net>
76717
76718         * modules/closeout (Depends-on): Add fpending.
76719
76720 2004-11-15  Jim Meyering  <jim@meyering.net>
76721
76722         * lib/closeout.c: Include "__fpending.h" once again.
76723         Include <stdbool.h>.
76724         (close_stdout): Don't fail just because stdout was closed initially,
76725         since some programs don't write to stdout in the normal course of
76726         operation (other than --version and --help), and we don't want this
76727         function to make e.g. `touch file >&-' fail.
76728         But do fail if it was closed and someone has tried to write to it.
76729         E.g., `printf foo >&-' must fail.
76730
76731 2004-11-13  Jim Meyering  <jim@meyering.net>
76732
76733         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
76734
76735 2004-11-12  Simon Josefsson  <jas@extundo.com>
76736
76737         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
76738         small doc fix is still pending.
76739
76740 2004-11-11  Simon Josefsson  <jas@extundo.com>
76741
76742         * modules/strtok_r: New file.
76743
76744         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76745         strtok_r.
76746
76747 2004-11-11  Simon Josefsson  <jas@extundo.com>
76748
76749         * m4/strtok_r.m4: New file.
76750
76751         * m4/getopt.m4: Replace opterr.
76752
76753 2004-11-11  Simon Josefsson  <jas@extundo.com>
76754
76755         * lib/strtok_r.h, strtok_r.c: New file.
76756
76757 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
76758
76759         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
76760         of replacing opterr, getopt, etc.  This should handle the
76761         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
76762
76763 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
76764
76765         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
76766         we can stop lying to compilers about the constness of argv when we
76767         are compiled outside glibc.
76768         (getopt, getopt_long, getopt_long_only): Use it.
76769         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
76770         _getopt_internal, getopt): Likewise.
76771         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
76772         _getopt_long_only_r): Likewise.
76773         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
76774         _getopt_long_r, _getopt_long_only_r): Likewise.
76775
76776         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
76777         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
76778         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
76779         the other external symbols.
76780         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
76781         declaration, since the above renaming now works around collisions.
76782
76783 2004-11-11  Jim Meyering  <jim@meyering.net>
76784
76785         * lib/linebreak.c: Remove trailing blanks.
76786         * lib/alloca_.h: Likewise.
76787         * lib/acosl.c: Likewise.
76788         * lib/euidaccess.c: Likewise.
76789         * lib/allocsa.h: Likewise.
76790
76791 2004-11-10  Simon Josefsson  <jas@extundo.com>
76792
76793         * m4/getaddrinfo.m4: New file.
76794
76795 2004-11-10  Simon Josefsson  <jas@extundo.com>
76796
76797         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
76798
76799 2004-11-10  Simon Josefsson  <jas@extundo.com>
76800
76801         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76802         getaddrinfo.
76803
76804         * modules/getaddrinfo: New file.
76805
76806 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76807
76808         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
76809
76810 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
76811
76812         * lib/mktime.c (SHR): New macro, which is a portable
76813         substitute for >> that should work even on Crays.
76814         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
76815         Problem reported by Mark D. Baushke in
76816         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
76817         * lib/getdate.y (SHR): Likewise.
76818         (tm_diff): Use it.
76819         * lib/strftime.c (SHR): Likewise.
76820         (tm_diff): Use it.
76821         * lib/quotearg.c (struct quoting_options): Use unsigned int for
76822         quote_these_too, so that right shifts are well defined.  All uses
76823         changed.
76824
76825 2004-11-10  Jim Meyering  <jim@meyering.net>
76826
76827         Ensure that no close failure goes unreported.
76828         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
76829         return early when it seems there's nothing to flush.
76830         Don't include __fpending.h.
76831
76832 2004-11-10  Jim Meyering  <jim@meyering.net>
76833
76834         * modules/closeout (Depends-on): Remove fpending.
76835
76836 2004-11-10  Jim Meyering  <jim@meyering.net>
76837
76838         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
76839
76840 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76841
76842         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
76843         gl_FUNC_STRFTIME.
76844         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
76845         and AC_REQUIRE when possible, to avoid duplicate checks.
76846         Check for <wchar.h>.
76847
76848 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76849
76850         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
76851
76852 2004-11-09  Bruno Haible  <bruno@clisp.org>
76853
76854         * m4/sockpfaf.m4: New file.
76855
76856 2004-11-05  Bruno Haible  <bruno@clisp.org>
76857
76858         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
76859         Reported by Mark D. Baushke <mdb@cvshome.org>.
76860
76861 2004-11-04  Bruno Haible  <bruno@clisp.org>
76862
76863         2004-09-11  Bruno Haible  <bruno@clisp.org>
76864                 * allocsa.valgrind: New file.
76865         2004-02-06  Bruno Haible  <bruno@clisp.org>
76866                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
76867                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
76868                 Reported by Christopher Seip <chris.seip@hp.com>.
76869
76870 2004-11-04  Bruno Haible  <bruno@clisp.org>
76871
76872         * modules/allocsa (Files): Add lib/allocsa.valgrind.
76873         (Makefile.am): Distribute it.
76874
76875 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
76876
76877         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
76878         with errno == ERANGE if the buffer is too small.
76879         Problem reported by Mark D. Baushke.
76880
76881 2004-11-03  Albert Chin  <china@thewrittenword.com>
76882             Paul Eggert  <eggert@cs.ucla.edu>
76883
76884         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
76885         equivalent, substitute $ac_type for equivalent type rather than
76886         blindly using uint32_t *always* which won't work if uint32_t is not
76887         available.  Define _UINT32_T to work around typedef of uint32_t if
76888         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
76889         2.5.1.
76890
76891 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
76892
76893         * m4/jm-macros.m4: Sync from coreutils.
76894         (gl_MACROS): Check for mbrlen, for pathchk.
76895         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
76896
76897 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
76898
76899         * lib/xreadlink.c (MAXSIZE): New macro.
76900         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
76901         size does not exceed MAXSIZE.  Avoid cast.
76902         As suggested by Mark D. Baushke in
76903         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
76904         if readlink fails with buffer size just under MAXSIZE, try again
76905         with MAXSIZE.
76906
76907 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
76908
76909         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
76910
76911 2004-11-02  Derek R. Price  <derek@ximbiot.com>
76912         and  Paul Eggert  <eggert@cs.ucla.edu>
76913
76914         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
76915         (get_date): Overparenthesize to avoid GCC warning.
76916
76917 2004-11-02  Bruno Haible  <bruno@clisp.org>
76918
76919         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
76920         returns void.
76921
76922 2004-11-02  Bruno Haible  <bruno@clisp.org>
76923
76924         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
76925         function returns void.
76926
76927 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
76928
76929         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
76930         fflush_unlocked, flockfile, funlockfile, funlockfile,
76931         fputs_unlocked, putc_unlocked.
76932
76933 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
76934
76935         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
76936         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
76937         already declared.
76938
76939 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
76940
76941         * modules/getdate (Files): Add doc/getdate.texi.
76942         (Depends-on): Add setenv, xalloc.
76943
76944 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
76945
76946         * lib/getdate.y: Add support for TZ="foo" within a date string.
76947         Fix some bugs near time_t boundaries.  Reject dates with
76948         out-of-range components, e.g., "Sept 31".
76949         Include <stdlib.h>, "setenv.h", "xalloc.h".
76950         (ISDIGIT_LOCALE): Remove; unused.
76951         Note that the TZ and time functions used here are not reentrant.
76952         (mktime_ok, get_tz): New functions.
76953         (TZBUFSIZE): New constant.
76954         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
76955         This requires that we sometimes generate our own TZ="XXX..." setting.
76956
76957 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
76958
76959         * doc/getdate.texi: New file, from coreutils with modifications for
76960         the new TZ parsing.
76961
76962 2004-10-27  Derek R. Price  <derek@ximbiot.com>
76963
76964         * lib/mktime.c (not_equal_tm): Remove redundant check.
76965
76966 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76967
76968         * modules/regex (lib_SOURCES): Add regex.c.
76969         Reported by James Youngman in
76970         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
76971
76972 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76973
76974         * lib/getdate.y: Use Bison 1.875 features, and some minor
76975         code cleanups.  This change does not affect semantics.
76976         Don't include <stdlib.h>; no longer needed.
76977         Don't include unlocked-io.h; only the "#if TEST" code uses
76978         stdio, and performance isn't crucial there.
76979         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
76980         Bison 1.875 features as described below.
76981         All uses of "PC." replaced by "pc->".
76982         (YYSTYPE): Add a forward declaration.
76983         (yylex, yyerror): Use full prototypes in forward decls.
76984         Use "%pure-parser" rather than obsolescent "%pure_parser".
76985         Use %parse-param and %lex-param instead of obsolescent
76986         YYPARSE_PARAM and YYLEX_PARAM.
76987         (meridian_table, month_and_day_table, time_units_table,
76988         relative_time_table, time_zone_table, military_table,
76989         lookup_zone, lookup_word, get_date):
76990         Use NULL instead of 0 where appropriate.
76991         (to_hour): Avoid abort (), to avoid a dependency on
76992         stdlib.h.
76993         (yyerror, yylex): Now accepts parser_control * arg.
76994         (main) [TEST]: Use '\0' rather than 0 for char.
76995
76996 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
76997
76998         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
76999
77000 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
77001
77002         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
77003         It's now the caller's responsibility to handle the case where
77004         !HAVE_GETPAGESIZE && !defined getpagesize.
77005
77006         * lib/mktime.c (leapyear): Arg is long int, not int.
77007
77008 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
77009
77010         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
77011
77012 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
77013
77014         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
77015         missing.  Problem reported by James Youngman.
77016
77017 2004-10-16  Simon Josefsson  <jas@extundo.com>
77018
77019         * gnulib-tool: Fix comments.  Fix parse problem.
77020         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
77021
77022 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
77023
77024         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
77025         implementation of getopt_long.  Problem reported by Alexander Taler in:
77026         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
77027
77028 2004-10-15  Bruno Haible  <bruno@clisp.org>
77029
77030         * gnulib-tool: Untabify. Initialize supplied_libname.
77031         (func_usage): More homogenous output.
77032         (func_modules_transitive_closure, func_modules_to_filelist,
77033         func_emit_lib_Makefile_am): New functions.
77034         (func_import): New function, extracted from big case statement. Use
77035         func_get_license, func_modules_transitive_closure,
77036         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
77037         opt_lgpl. Don't use test -a, as it's not portable.
77038         (func_create_testdir): Use func_modules_transitive_closure,
77039         func_modules_to_filelist, func_emit_lib_Makefile_am.
77040
77041 2004-10-15  Bruno Haible  <bruno@clisp.org>
77042
77043         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
77044
77045 2004-10-15  Bruno Haible  <bruno@clisp.org>
77046
77047         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
77048         the portions belonging to each module.
77049         Suggested by Derek Robert Price <derek@ximbiot.com>.
77050
77051 2004-10-12  Simon Josefsson  <jas@extundo.com>
77052
77053         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
77054         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
77055         to real functions.
77056
77057 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
77058
77059         * modules/vsnprintf: New file.
77060
77061 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
77062
77063         * m4/vsnprintf.m4: New file.
77064
77065 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
77066
77067         * lib/vsnprintf.h: New file.
77068         * lib/vsnprintf.c: New file.
77069
77070 2004-10-11  Bruno Haible  <bruno@clisp.org>
77071
77072         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
77073         vsnprintf.
77074
77075 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77076
77077         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
77078
77079 2004-10-07  Bruno Haible  <bruno@clisp.org>
77080
77081         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
77082         fits into the provided buffer.
77083
77084 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77085
77086         * lib/diacrit.c, diacrit.h: Add GPL notice.
77087
77088         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
77089         notice.
77090         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
77091         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
77092         This avoids a potential constant-folding bug.
77093
77094 2004-10-05  Bruno Haible  <bruno@clisp.org>
77095
77096         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
77097         for the declaration of strsep.
77098
77099 2004-10-05  Bruno Haible  <bruno@clisp.org>
77100
77101         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
77102
77103 2004-10-04  Simon Josefsson  <jas@extundo.com>
77104
77105         * modules/memmem: New file.
77106         * tests/test-memmem.c: New file.
77107         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
77108
77109 2004-10-04  Simon Josefsson  <jas@extundo.com>
77110
77111         * m4/memmem.m4: New file.
77112
77113 2004-10-04  Simon Josefsson  <jas@extundo.com>
77114
77115         * lib/memmem.h: New file.
77116         * lib/memmem.c: New file, taken from glibc.
77117
77118 2004-10-04  Simon Josefsson  <jas@extundo.com>
77119
77120         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
77121         '#ifdef USE_UNLOCKED_IO'.
77122
77123 2004-10-04  Simon Josefsson  <jas@extundo.com>
77124
77125         * config/srclist.txt: Add memmem from glibc.
77126
77127 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
77128
77129         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
77130
77131         * modules/argmatch, modules/argp, modules/closeout, modules/error,
77132         modules/exclude, modules/getdate, modules/getline,
77133         modules/getndelim2, modules/getpass, modules/getpass-gnu,
77134         modules/getusershell, modules/linebuffer, modules/md5,
77135         modules/mountlist, modules/posixtm, modules/readtokens,
77136         modules/readutmp, modules/regex, modules/sha1,
77137         modules/version-etc, modules/yesno:
77138         Remove dependency on unlocked-io.
77139
77140 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
77141
77142         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
77143
77144         * m4/unlocked-io.m4: Add copyright notice.
77145         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
77146
77147 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
77148
77149         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
77150         * lib/xmalloc.c (xmemdup): Likewise.
77151         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
77152         XFREE): Remove these long-obsolescent macros.
77153         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
77154         * lib/xstrdup.c: Remove.
77155
77156         * lib/regex.c (re_comp): Cast gettext return value to char *,
77157         Problem reported by Martin Neitzel via Mark D. Baushke.
77158
77159 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
77160
77161         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
77162         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
77163         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
77164         regex.c, sha1.c, version-etc.c, yesno.c:
77165         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
77166         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
77167         the includer's responsibility.
77168
77169         Sync from coreutils.
77170
77171         * lib/modechange.c (mode_compile): Don't decrement a pointer that
77172         points to the start of a string, as the C Standard says the
77173         resulting behavior is undefined.
77174
77175         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
77176         simple -> simple_backups, numbered_existing ->
77177         numbered_existing_backups, numbered -> numbered_backups
77178         to avoid shadowing problems.  All uses changed.
77179         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
77180         * lib/backupfile.c (check_extension, numbered_backup):
77181         Rename locals to avoid shadowing 'basename'.
77182         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
77183         once.
77184
77185         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
77186         * lib/.cvsignore: Add getopt.h.
77187
77188 2004-10-04  Bruno Haible  <bruno@clisp.org>
77189
77190         * modules/README: New file.
77191         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
77192         not a module.
77193
77194 2004-10-02  Jim Meyering  <jim@meyering.net>
77195
77196         * lib/dirfd.h, getpagesize.h: Add copyright notice.
77197
77198 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
77199
77200         * modules/strsep: New file.
77201
77202 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
77203
77204         * m4/strsep.m4: New file.
77205
77206 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
77207
77208         * lib/strsep.h: New file.
77209         * lib/strsep.c: New file.
77210
77211 2004-10-01  Simon Josefsson  <jas@extundo.com>
77212
77213         * lib/snprintf.c (snprintf): Handle size==0.
77214
77215 2004-10-01  Simon Josefsson  <jas@extundo.com>
77216             Bruno Haible  <bruno@clisp.org>
77217
77218         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
77219         (snprintf): Declare 'args'.
77220
77221 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
77222
77223         * lib/snprintf.c: Remove comments as to why each header is needed.
77224
77225 2004-10-01  Bruno Haible  <bruno@clisp.org>
77226
77227         * MODULES.html.sh: Add strsep.
77228
77229 2004-09-30  Simon Josefsson  <jas@extundo.com>
77230
77231         * modules/snprintf: New file.
77232
77233 2004-09-30  Simon Josefsson  <jas@extundo.com>
77234
77235         * m4/snprintf.m4: New file.
77236
77237 2004-09-30  Simon Josefsson  <jas@extundo.com>
77238
77239         * lib/snprintf.h, lib/snprintf.c: New files.
77240
77241 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
77242
77243         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
77244         (hol_entry_help): Never translate an empty string.
77245         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
77246         * lib/argp.h (OPTION_NO_TRANS): New option.
77247
77248 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
77249
77250         * modules/argp (Maintainer): Replace Simon Josefsson
77251         by Sergey Poznyakoff.
77252
77253 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
77254
77255         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
77256         changes merged back into glibc.
77257
77258 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
77259
77260         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
77261
77262 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
77263
77264         * lib/xvasprintf.c: Include xalloc.h.
77265         (xvasprintf): Use xalloc_die, not xmalloc_die.
77266
77267 2004-09-29  Bruno Haible  <bruno@clisp.org>
77268
77269         * modules/alloca-opt: New file, derived from modules/alloca.
77270         * modules/allocsa: Depend on alloca-opt instead of alloca.
77271         * modules/setenv: Likewise.
77272         * modules/vasnprintf: Likewise.
77273         * MODULES.html.sh: Add alloca-opt.
77274
77275 2004-09-28  Simon Josefsson  <jas@extundo.com>
77276
77277         * gnulib-tool: New parameter --lgpl, to asseert that modules are
77278         LGPL, and to replace license template from GPL to LGPL.
77279
77280 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
77281
77282         * modules/dummy: Change license to LGPL.
77283
77284 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
77285
77286         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
77287
77288 2004-09-24  Simon Josefsson  <jas@extundo.com>
77289
77290         * modules/minmax (License): Change from GPL to LGPL.
77291
77292 2004-09-23  Simon Josefsson  <jas@extundo.com>
77293
77294         * gnulib-tool (--import): Typo.
77295
77296 2004-09-23  Simon Josefsson  <jas@extundo.com>
77297
77298         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
77299
77300 2004-09-22  Bruno Haible  <bruno@clisp.org>
77301
77302         * modules/*: Add 'License' field.
77303         * gnulib-tool: Accept --extract-license option.
77304         (func_get_license): New function.
77305
77306 2004-09-21  Bruno Haible  <bruno@clisp.org>
77307
77308         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
77309         Reported by Simon Josefsson.
77310
77311 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
77312
77313         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
77314         gl_AC_TYPE_LONG_LONG.
77315
77316 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
77317
77318         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
77319
77320 2004-09-18  Simon Josefsson  <jas@extundo.com>
77321         and  Paul Eggert  <eggert@cs.ucla.edu>
77322
77323         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
77324         calls with autoreconf.  Define GL_LIB.
77325
77326 2004-09-14  Karl Berry  <karl@gnu.org>
77327
77328         * config/srclist.txt: unsync setenv.c, sigh.
77329
77330 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
77331
77332         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
77333         Problem reported by Bruno Haible in:
77334         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
77335
77336 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
77337
77338         * config/srclist.txt: Comment out argp-pvh.c.
77339
77340 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
77341
77342         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
77343         in case some system header has #define'd it.  Problem reported by
77344         Soeren D. Schulze in
77345         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
77346
77347 2004-09-09  Karl Berry  <karl@gnu.org>
77348
77349         * regex.[ch]: delete from the root.  These were supposed to be
77350                 synced with emacs cvs, but this has not happened for about
77351                 a year, and anyway nothing else uses emacs regex.[ch].
77352                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
77353                 lib/regex[.ch] is untouched.
77354
77355 2004-09-09  Bruno Haible  <bruno@clisp.org>
77356
77357         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
77358
77359 2004-09-09  Bruno Haible  <bruno@clisp.org>
77360
77361         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
77362         modifications.
77363         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
77364
77365 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
77366
77367         * modules/xvasprintf: New file.
77368         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
77369
77370 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
77371
77372         * lib/xvasprintf.h: New file.
77373         * lib/xvasprintf.c: New file.
77374         * lib/xasprintf.c: New file.
77375
77376 2004-09-08  Bruno Haible  <bruno@clisp.org>
77377
77378         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
77379
77380 2004-09-08  Bruno Haible  <bruno@clisp.org>
77381
77382         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
77383         length is > INT_MAX.
77384         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
77385         more.
77386
77387 2004-09-08  Bruno Haible  <bruno@clisp.org>
77388
77389         * lib/stdint_.h: New file, taken from GNU clisp.
77390
77391 2004-09-08  Bruno Haible  <bruno@clisp.org>
77392             Oskar Liljeblad  <oskar@osk.mine.nu>
77393
77394         * modules/stdint: New file.
77395         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
77396
77397 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
77398
77399         Import from coreutils.
77400         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
77401         strings on unbounded length.  alloca's performance benefits aren't
77402         that important here.
77403         (V_STRDUP): Remove.
77404         (parse_with_separator): New function, with most of the internals
77405         of the old parse_user_spec.  Allow user to omit both user and group,
77406         for compatibility with FreeBSD.
77407         Clone only the user name, not the entire spec.
77408         Do not set *uid, *gid unless entirely successful.
77409         Avoid memory leak in some failing cases.
77410         Fix regression for USER.GROUP reported by Dmitry V. Levin in
77411         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
77412         (parse_user_spec): Rewrite to use parse_with_separator.
77413
77414 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
77415
77416         * modules/userspec: Don't depend on alloca.
77417
77418 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
77419
77420         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
77421
77422 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
77423
77424         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
77425         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
77426         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
77427
77428 2004-08-16  Simon Josefsson  <jas@extundo.com>
77429
77430         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
77431         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
77432         Add --dry-run for --import.
77433         Let user provided command line parameters override configure.ac
77434         settings.
77435
77436 2004-08-12  Simon Josefsson  <jas@extundo.com>
77437
77438         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
77439         as discussed with Paul Eggert in threads rooted at
77440         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
77441         and
77442         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
77443         Before, the test was empty, and relied on ELIDE_CODE in source
77444         code.)
77445         (gl_PREREQ_GETOPT): New macro.
77446         (gl_GETOPT): Use them.
77447
77448 2004-08-12  Simon Josefsson  <jas@extundo.com>
77449
77450         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
77451         * lib/getopt_.h: Renamed from getopt.h.
77452
77453 2004-08-12  Simon Josefsson  <jas@extundo.com>
77454
77455         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
77456         Change default library name from libfoo to libgnu.
77457         Now, if you have a configure.ac that says:
77458                 gl_SOURCE_BASE(gl)
77459                 gl_M4_BASE(gl/m4)
77460                 gl_MODULES(error getopt etcetera)
77461                 gl_INIT
77462         you can import all you need by running:
77463                 ../gnulib/gnulib-tool --import
77464
77465         * modules/getopt (Files): Rename getopt.h to getopt_.h.
77466         (Makefile.am): Rewrite, use logic from argz.
77467         (Include): Use <getopt.h> instead of "getopt.h".
77468
77469 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
77470
77471         * modules/argp (Files): Add m4/unlocked-io.m4.
77472         (Depends-on): Add extensions.
77473
77474 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
77475
77476         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
77477         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
77478         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
77479         Check for program_invocation_name, program_invocation_short_name,
77480         flockfile, funlockfile, features.h, _getopt_long_only_r.
77481
77482 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
77483
77484         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
77485         its complicated substitute.
77486         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
77487         and program_invocation_name.
77488         (__argp_basename) [!_LIBC]: Remove; the only use was
77489         replaced by its body.
77490         (__argp_short_program_name): Change condition from
77491         !defined __argp_short_program_name to
77492         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
77493         to match argp-namefrob.h.
77494         (__argp_failure): Don't assume strerror_r returns char *.
77495         * lib/argp-parse.c (N_): Define unconditionally.
77496         (argp_default_options): Fill out initializers with 0 to avoid
77497         gcc warnings.
77498
77499 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
77500
77501         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
77502         getopt1.c.
77503
77504 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
77505
77506         Merge from coreutils.
77507
77508         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
77509
77510         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
77511         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
77512
77513 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
77514
77515         Merge from coreutils.
77516
77517         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
77518         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
77519         for Reliant Unix 5.43.
77520
77521         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
77522         (union fooround): Use uintmax_t, not long int.
77523         The rest is a merge from libc:
77524         [defined _LIBC]: Include <shlib-compat.h>.
77525         (_obstack) [defined _LIBC]: Remove after 2.3.4.
77526
77527         * lib/settime.c (settime): Recode to avoid warning with
77528         Sun Forte C 6U2.
77529
77530         * lib/strverscmp.c: Convert to UTF-8.
77531
77532 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
77533
77534         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
77535         m4/uintmax_t.m4.
77536
77537 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77538
77539         * modules/xalloc-die: New file.
77540         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
77541
77542         * modules/md5 (Files): Add m4/uint32_t.m4.
77543         * modules/sha1: Renamed from modules/sha.
77544         (Files):
77545         Rename lib/sha.h to lib/sha1.h.
77546         Rename lib/sha.c to lib/sha1.c.
77547         Rename m4/sha.m4 to m4/sha1.m4.
77548         (lib_SOURCES): Likewise.
77549         (configure.ac): Rename gl_SHA to gl_SHA1.
77550         (Include): sha.h -> sha1.h.
77551
77552 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77553
77554         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
77555         * m4/sha1.m4: Renamed from sha.m4.
77556         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
77557
77558 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77559
77560         * lib/obstack.h (obstack_empty_p):
77561         Don't assume that chunk->contents is suitably aligned.
77562         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
77563         Likewise. Problem reported by Benno in
77564         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
77565
77566         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
77567         readable.  This could be improved further but it'd take some work.
77568
77569 2004-08-08  Simon Josefsson  <jas@extundo.com>
77570
77571         * modules/xgethostname (Depends-on): Remove exit and error (not
77572         used).
77573
77574         * modules/getpass-gnu: Add getpass.h.
77575         (Depends-on): Add stdbool.
77576         * modules/getpass: Add getpass.h.
77577
77578 2004-08-08  Simon Josefsson  <jas@extundo.com>
77579
77580         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
77581         Check getpass declaration.
77582
77583 2004-08-08  Simon Josefsson  <jas@extundo.com>
77584
77585         * lib/xgethostname.c: Don't include error.h (not used).
77586
77587         * lib/getpass.h: Add.
77588         * lib/getpass.c: Include getpass.h first.
77589
77590 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
77591
77592         * lib/xalloc-die.c: New file.
77593         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
77594         All uses removed.
77595         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
77596         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
77597         xalloc-die.c.
77598         (_, N_, xalloc_die): Move to xalloc-die.c.
77599         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
77600         so that we needn't mess with xalloc_msg_memory_exhausted.
77601
77602         * lib/sha1.h: Renamed from sha.h.
77603         (SHA1_H): Renamed from _SHA_H.
77604         (sha1_ctx): Renamed from sha_ctx.
77605         (sha1_init_ctx): Renamed from sha_init_ctx.
77606         (sha1_process_block): Renamed from sha_process_block.
77607         (sha1_process_bytes): Renamed from sha_process_bytes.
77608         (sha1_finish_ctx): Renamed from sha_finish_ctx.
77609         (sha1_read_ctx): Renamed from sha_read_ctx.
77610         (sha1_stream): Renamed from sha_stream.
77611         (sha1_buffer): Renamed from sha_buffer.
77612         * lib/sha1.c: Likewise; renamed from sha.c.
77613         Do not include <sys/types.h>.
77614         Include <stddef.h> rather than <stdlib.h>.
77615
77616 2004-08-08  Bruno Haible  <bruno@clisp.org>
77617
77618         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
77619         FILESYSTEM_PREFIX_LEN.
77620         * lib/progreloc.c: Likewise.
77621         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
77622
77623 2004-08-06  Simon Josefsson  <jas@extundo.com>
77624
77625         * modules/progname (Depends-on): Don't depend on stdbool.
77626
77627 2004-08-06  Simon Josefsson  <jas@extundo.com>
77628
77629         * modules/getsubopt: New file.
77630         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
77631         getsubopt.
77632
77633 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
77634
77635         More merge from coreutils.
77636
77637         * m4/utimens.m4, m4/utimecmp.m4: New files.
77638         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
77639         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
77640         prereq.m4, sha.m4: Import changes from coreutils.
77641
77642 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
77643
77644         More merge from coreutils.
77645         * modules/raise, modules/readtokens0, modules/utimens:
77646         * modules/utimecmp, module/xnanosleep: New files.
77647         * modules/strftime: Add lib/strftime.h.
77648         Change include from <time.h> to "strftime.h".
77649         * modules/yesno: Add lib/yesno.h.
77650         * modules/backupfile: Remove lib/addext.c.
77651         * modules/euidaccess: Add stat-macros.h.
77652         * modules/canonicalize, modules/euidaccess,
77653         modules/filemode, modules/lchown, modules/makepath,
77654         modules/rmdir, modules/stat: Likewise.
77655
77656 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
77657
77658         Merge from tar.
77659         * lib/argp-help.c (make_hol, hol_append): Don't assume that
77660         SIZE_MAX is a valid preprocessor constant.
77661         (__argp_basename): Change from "#ifndef _LIBC"
77662         to "#ifndef __argp_short_program_name", so that
77663         we don't compile these functions for tar.
77664
77665         More merges from coreutils.
77666         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
77667         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
77668         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
77669         * lib/addext.c: Remove; no longer needed.
77670         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
77671         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
77672         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
77673         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
77674         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
77675         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
77676         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
77677         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
77678         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
77679         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
77680         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
77681         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
77682         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
77683         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
77684         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
77685         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
77686         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
77687         Import changes from coreutils.
77688
77689 2004-08-05  Simon Josefsson  <jas@extundo.com>
77690
77691         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
77692
77693 2004-08-05  Simon Josefsson  <jas@extundo.com>
77694
77695         * m4/getsubopt.m4: New file.
77696
77697 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
77698
77699         Merge from coreutils.
77700
77701         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
77702         * m4/getcwd-path-max.m4: New files.
77703
77704         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
77705         FILESYSTEM_PREFIX_LEN ->
77706         FILE_SYSTEM_PREFIX_LEN.
77707         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
77708         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
77709         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
77710         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
77711
77712         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
77713         prerequisite modules now handle the DOS stuff.
77714         Don't check for unistd.h.
77715
77716 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
77717
77718         Merge from coreutils.
77719
77720         * lib/.gdb-history: Remove; this doesn't belong here.
77721
77722         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
77723         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
77724         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
77725         * lib/getcwd.c: New files.
77726
77727         * lib/dirname.h: Include <stdbool.h>.
77728         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
77729         for consistency with POSIX terminology.  All uses changed.
77730         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
77731         (strip_trailing_slashes): Use bool for booleans.
77732         * lib/stripslash.c (strip_trailing_slashes): Likewise.
77733
77734         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
77735         sometimes returns a positive errno value even when it succeeds.
77736         (print_errno_message) [!LIBC]: Fall back on strerror if
77737         __strerror_r fails.
77738
77739         * lib/path-concat.c (mempcpy): Don't define if a system header defines
77740         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
77741         (longest_relative_suffix): New function.
77742         (path_concat): Use it.  Assume first argument is not NULL.
77743         Port to DOS.  Omit redundant separators.
77744         Report an error instead of returning NULL.
77745         Use mempcpy instead of memcpy.
77746         (xpath_concat): Remove: not declared or used.
77747
77748         * lib/same.h: Include <stdbool.h>
77749         (same_name): Return bool, not int.
77750         * lib/same.c (same_name): Likewise.
77751         (errno): Don't declare; we assume C89 or better now.
77752
77753         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
77754         if not already defined.
77755
77756         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
77757         * lib/dup-safer.c (errno): Likewise.
77758
77759 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
77760
77761         Merge from coreutils.
77762         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
77763         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
77764         * modules/path-concat: Don't depend on strdup.
77765
77766 2004-08-03  Simon Josefsson  <jas@extundo.com>
77767
77768         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
77769         * lib/progname.h: Don't include stdbool.h.
77770
77771 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
77772
77773         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
77774         * MODULES.html.sh (func_all_modules): Remove fatal.
77775
77776 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
77777
77778         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
77779
77780 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
77781
77782         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
77783         working.
77784
77785 2004-08-02  Simon Josefsson  <jas@extundo.com>
77786
77787         * lib/getsubopt.h: New file, with comments from Bruno Haible.
77788         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
77789         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
77790
77791 2004-08-01  Simon Josefsson  <jas@extundo.com>
77792
77793         * lib/xgetdomainname.c: Include stdlib.h, for free().
77794
77795 2004-07-19  Bruno Haible  <bruno@clisp.org>
77796
77797         * MODULES.html.sh (func_all_modules): Add dummy.
77798
77799 2004-07-16  Simon Josefsson  <jas@extundo.com>
77800
77801         * modules/dummy: New file.
77802
77803 2004-07-16  Simon Josefsson  <jas@extundo.com>
77804
77805         * lib/dummy.c: New file.
77806
77807 2004-07-16  Bruno Haible  <bruno@clisp.org>
77808
77809         * lib/backupfile.h: Add extern "C" for C++.
77810         * lib/closeout.h: Likewise.
77811         * lib/copy-file.h: Likewise.
77812         * lib/findprog.h: Likewise.
77813         * lib/full-write.h: Likewise.
77814         * lib/pathname.h: Likewise.
77815         * lib/progname.h: Likewise.
77816         * lib/stpcpy.h: Likewise.
77817         * lib/stpncpy.h: Likewise.
77818         * lib/strcase.h: Likewise.
77819         * lib/strstr.h: Likewise.
77820         * lib/xalloc.h: Likewise.
77821
77822         * lib/mbswidth.h: Add extern "C" for C++.
77823         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
77824
77825 2004-07-13  Robert Millan  <robertmh@gnu.org>
77826
77827         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
77828
77829 2004-07-09  Simon Josefsson  <jas@extundo.com>
77830
77831         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
77832         failed without this.)
77833
77834 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77835
77836         * modules/chown (Files): Add lib/fchown-stub.c, since
77837         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
77838
77839 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77840
77841         * lib/fchown-stub.c: New file.
77842
77843 2004-06-24  Jim Meyering  <jim@meyering.net>
77844
77845         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
77846
77847 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
77848
77849         * modules/argz: Omit "#include".
77850
77851         * MODULES.html.sh (func_all_modules): Add calloc, to match
77852         2004-06-01 addition of calloc module.
77853
77854 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
77855
77856         * m4/argz.m4: New file, which is autoupdated from libtool.
77857
77858 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
77859
77860         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
77861         libtool.
77862
77863 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
77864
77865         * config/srclist-update: Don't insist on "USA." before the
77866         close-comment, as libtool omits the period and puts the */ on a
77867         separate line.
77868         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
77869         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
77870
77871 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
77872
77873         * modules/argz: New file.
77874         * MODULES.html.sh (func_all_modules): Add argz.
77875
77876 2004-06-12  Jim Meyering  <jim@meyering.net>
77877         and  Paul Eggert  <eggert@cs.ucla.edu>
77878
77879         * modules/hash (Files): Add lib/xalloc.h.
77880         * modules/pipe (Depends-on): Add wait-process.
77881         * modules/stat (Depends-on): Add xalloc.
77882         * modules/userspec (Files): Add lib/userspec.h.
77883         * modules/xstrto
77884
77885         Upgrade from gettext-0.13.
77886         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
77887         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
77888         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
77889
77890 2004-06-10  Jim Meyering  <jim@meyering.net>
77891
77892         * lib/calloc.c: New file.
77893
77894 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
77895
77896         * lib/getdate.y (yylex): Allow space between sign and number.
77897         Problem reported by Dan Jacobson.
77898
77899 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
77900
77901         Merge from coreutils CVS.
77902
77903         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
77904         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
77905         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
77906         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
77907         xstrtol.m4: Fix copyright date and/or serial number.
77908
77909         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
77910         See if we need an fchown replacement.
77911         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
77912         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
77913         and use the replacement function if we detect either defect.
77914
77915         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
77916         gl_UTIMECMP.
77917
77918 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
77919         and  Jim Meyering  <jim@meyering.net>
77920
77921         Merge from coreutils CVS.
77922
77923         * lib/stat-macros.h: New file, with contents from file-type.h
77924         and coreutils' system.h.
77925         * lib/file-type.c: Include "stat-macros.h".
77926         * lib/file-type.h (file_type): Move all macro definitions to new file,
77927         stat-macros.h.
77928
77929         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
77930         Wrap old code with this conditional.
77931         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
77932         function that does not dereference symlinks.
77933         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
77934
77935         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
77936         dependency problems.
77937         (xreadlink): Accept new arg SIZE, for efficiency.
77938         All decls and uses changed.
77939         * lib/xreadlink.h: Include <stddef.h>, for size_t.
77940
77941         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
77942         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
77943
77944         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
77945         sysexits.h.
77946
77947 2004-06-01  Jim Meyering  <jim@meyering.net>
77948
77949         * m4/calloc.m4: New file.
77950
77951 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
77952
77953         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
77954         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
77955         Also, fix a typo in a diagnostic.
77956
77957 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
77958
77959         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
77960         or AC_FUNC_REALLOC.
77961
77962 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
77963
77964         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
77965         macros to be defined.
77966         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
77967         the allocator returns NULL because the requested size is zero.
77968
77969 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
77970
77971         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
77972         var.  Add comment explaining why libc still defines it.  This
77973         merges the following patch from glibc:
77974         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
77975
77976 2004-05-20  Andreas Schwab  <schwab@suse.de>
77977
77978         * m4/free.m4: Replace free if it not known to work, not the other
77979         way round.
77980
77981 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
77982
77983         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
77984         present in glibc since revision 1.1 of this file.
77985         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
77986         obstack_alignment_mask, obstack_alloc, obstack_base,
77987         obstack_blank, obstack_blank_fast, obstack_chunk_size,
77988         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
77989         obstack_grow0, obstack_init, obstack_int_grow,
77990         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
77991         obstack_next_free, obstack_object_size, obstack_ptr_grow,
77992         obstack_ptr_grow_fast, obstack_room): Remove declarations of
77993         nonexistent functions.
77994
77995 2004-05-18  Karl Berry  <karl@gnu.org>
77996
77997         * config/srclist.txt: break link for vasnprintf.c.
77998
77999 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
78000
78001         Port obstack to the AS/400, where pointers are 16 bytes wide and
78002         you cannot cast an integer to a valid pointer.  This patch is
78003         currently waiting to be integrated into glibc; see
78004         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
78005
78006         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
78007         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
78008         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
78009         (struct obstack): temp member is now a union of a pointer and
78010         an integer, instead of an integer.  All integer uses changed.
78011         This does not affect the physical layout of struct obstack,
78012         except on hosts (like the AS/400) where the size or alignment of
78013         void * is greater than that of ptrdiff_t.
78014         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
78015         __STDC__)]: Store temporary in pointer member of union, not
78016         integer member.
78017         * lib/obstack.c: Include <stddef.h>, for offsetof.
78018         (struct fooalign): Remove; it doesn't need a name.
78019         (union fooround): Change double to long double, and add void *.
78020         (DEFAULT_ALIGNMENT): Use offsetof to compute.
78021         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
78022         not a macro.  Hence the values are always int; so remove all
78023         casts-to-int in uses.
78024
78025 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
78026
78027         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
78028         we can get this patch merged into glibc.
78029
78030 2004-05-17  Derek R. Price  <derek@ximbiot.com>
78031             Paul Eggert  <eggert@cs.ucla.edu>
78032
78033         * m4/argp: Depend on alloca.
78034
78035 2004-05-17  Derek R. Price  <derek@ximbiot.com>
78036             Paul Eggert  <eggert@cs.ucla.edu>
78037
78038         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
78039         freecoding.
78040
78041 2004-05-17  Bruno Haible  <bruno@clisp.org>
78042
78043         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
78044         precision that consists of a '.' followed by an empty digit string.
78045         Patch by Tor Lillqvist <tml@iki.fi>.
78046
78047 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
78048
78049         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
78050         for backward compatibility with older code.  We need our own
78051         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
78052         it under some other name, and our alloca.h will define it.
78053
78054 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
78055             Derek Price  <derek@ximbiot.com>
78056
78057         * lib/alloca.c: Include <alloca.h>, to get our interface.
78058         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
78059         include <alloca.h> first.  Use C89 prototype for alloca; this
78060         requires including <stddef.h> for size_t.  Use extern "C" if C++.
78061         Use #elif for simplicity, since we can assume C89 now.
78062         Don't try to source the system alloca.h since it will not be found
78063         and to prevent recursively including its replacement.
78064         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
78065         * lib/regex.c: Likewise.
78066
78067 2004-05-16  Derek Price  <derek@ximbiot.com>
78068             Paul Eggert  <eggert@cs.ucla.edu>
78069
78070         getline cleanup.  This changes the getndelim2 API: both order of
78071         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
78072         no delimiter).
78073
78074         * lib/getline.c: Don't include stddef.h or stdio.h, since our
78075         interface does that.
78076         (getline): Always use getdelim, so that we don't have two
78077         copies of this code.
78078         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
78079         if available.
78080         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
78081         (GETNDELIM2_MAXIMUM): New macro.
78082         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
78083         instead of the old practice of delim2==0.  All callers changed.
78084         Return -1 on overflow, instead of returning junk.
78085         Do not set *linesize unless allocation succeeds.
78086         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
78087         that we include sys/types.h.
78088         * lib/getnline.h: Likewise.
78089         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
78090         (getndelim2): Reorder arguments.
78091         * lib/getnline.c (getnline, getndelim):
78092         Don't discard the NMAX argument.
78093         (getnline): Invoke getndelim, to avoid code duplication.
78094         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
78095         of (size_t) -1 by callers of the getnline family.
78096
78097 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
78098
78099         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
78100         Check for gettimeofday.
78101         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
78102         Check for settimeofday, stime.
78103
78104 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
78105
78106         * lib/nanosleep.c (suspended): Change its type from int to
78107         sig_atomic_t volatile.
78108         (first_call): Make it private to rpl_nanosleep, and have it
78109         be zero initially as that's a bit faster.
78110         (my_usleep): Round up fractional times instead of truncating them,
78111         as this is the usual meaning for 'sleep'.
78112
78113         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
78114         doesn't work.
78115         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
78116         (ENOSYS): Define if not defined.
78117         (settime): Fall back on stime if it exists and settimeofday fails.
78118         But don't bother with fallbacks if a method fails with errno == EPERM.
78119
78120 2004-05-11  Jim Meyering  <jim@meyering.net>
78121
78122         Prior to this change, the save_cwd caller required read access to the
78123         current directory on most systems (ones with the fchdir function).
78124
78125         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
78126         fails, try write-only, and finally, resort to using xgetcwd.
78127
78128 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
78129
78130         * lib/obstack.c, obstack.h: Import changes from libc.
78131
78132 2004-04-28  Bruno Haible  <bruno@clisp.org>
78133
78134         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
78135         also implicitly appends .exe to executables.
78136         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
78137         accepts Windows pathnames.
78138         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
78139         Treat Cygwin like Windows, since it now accepts Windows pathnames.
78140         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
78141         Treat Cygwin like Windows, since it now accepts Windows pathnames.
78142         Reported by Derek Robert Price <derek@ximbiot.com>.
78143
78144 2004-04-21  Karl Berry  <karl@gnu.org>
78145
78146         * config/srclist.txt (localcharset.c): break sync.
78147
78148 2004-04-20  Paul Eggert  <eggert@twinsun.com>
78149
78150         * m4/host-os.m4: Add a copyright notice.
78151
78152 2004-04-20  Jim Meyering  <jim@meyering.net>
78153
78154         Change UTILS_ to gl_ in AC_DEFINE'd names.
78155         Change utils_- and jm_-prefixed variables, too.
78156         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
78157         UTILS_FUNC_MKDIR_TRAILING_SLASH.
78158         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
78159
78160         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
78161         Don't emit trailing blanks.
78162         Also rename jm_-prefixed variables to have gl_ prefix.
78163
78164         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
78165         Also rename jm_-prefixed variables to have gl_ prefix.
78166
78167         * m4/jm-macros.m4: Reflect the renamings.
78168         * m4/prereq.m4: Likewise.
78169
78170 2004-04-20  Jim Meyering  <jim@meyering.net>
78171
78172         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
78173         memory.
78174
78175 2004-04-20  Jim Meyering  <jim@meyering.net>
78176             Bruno Haible  <bruno@clisp.org>
78177
78178         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
78179         memory when realloc fails.
78180
78181 2004-04-19  Jim Meyering  <jim@meyering.net>
78182
78183         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
78184         now that readutmp.c may call `free (0)'.
78185
78186 2004-04-19  Bruno Haible  <bruno@clisp.org>
78187
78188         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
78189         * m4/inttypes_h.m4: Likewise.
78190         * m4/stdint_h.m4: Likewise.
78191         * m4/intmax_t.m4: Likewise.
78192         * m4/uintmax_t.m4: Likewise.
78193
78194 2004-04-18  Jim Meyering  <jim@meyering.net>
78195
78196         * m4/prereq.m4: Don't forbid jm_ prefix.
78197
78198         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
78199         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
78200         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
78201         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
78202         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
78203         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
78204         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
78205         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
78206         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
78207         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
78208         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
78209         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
78210         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
78211         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
78212         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
78213         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
78214         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
78215         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
78216         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
78217
78218 2004-04-18  Jim Meyering  <jim@meyering.net>
78219
78220         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
78221         failure, don't leak memory and do call END_UTMP_ENT.
78222
78223 2004-04-16  Jim Meyering  <jim@meyering.net>
78224
78225         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
78226         coreutils' stat program.
78227         (gl_PREREQ): Don't require jm_PREREQ_STAT.
78228
78229 2004-04-11  Paul Eggert  <eggert@twinsun.com>
78230
78231         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
78232         C89.
78233         (CHAR_BIT): Remove, since we assume C89.
78234         Include <stdint.h> if available, as per current Autoconf CVS advice.
78235
78236 2004-03-31  Jim Meyering  <jim@meyering.net>
78237
78238         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
78239         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
78240         * m4/xalloc.m4: Likewise.
78241
78242 2004-03-30  Paul Eggert  <eggert@twinsun.com>
78243
78244         Merge from coreutils.
78245
78246         * m4/inttostr.m4: New file.
78247         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
78248         Require AM_STDBOOL_H and gl_TIMESPEC instead.
78249         Require gl_CLOCK_TIME.
78250         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
78251
78252 2004-03-30  Paul Eggert  <eggert@twinsun.com>
78253
78254         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
78255         not bool, to be more consistent with Unix conventions.
78256         Suggested by Bruno Haible.
78257
78258         Merge from coreutils.
78259
78260         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
78261         * lib/umaxtostr.c: New files.
78262
78263         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
78264         the usual <time.h> dance.
78265         (get_date): Change signature to support fractional time stamps.
78266         All callers changed.
78267         * lib/getdate.y: Include "getdate.h" first, as we can now
78268         assume C89 and don't need to worry about 'const'.
78269         Similarly, include "unlocked-io.h" near start, not in middle.
78270         Include <limits.h>.
78271         (textint.value): Use long int rather than int.
78272         (textint.digits): Use size_t rather than int.
78273         (BILLION, LOG10_BILLION): New constants.
78274         (parser_control): New member rel_ns.  Members day_ordinal,
78275         time_zone, month, day, hour, minutes, rel_year, rel_month,
78276         rel_day, rel_hour, rel_minutes, rel_seconds
78277         are now long int, not int.  Member seconds is now struct timespec,
78278         not int.  New member timespec_seen.  Members dates_seen, days_seen,
78279         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
78280         not int.
78281         (%union.intval): Now long int, not int.
78282         New member timespec.
78283         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
78284         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
78285         (spec): Now is a timespec or an item list.
78286         (timespec, items): New nonterminals.
78287         (time, rel, relunit, number, get_date):
78288         Add support for fractional seconds.
78289         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
78290         (gmtime, localtime, mktime): Remove decls; not needed with C89.
78291         (to_hour): First arg is now long int, not int.
78292         (to_year): Returns long int, not int.
78293         Don't treat year -70 like 70.
78294         (tm_diff): Returns long int, not int.
78295         (lookup_word): Use bool instead of int when appropriate.
78296         (yylex): Use size_t for count, not int.
78297         Detect overflow when parsing large integer constants.
78298         Add support for fractions.
78299         (get_date): Make pointers 'const' if possible.
78300         Use more-portable code to detect integer overflow.
78301         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
78302         Don't use ctime; it's not reliable if the year has >4 digits.
78303
78304         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
78305         This is for compatibility with BSD.
78306
78307         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
78308         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
78309         From coreutils' system.h.
78310
78311         * lib/userspec.c: Don't include "posixver.h".
78312         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
78313         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
78314         compatible extension.  Simplify code by removing a boolean int
78315         that was always nonzero if a string was nonnull.
78316
78317 2004-03-30  Jim Meyering  <jim@meyering.net>
78318
78319         Merge from coreutils.
78320
78321         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
78322         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
78323         on some systems one must include <grp.h> before it.
78324         Reported by Christian Krackowizer.
78325
78326 2004-03-30  Jim Meyering  <jim@meyering.net>
78327
78328         Merge from coreutils.
78329
78330         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
78331
78332         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
78333         an empty input stream.
78334
78335         * lib/readtokens.c: Include <stdbool.h>.
78336         (readtoken): Use `size_t' rather than int/long.
78337         All callers adjusted.
78338         Use `bool' rather than `int' where appropriate.
78339         Use memset rather than an explicit loop.
78340         Use x2nrealloc rather than xrealloc.
78341         Allow the use of `\0' as a delimiter.
78342         (readtokens): Likewise.
78343         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
78344
78345 2004-03-30  Jim Meyering  <jim@meyering.net>
78346
78347         * m4/realloc.m4: Remove file, since now it does no more than
78348         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
78349         the `configure.ac' section of module/realloc.
78350         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
78351
78352 2004-03-30  Bruno Haible  <bruno@clisp.org>
78353
78354         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
78355         nonnull.
78356
78357 2004-03-29  Paul Eggert  <eggert@twinsun.com>
78358
78359         Merge changes to getloadavg.c from coreutils and Emacs.
78360
78361         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
78362         Define to an expression, not to the empty string.
78363         Include cloexec.h and xalloc.h.
78364         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
78365         Use set_cloexec_flag rather than rolling our own.
78366         * lib/cloexec.c, lib/cloexec.h: New files.
78367
78368 2004-03-29  Paul Eggert  <eggert@twinsun.com>
78369
78370         * m4/cloexec.m4: New file.
78371
78372 2004-03-18  Paul Eggert  <eggert@twinsun.com>
78373
78374         * lib/getopt.h: Sync with libc CVS.
78375
78376 2004-03-18  Paul Eggert  <eggert@twinsun.com>
78377             Bruno Haible  <bruno@clisp.org>
78378
78379         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
78380         mbswidth.
78381
78382 2004-03-18  Paul Eggert  <eggert@twinsun.com>
78383             Bruno Haible  <bruno@clisp.org>
78384
78385         * lib/mbswidth.h: Include <wchar.h> only if
78386         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
78387         <wchar.h>.
78388         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
78389
78390 2004-03-09  Paul Eggert  <eggert@twinsun.com>
78391
78392         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
78393         Sync with libc CVS.
78394         * lib/getopt_int.h: New file, also synced from libc.
78395
78396 2004-03-09  Paul Eggert  <eggert@twinsun.com>
78397
78398         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
78399         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
78400         Bring back getopt.c, getopt.h, getopt1.c.
78401
78402 2004-03-07  Paul Eggert  <eggert@twinsun.com>
78403
78404         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
78405         All uses changed.  Check for sa_sigaction member; this fixes
78406         a bug first reported by Jason Andrade in
78407         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
78408
78409 2004-03-07  Paul Eggert  <eggert@twinsun.com>
78410
78411         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
78412         '#if' expressions.  Unlike the code it replaces, it does not
78413         depend on (defined _SC_PAGESIZE).  However, it does depend on
78414         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
78415         first reported by Jason Andrade in
78416         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
78417
78418 2004-02-25  Simon Josefsson  <jas@extundo.com>
78419
78420         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
78421
78422 2004-02-25  Simon Josefsson  <jas@extundo.com>
78423
78424         * lib/strdup.h: New file.
78425         * lib/strdup.c: Include it.
78426         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
78427         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
78428
78429 2004-02-23  Karl Berry  <karl@gnu.org>
78430
78431         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
78432         (from fencepost.gnu.org:/gd/gnuorg).
78433
78434 2004-02-23  Karl Berry  <karl@gnu.org>
78435
78436         * config/srclistvars.sh (GNUORG) [karl]: redefine.
78437         * config/srclist.txt: add maintain/standards documents.
78438
78439 2004-02-18  Bruno Haible  <bruno@clisp.org>
78440
78441         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
78442         Reported by Derek Robert Price <derek@ximbiot.com>.
78443
78444 2004-02-16  Karl Berry  <karl@gnu.org>
78445
78446         * config/mkinstalldirs, install-sh: update from automake.
78447
78448 2004-02-06  Karl Berry  <karl@gnu.org>
78449
78450         * m4/po.m4: update from gettext 0.14.1.
78451
78452 2004-02-06  Karl Berry  <karl@gnu.org>
78453
78454         * lib/config.charset: update from gettext 0.14.1.
78455
78456 2004-02-05  Paul Eggert  <eggert@twinsun.com>
78457
78458         Add comments and code, prompted by suggestions from Bruno Haible
78459         for sh-quote.
78460         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
78461         describing the enum quoting_style values.
78462         * lib/quotearg.c (quotearg_alloc): New function.
78463         (quotearg_buffer_restyled): Treat lone { and } as special.
78464         Treat = as special.  Work around bug with older shells
78465         that "see" a '\' that is really the 2nd byte of a multibyte char.
78466         Quote empty string with shell_quoting_style.
78467
78468 2004-02-03  Bruno Haible  <bruno@clisp.org>
78469
78470         * m4/pipe.m4: New file, from GNU gettext.
78471
78472 2004-02-03  Bruno Haible  <bruno@clisp.org>
78473
78474         * lib/pipe.h: New file, from GNU gettext.
78475         * lib/pipe.c: New file, from GNU gettext.
78476
78477 2004-01-27  Bruno Haible  <bruno@clisp.org>
78478
78479         * m4/execute.m4: New file, from GNU gettext.
78480
78481 2004-01-27  Bruno Haible  <bruno@clisp.org>
78482
78483         * lib/execute.h: New file, from GNU gettext.
78484         * lib/execute.c: New file, from GNU gettext.
78485         * lib/w32spawn.h: New file, from GNU gettext.
78486
78487 2004-01-24  Paul Eggert  <eggert@twinsun.com>
78488
78489         Merge from diffutils.
78490
78491         * lib/file-type.c (file_type): Add typed memory objects.
78492         * lib/file-type.h (S_TYPEISTMO): New macro.
78493
78494         * lib/c-stack.h (c_stack_action): Remove argv argument.
78495         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
78496         (die): Don't calculate message unless segv_action returns.
78497         (get_stack_location, min_address_from_argv, max_address_from_argv,
78498         volatile stack_base, volatile_stack_size): Remove.
78499         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
78500         that every segmentation violation is a stack overflow.  (Ouch!)
78501         See Debian bug 136249 (still outstanding) for more info about why
78502         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
78503
78504 2004-01-24  Paul Eggert  <eggert@twinsun.com>
78505
78506         Exit-status fix from coreutils.
78507
78508         Use exit_failure consistently in place of EXIT_FAILURE,
78509         so that program exit statuses are consistent on failure.
78510
78511         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
78512         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
78513         * lib/argmatch.h: Comment fix to match the above.
78514         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
78515         Now a macro referring to exit_failure, instead of a separate
78516         variable.  Include "exitfail.h" to get it.
78517         * lib/xstrtol.h: Include "exitfail.h".
78518         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
78519
78520         * lib/long-options.c (parse_long_options): Use prototype
78521         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
78522         for clarity.
78523
78524 2004-01-21  Jim Meyering  <jim@meyering.net>
78525
78526         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
78527         so as not to conflict with a different-sized __mktime_internal
78528         function in GNU libc.
78529         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
78530         Problem building statically-linked `ls' reported by Michael Brunnbauer.
78531
78532 2004-01-20  Karl Berry  <karl@gnu.org>
78533
78534         * config/config.guess: update from config.
78535
78536         * config/srclistvars.sh: GNUWWWLICENSES for karl.
78537
78538 2004-01-20  Bruno Haible  <bruno@clisp.org>
78539
78540         Safer stack allocation.
78541         * lib/setenv.c: Include allocsa.h.
78542         (alloca): Remove fallback definition.
78543         (freea): Remove macro.
78544         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
78545         instead of freea.
78546
78547 2004-01-20  Bruno Haible  <bruno@clisp.org>
78548
78549         * m4/eealloc.m4: New file, from GNU gettext.
78550
78551 2004-01-20  Bruno Haible  <bruno@clisp.org>
78552
78553         * m4/allocsa.m4: New file, from GNU gettext.
78554
78555 2004-01-20  Bruno Haible  <bruno@clisp.org>
78556
78557         * lib/xallocsa.h: New file, from GNU gettext.
78558         * lib/xallocsa.c: New file, from GNU gettext.
78559
78560 2004-01-20  Bruno Haible  <bruno@clisp.org>
78561
78562         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
78563
78564 2004-01-20  Bruno Haible  <bruno@clisp.org>
78565
78566         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
78567         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
78568         specially.
78569
78570 2004-01-20  Bruno Haible  <bruno@clisp.org>
78571
78572         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
78573         patch.
78574
78575 2004-01-20  Bruno Haible  <bruno@clisp.org>
78576
78577         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
78578
78579 2004-01-20  Bruno Haible  <bruno@clisp.org>
78580
78581         * lib/eealloc.h: New file.
78582
78583 2004-01-20  Bruno Haible  <bruno@clisp.org>
78584
78585         * lib/binary-io.h: Avoid warnings on Cygwin.
78586
78587 2004-01-20  Bruno Haible  <bruno@clisp.org>
78588
78589         * lib/allocsa.h: New file, from GNU gettext.
78590         * lib/allocsa.c: New file, from GNU gettext.
78591
78592 2004-01-18  Karl Berry  <karl@gnu.org>
78593
78594         * doc/gpl.texi, doc/lgpl.texi: new files.
78595
78596 2004-01-18  Karl Berry  <karl@gnu.org>
78597
78598         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
78599         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
78600
78601 2004-01-15  Paul Eggert  <eggert@twinsun.com>
78602
78603         Merge from coreutils.
78604
78605         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
78606         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
78607         (gl_DEFAULT_POSIX2_VERSION): Move
78608         the documentation from 'configure' into 'config.hin',
78609         so that 'configure --help' isn't burdened by it and
78610         we don't have to worry about its formatting there.
78611         Reword the documentation so that it's more succinct
78612         and can be run together into a single paragraph.
78613         * m4/same.m4 (gl_SAME): Check for pathconf.
78614
78615 2004-01-15  Paul Eggert  <eggert@twinsun.com>
78616
78617         Merge from coreutils.
78618
78619         * lib/posixver.c: Include posixver.h.
78620
78621         * lib/same.c: Include <stdbool.h>, <limits.h>.
78622         (_POSIX_NAME_MAX): Define if not defined.
78623         (MIN): New macro.
78624         (same_name): If file names are silently truncated, report
78625         that the file names are the same if they are the same after
78626         the silent truncation.
78627
78628         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
78629         conversion function.
78630         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
78631         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
78632         longer needed.
78633
78634 2004-01-15  Jim Meyering  <jim@meyering.net>
78635
78636         Merge from coreutils.
78637
78638         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
78639         if no library is required.
78640         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
78641         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
78642         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
78643         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
78644         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
78645         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
78646         value, $ac_cv_search_crypt, if it's "none required".
78647         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
78648         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
78649         not gl_FUNC_GETLOADAVG.
78650         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
78651         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
78652
78653 2004-01-15  Jim Meyering  <jim@meyering.net>
78654
78655         Merge from coreutils.
78656
78657         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
78658         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
78659         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
78660
78661         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
78662         optional configure-time default.
78663
78664         * lib/version-etc.c (version_etc_copyright): Update copyright date.
78665
78666         * lib/xreadlink.c (xreadlink): Correct outdated comment.
78667
78668 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
78669
78670         Merge from coreutils.
78671
78672         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
78673         value, $ac_cv_search_nanosleep, if it's "none required".
78674
78675 2004-01-14  Paul Eggert  <eggert@twinsun.com>
78676
78677         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
78678         with like-named macro in fnmatch.c.
78679         (EXT): Use an internal constant instead.
78680
78681         Merge fnmatch patches from glibc.
78682         * lib/fnmatch.c (mbsinit): Remove define.
78683         Add libc_hidden_ver (__fnmatch, fnmatch).
78684         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
78685         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
78686
78687 2004-01-14  Karl Berry  <karl@gnu.org>
78688
78689         * config/install-sh: update from automake.
78690
78691 2004-01-13  Karl Berry  <karl@gnu.org>
78692
78693         * config/install-sh: update from automake.
78694
78695 2004-01-09  Karl Berry  <karl@gnu.org>
78696
78697         * config/install-sh: update from automake.
78698
78699 2004-01-05  Karl Berry  <karl@gnu.org>
78700
78701         * config/config.{sub,guess}: update from config.
78702
78703 2003-12-31  Karl Berry  <karl@gnu.org>
78704
78705         * config/depcomp: update from automake.
78706
78707 2003-12-14  Karl Berry  <karl@gnu.org>
78708
78709         * lib/config.charset: update from gettext-runtime.
78710
78711 2003-12-03  Paul Eggert  <eggert@twinsun.com>
78712
78713         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
78714         Bug reported by Alfred M. Szmidt.
78715
78716 2003-12-03  Bruno Haible  <bruno@clisp.org>
78717
78718         * m4/gettext.m4: Upgrade from gettext-0.13.
78719         * m4/po.m4: Upgrade from gettext-0.13.
78720         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
78721         * m4/intmax.m4: New file, from gettext-0.13.
78722         * m4/printf-posix.m4: New file, from gettext-0.13.
78723
78724 2003-11-29  Karl Berry  <karl@gnu.org>
78725
78726         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
78727
78728 2003-11-25  Paul Eggert  <eggert@twinsun.com>
78729             Bruno Haible  <bruno@clisp.org>
78730
78731         * lib/printf-parse.h: Don't include sys/types.h.
78732         (ARG_NONE): New macro.
78733         (char_directive): Change type of *arg_index fields to size_t.
78734         * lib/printf-parse.c: Don't include sys/types.h.
78735         (SSIZE_MAX): Remove macro.
78736         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
78737         Remove unnecessary overflow check.
78738         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
78739         fields.
78740
78741 2003-11-25  Bruno Haible  <bruno@clisp.org>
78742
78743         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
78744
78745 2003-11-25  Bruno Haible  <bruno@clisp.org>
78746
78747         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
78748         gt_TYPE_SSIZE_T.
78749
78750 2003-11-24  Paul Eggert  <eggert@twinsun.com>
78751
78752         * modules/alloca: Remove dependency on xalloc.
78753
78754 2003-11-24  Paul Eggert  <eggert@twinsun.com>
78755
78756         * lib/alloca.c: Remove dependency on xalloc module.
78757         (xalloc_die): Remove.
78758         (memory_full) [!defined emacs]: New macro.
78759         [!defined emacs]: Don't include xalloc.h.
78760         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
78761         address arithmetic overflows.  Change datatypes a bit to avoid
78762         unnecessary casts.
78763
78764 2003-11-22  Jim Meyering  <jim@meyering.net>
78765
78766         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
78767         s/size/size_t/.
78768
78769 2003-11-21  Karl Berry  <karl@gnu.org>
78770
78771         * config/config.{sub,guess}: update from config.
78772
78773 2003-11-18  Karl Berry  <karl@gnu.org>
78774
78775         * config/config.{sub,guess}: update from config.
78776
78777         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
78778
78779 2003-11-17  Paul Eggert  <eggert@twinsun.com>
78780
78781         * README: Mention that S+T cannot overflow if S is the size of
78782         an existing object and T is sufficiently small.
78783
78784 2003-11-17  Jim Meyering  <jim@meyering.net>
78785
78786         On systems without utime and without a utimes function capable of
78787         dealing with a NULL struct utimbuf* argument, this utime replacement
78788         could -- in unusual circumstances -- leak a file descriptor.
78789         * lib/utime.c: Include <unistd.h> and <errno.h>.
78790         (utime_null): Be sure to close `fd' and to preserve errno.
78791         Reported by Geoff Collyer via Arnold Robbins.
78792
78793 2003-11-17  Bruno Haible  <bruno@clisp.org>
78794
78795         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
78796         (Depends-on): Add xsize.
78797
78798 2003-11-17  Bruno Haible  <bruno@clisp.org>
78799
78800         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
78801
78802 2003-11-17  Bruno Haible  <bruno@clisp.org>
78803
78804         * lib/vasnprintf.c (alloca): Remove fallback definition.
78805         (freea): Remove definition.
78806         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
78807         Reported by Paul Eggert.
78808
78809 2003-11-16  Paul Eggert  <eggert@twinsun.com>
78810             Bruno Haible  <bruno@clisp.org>
78811
78812         Protect against address arithmetic overflow.
78813         * lib/printf-args.h: Include stddef.h.
78814         (arguments): Change type of field 'count' to size_t.
78815         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
78816         'unsigned int' where appropriate.
78817         * lib/printf-parse.h: Include sys/types.h.
78818         (char_directive): Change type of *arg_index fields to ssize_t.
78819         (char_directives): Change type of fields 'count', max_*_length to
78820         size_t.
78821         * lib/printf-parse.c: Include sys/types.h and xsize.h.
78822         (SSIZE_MAX): Define fallback value.
78823         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
78824         instead of 'int' where appropriate. Check a_allocated, d_allocated
78825         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
78826         * lib/vasnprintf.c: Include xsize.h.
78827         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
78828         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
78829         overflow. Avoid wraparound when converting a width or precision from
78830         decimal to binary.
78831
78832 2003-11-16  Bruno Haible  <bruno@clisp.org>
78833
78834         Update from GNU gettext.
78835         * lib/printf-parse.c: Generalize to it can be compiled for wide
78836         strings.
78837         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
78838         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
78839         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
78840         SNPRINTF): New macros.
78841         Don't include <alloca.h> if the file is used inside libintl.
78842         (local_wcslen): New function, for Solaris 2.5.1.
78843         (VASNPRINTF): Use it instead of wcslen.
78844
78845 2003-11-16  Bruno Haible  <bruno@clisp.org>
78846
78847         * lib/xsize.h (xmax): New function.
78848         (xsum, xsum3, xsum4): Declare as "pure" functions.
78849
78850 2003-11-12  Paul Eggert  <eggert@twinsun.com>
78851
78852         * modules/xalloc (Files): Undo latest change, since xalloc.h
78853         no longer needs SIZE_MAX or PTRDIFF_MAX.
78854
78855 2003-11-12  Paul Eggert  <eggert@twinsun.com>
78856
78857         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
78858         gl_PTRDIFF_MAX.
78859
78860 2003-11-12  Paul Eggert  <eggert@twinsun.com>
78861
78862         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
78863         "return", to pacify some unknown compiler.  Problem reported
78864         by Joerg Schilling.
78865
78866 2003-11-12  Paul Eggert  <eggert@twinsun.com>
78867
78868         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
78869         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
78870         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
78871         heuristic is just as accurate as far as we know, and it removes a
78872         dependency on size_max.m4 and ptrdiff_max.m4.
78873
78874 2003-11-11  Bruno Haible  <bruno@clisp.org>
78875
78876         * modules/xsize (Files): Add m4/size_max.m4.
78877         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
78878
78879 2003-11-11  Bruno Haible  <bruno@clisp.org>
78880
78881         * m4/size_max.m4: New file.
78882         * m4/ptrdiff_max.m4: New file.
78883         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
78884         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
78885         (gl_XALLOC): Invoke it.
78886
78887 2003-11-11  Bruno Haible  <bruno@clisp.org>
78888
78889         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
78890         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
78891         defined.
78892
78893 2003-11-10  Paul Eggert  <eggert@twinsun.com>
78894
78895         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
78896         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
78897         rejected some allocations of exactly SIZE_MAX - 2 bytes.
78898         From Bruno Haible.
78899         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
78900         not (size_t) -1, since it's defined here.
78901
78902 2003-11-09  Karl Berry  <karl@gnu.org>
78903
78904         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
78905
78906 2003-11-06  Paul Eggert  <eggert@twinsun.com>
78907
78908         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
78909         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
78910         Reject sizes of exactly SIZE_MAX bytes.
78911         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
78912         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
78913
78914 2003-11-05  Bruno Haible  <bruno@clisp.org>
78915
78916         * lib/xsize.h: Include limits.h, to avoid a possible collision with
78917         SIZE_MAX defined in <limits.h> on Solaris.
78918
78919 2003-11-04  Jim Meyering  <jim@meyering.net>
78920
78921         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
78922         variable names, rather than @VAR@.
78923         * modules/poll: Likewise.
78924
78925 2003-11-04  Bruno Haible  <bruno@clisp.org>
78926
78927         * modules/xsize: New file.
78928         * modules/linebreak: Depend on xsize.
78929         * MODULES.html.sh (func_all_modules): Add xsize.
78930
78931 2003-11-04  Bruno Haible  <bruno@clisp.org>
78932
78933         * m4/xsize.m4: New file.
78934
78935 2003-11-04  Bruno Haible  <bruno@clisp.org>
78936
78937         * lib/xsize.h: New file.
78938         * lib/linebreak.c: Include xsize.h.
78939         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
78940         argument for overflow.
78941         Suggested by Paul Eggert.
78942
78943 2003-11-03  Karl Berry  <karl@gnu.org>
78944
78945         * config/config.{guess,sub}: update from config.
78946
78947 2003-11-03  Jim Meyering  <jim@meyering.net>
78948
78949         * modules/userspec (lib_SOURCES): Add userspec.h.
78950         (Include): Add "userspec.h".
78951         Improve description.
78952
78953 2003-11-03  Jim Meyering  <jim@meyering.net>
78954
78955         * lib/userspec.c: Include "userspec.h".
78956         * lib/userspec.h: New file.
78957
78958 2003-11-03  Bruno Haible  <bruno@clisp.org>
78959
78960         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
78961
78962 2003-11-03  Bruno Haible  <bruno@clisp.org>
78963
78964         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
78965         available, to avoid (extremely rare) race condition.
78966         Suggested by Paul Eggert.
78967
78968 2003-11-02  Karl Berry  <karl@gnu.org>
78969
78970         * config/srclist.txt (vasprintf.c): sync broken, sigh.
78971
78972 2003-10-31  Paul Eggert  <eggert@twinsun.com>
78973
78974         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
78975         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
78976         (read_filesystem_list): Set and use me_type_malloced.
78977         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
78978         whatever the type happens to be), for brevity and consistency.
78979         Check for size calculation overflow on Alphas running OSF/1.
78980
78981 2003-10-31  Jim Meyering  <jim@meyering.net>
78982
78983         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
78984
78985         * lib/linebuffer.c: Include <string.h> for declaration of memset.
78986
78987 2003-10-30  Paul Eggert  <eggert@twinsun.com>
78988             Bruno Haible  <bruno@clisp.org>
78989
78990         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
78991         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
78992
78993 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
78994
78995         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
78996         netbsd*-gnu*.  Suggested by Robert Millan.
78997
78998 2003-10-29  Paul Eggert  <eggert@twinsun.com>
78999
79000         * modules/group-member: Depend on stdbool.
79001
79002 2003-10-29  Paul Eggert  <eggert@twinsun.com>
79003
79004         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
79005
79006 2003-10-29  Paul Eggert  <eggert@twinsun.com>
79007
79008         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
79009         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
79010         after the 'gnu' in these cases.  This fixes some bugs in the
79011         previous change, and is based on suggestions by Robert Millan.
79012
79013 2003-10-29  Paul Eggert  <eggert@twinsun.com>
79014
79015         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
79016         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
79017         no longer needed.
79018         * lib/quotearg.c (quotearg_n_options): Use it.
79019         * lib/group-member.c: Include <stdbool.h>.
79020         (free_group_info): Arg is now const *; don't free arg.
79021         (get_group_info): Now returns bool and accepts struct group_info *,
79022         rather than returning a malloc'ed struct group_info *.
79023         All uses changed.  Check for overflow in internal size calculation.
79024
79025         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
79026         rather than xmalloc/xrealloc.
79027         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
79028         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
79029         conformance bug: the old code used a pointer after freeing the
79030         storage that it addressed.
79031         * lib/hash.c (hash_initialize): Simplify the code by using
79032         xalloc_oversized rather than doing it by hand.
79033         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
79034         the buffer preserved.  Use free and xmalloc instead.
79035         * lib/quotearg.c (quotearg_n_options): Likewise.
79036         Use a simpler test for size overflow.  Don't use xalloc_oversized
79037         because unsigned int might be wider than size_t (!); this suggests
79038         that we should switch from unsigned int to size_t for slot numbers.
79039
79040 2003-10-28  Paul Eggert  <eggert@twinsun.com>
79041
79042         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
79043         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
79044         NetBSD kernels.  Requested by Richard Stallman.
79045
79046 2003-10-27  Paul Eggert  <eggert@twinsun.com>
79047
79048         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
79049         to allocate the returned structure.  Do not allocate a subarray,
79050         as x2nrealloc will do that.
79051         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
79052         instead of xnrealloc.
79053         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
79054
79055 2003-10-27  Bruno Haible  <bruno@clisp.org>
79056
79057         * lib/stdbool_.h: Better support for BeOS.
79058
79059 2003-10-26  Paul Eggert  <eggert@twinsun.com>
79060
79061         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
79062         now uses inline.
79063
79064 2003-10-26  Paul Eggert  <eggert@twinsun.com>
79065
79066         * lib/xalloc.h (xalloc_oversized): New static inline function, for
79067         callers that want to do their own size-overflow checking.  Include
79068         <stdbool.h>, since xalloc_oversized returns bool.
79069         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
79070         to use xalloc_oversized.
79071
79072         Add two functions x2realloc, x2nrealloc, for programs that grow
79073         arrays dynamically by doubling their sizes.
79074         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
79075         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
79076         New functions.
79077
79078         Port to C99 semantics for 'inline' of external functions.
79079         Bug reported by Bruno Haible.
79080         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
79081         with the old contents of xnmalloc.
79082         (xnmalloc, xmalloc): Use it.
79083         (xnrealloc_inline): New static inline function,
79084         with the old contents of xnrealloc.
79085         (xnrealloc, xrealloc): Use it.
79086
79087         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
79088         that.
79089
79090 2003-10-26  Karl Berry  <karl@gnu.org>
79091
79092         * config/srclist.txt (COPYING.DOC): no longer available from
79093         /gd/gnuorg; don't know where the ultimate source is.
79094
79095 2003-10-25  Paul Eggert  <eggert@twinsun.com>
79096
79097         Fix several address-calculation bugs in the hash modules,
79098         plus some minor code cleanup.
79099
79100         * lib/hash.h: Include <stdbool.h>, for bool.
79101         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
79102         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
79103         hash_get_n_entries, hash_get_max_bucket_length,
79104         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
79105         hash_rehash): Use size_t rather than unsigned.
79106         * lib/hash.c (struct hash_table, hash_get_n_buckets,
79107         hash_get_n_buckets_used, hash_get_n_entries,
79108         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
79109         hash_get_entries, hash_do_for_each, hash_string, is_prime,
79110         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
79111         Likewise.
79112         (SIZE_MAX): Define if not defined.
79113         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
79114         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
79115         hash_print):
79116         Use const * when possible.
79117         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
79118         (check_tuning): Fix bug: if tuning parameters were very close to
79119         0 or 1, rounding errors could have caused subscript violations.
79120         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
79121         (hash_initialize): Add 'fail:' label
79122         to free table and return NULL, and use it to simplify code.
79123         Use calloc rather than clearing the storage ourself.
79124         (hash_initialize, hash_rehash): Check for arithmetic overflow in
79125         buffer size calculations.
79126         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
79127         Include <stddef.h>, for size_t.
79128         * lib/hash-pjw.c (hash_pjw): Likewise.
79129         Switch to method described by Bruno Haible.
79130         Include <limits.h>, for CHAR_BIT.
79131         (SIZE_BITS): New macro.
79132
79133 2003-10-23  Paul Eggert  <eggert@twinsun.com>
79134
79135         * m4/getline.m4 (AM_FUNC_GETLINE):
79136         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
79137         hosts.  Problem reported by Derek Robert Price in
79138         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
79139         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
79140         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
79141
79142 2003-10-21  Paul Eggert  <eggert@twinsun.com>
79143
79144         * lib/getndelim2.c (getndelim2): When size calculation overflows,
79145         ceiling the allocation at NMAX bytes rather than silently
79146         discarding input bytes before NMAX is reached.  This makes
79147         a difference only if NMAX exceeds SIZE_MAX / 2.
79148
79149         * lib/obstack.c: Merge from glibc.
79150         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
79151         Add libc_hidden_def (_obstack_newchunk).
79152         (_obstack_free) [! defined _LIBC]: Remove.
79153         [defined _LIBC]: Make a strong alias from obstack_free, rather than
79154         a clone of the function body.
79155         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
79156         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
79157
79158         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
79159         glibc.
79160         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
79161         arg to memcpy.
79162
79163         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
79164         (obstack_ptr_grow_fast, obstack_int_grow_fast):
79165         Don't use lvalue casts, as GCC plans to remove support for them
79166         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
79167         was also present in the non-GCC version, indicating that this
79168         code had always been buggy and had never been widely used.
79169         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
79170         Use the fast variant of each macro, rather than copying the
79171         definiens of the fast variant; that way, we'll be more likely to
79172         catch future bugs in the fast variants.
79173
79174 2003-10-20  Bruno Haible  <bruno@clisp.org>
79175
79176         * modules/wait-process: New file.
79177         * MODULES.html.sh (func_all_modules): Add wait-process.
79178
79179 2003-10-20  Bruno Haible  <bruno@clisp.org>
79180
79181         * m4/wait-process.m4: New file.
79182
79183 2003-10-20  Bruno Haible  <bruno@clisp.org>
79184
79185         * lib/wait-process.h: New file, from GNU gettext.
79186         * lib/wait-process.c: New file, from GNU gettext.
79187
79188 2003-10-19  Jim Meyering  <jim@meyering.net>
79189
79190         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
79191         HPUX 10.20.
79192
79193 2003-10-18  Karl Berry  <karl@gnu.org>
79194
79195         * config/config.guess: update from config.
79196
79197 2003-10-16  Paul Eggert  <eggert@twinsun.com>
79198
79199         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
79200         (getgroups): First arg is int, not size_t.
79201         Don't let 'free' mangle errno.
79202
79203 2003-10-16  Paul Eggert  <eggert@twinsun.com>
79204
79205         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
79206
79207 2003-10-16  Karl Berry  <karl@gnu.org>
79208
79209         * config/config.{guess,sub}: update from config.
79210
79211 2003-10-16  Jim Meyering  <jim@meyering.net>
79212
79213         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
79214         memcpy.
79215
79216 2003-10-15  Paul Eggert  <eggert@twinsun.com>
79217
79218         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
79219         (SIZE_MAX): Remove.
79220         (new_exclude, add_exclude_file): Initial size no longer needs to
79221         be a power of 2.
79222         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
79223         our own address arithmetic overflow checking.
79224
79225         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
79226         (fnmatch): Do not alloca more than 2000 wide characters;
79227         instead, use malloc for large buffers.
79228         Check for address arithmetic overflow, and return -1
79229         with errno set to ENOMEM in that case.
79230         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
79231         (NEW_PATTERN): Do not alloca more than 8000 bytes;
79232         instead, return -1.  Check for address arithmetic overflow.
79233
79234 2003-10-14  Paul Eggert  <eggert@twinsun.com>
79235
79236         Handle invalid suffixes and overflow independently, so that
79237         callers can treat them independently as needed.  Fix some bugs in
79238         suffix handling, e.g., "100k@" was not diagnosed as an invalid
79239         suffix for a human-readable blocksize.  The major caller-visible
79240         change is the addition of a new
79241         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
79242         that both overflow and suffix chars were found.
79243
79244         * lib/human.c (humblock): Don't check separately for invalid suffix
79245         char; that is xstrtoumax's job (now that its bug is fixed).
79246         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
79247         INTMAX_MAX]: New macros.
79248         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
79249         TYPE_MAXIMUM): New macros.
79250         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
79251         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
79252         if overflow occurs, as it's what __strtol does and it's more useful
79253         in practice.
79254         (__xstrtol): If __strtol reports some error other than ERANGE,
79255         reflect it to the caller as LONGINT_INVALID.  If it reports
79256         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
79257         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
79258         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
79259         value.
79260         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
79261         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
79262         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
79263         [defined UINTMAX_MAX]: New macros.
79264
79265 2003-10-14  Bruno Haible  <bruno@clisp.org>
79266
79267         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
79268
79269 2003-10-14  Bruno Haible  <bruno@clisp.org>
79270
79271         * m4/sig_atomic_t: New file, from GNU gettext.
79272         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
79273
79274 2003-10-14  Bruno Haible  <bruno@clisp.org>
79275
79276         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
79277         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
79278         Also use volatile where needed.
79279
79280 2003-10-12  Paul Eggert  <eggert@twinsun.com>
79281
79282         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
79283         Change maintainer from Bruno Haible to 'all'.
79284
79285 2003-10-12  Paul Eggert  <eggert@twinsun.com>
79286
79287         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
79288
79289 2003-10-12  Paul Eggert  <eggert@twinsun.com>
79290
79291         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
79292         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
79293         and define in terms of the other primitives.
79294         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
79295         (SIZE_MAX): Define if not already defined.
79296         (array_size_overflow): New function.
79297         (xalloc_die): Abort instead of exiting if 'error' returns.
79298         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
79299         (xmalloc, xrealloc): Use them.
79300         (xcalloc): Check for address arithmetic overflow.
79301         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
79302         a bit faster than strcpy.
79303
79304 2003-10-10  Simon Josefsson  <jas@extundo.com>
79305
79306         * modules/argp (Depends-on): Add restrict and strcase.
79307
79308 2003-10-10  Simon Josefsson  <jas@extundo.com>
79309
79310         * m4/argp.m4: Add AC_C_INLINE.
79311
79312 2003-10-08  Paul Eggert  <eggert@twinsun.com>
79313
79314         Merge getpass from libc, plus a few fixes.
79315
79316         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
79317         Include <stdbool.h>.
79318         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
79319         __fsetlocking to empty.
79320         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
79321         do include <bits/libc-lock.h>.
79322         Do not include <fcntl.h>; not needed.
79323         [_LIBC]: Include <wchar.h>.
79324         (NOTCANCEL_MODE): New macro.
79325         (flockfile, funlockfile) [_LIBC]: New macros.
79326         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
79327         [!_LIBC]: New macros.
79328         (call_fclose): New function.
79329         (getpass): Use it.  Save tty stream separately; this simplifies the
79330         code and makes it more reliable if stdin happens to equal stdout.
79331         Invoke __fsetlocking on tty.
79332         Handle thread cancellation if needed.
79333         Namespace cleanup (use __tcgetattr, __getline).
79334         Use bool for Booleans.
79335         [USE_IN_LIBIO]: Handle wide streams.
79336         [!_LIBC]: Unconditionally do the fseek, since we don't know what
79337         stream might go where.
79338
79339         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
79340         doesn't have to include <stdio.h> before us.
79341         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
79342         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
79343         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
79344         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
79345         if not declared, so that we can use getpass.c code from libc without
79346         rewriting it.
79347         (flockfile, ftrylockfile, funlockfile): New macros.
79348
79349 2003-10-08  Paul Eggert  <eggert@twinsun.com>
79350
79351         * modules/getpass: Depend on stdbool.
79352
79353 2003-10-08  Paul Eggert  <eggert@twinsun.com>
79354
79355         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
79356
79357 2003-10-07  Karl Berry  <karl@gnu.org>
79358
79359         * config/config.{guess,sub}: update from config.
79360
79361 2003-10-06  Jim Meyering  <jim@meyering.net>
79362             Bruno Haible  <bruno@clisp.org>
79363
79364         This lets translators provide better translations for the
79365         "Written by ..." part of --version output.
79366         * lib/version-etc.h: Include stdarg.h.
79367         (version_etc_copyright): Declare as readonly.
79368         (version_etc): Make this function variadic with a NULL-terminated list
79369         of author name strings.
79370         (version_etc_va): New declaration.
79371         * lib/version-etc.c: Include stdarg.h, stdlib.h.
79372         (version_etc_copyright): Declare as readonly.
79373         (version_etc_va): New function. Provide a different translatable string
79374         for each possible number of authors < 10. Abbreviate when there are 10
79375         authors or more.
79376         (version_etc): Make this function variadic. Call version_etc_va.
79377         Suggestion from Gary V. Vaughan.
79378
79379         * lib/long-options.h (parse_long_options): Change prototype: the
79380         authors string is moved to the end and becomes variadic.
79381         * lib/long-options.c: Include stdarg.h.
79382         (parse_long_options): Make this function variadic, too.
79383         Call version_etc_va, not version_etc.
79384
79385 2003-10-06  Bruno Haible  <bruno@clisp.org>
79386
79387         * modules/version-etc-2: Remove file.
79388         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
79389
79390 2003-10-06  Bruno Haible  <bruno@clisp.org>
79391
79392         * modules/fatal-signal: New file.
79393         * MODULES.html.sh (func_all_modules): Add fatal-signal.
79394
79395 2003-10-06  Bruno Haible  <bruno@clisp.org>
79396
79397         * m4/fatal-signal.m4: New file.
79398         * m4/signalblocking.m4: New file, from GNU gettext.
79399
79400 2003-10-06  Bruno Haible  <bruno@clisp.org>
79401
79402         * lib/version-etc-2.h: Remove file.
79403         * lib/version-etc-2.c: Remove file.
79404
79405 2003-10-06  Bruno Haible  <bruno@clisp.org>
79406
79407         * lib/fatal-signal.h: New file, from GNU gettext.
79408         * lib/fatal-signal.c: New file, from GNU gettext.
79409
79410 2003-10-05  Paul Eggert  <eggert@twinsun.com>
79411
79412         * README: Rework advice for preventing empty .o files.
79413         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
79414         not <sys/types.h>.
79415
79416 2003-10-04  Karl Berry  <karl@gnu.org>
79417
79418         * lib/argp*: update from libc.
79419
79420 2003-10-04  Karl Berry  <karl@gnu.org>
79421
79422         * config/config.{guess,sub}: update from config.
79423
79424 2003-10-02  Bruno Haible  <bruno@clisp.org>
79425
79426         * modules/lchown (Include): Add lchown.h.
79427         * modules/time_r (Include): Use "..." syntax.
79428         * modules/xgetdomainname (Include): Add xgetdomainname.h.
79429
79430 2003-10-01  Simon Josefsson  <jas@extundo.com>
79431
79432         * MODULES.html.sh (func_all_modules): Move gethostname from section
79433         'based on' to section 'lacking' POSIX:2001.
79434
79435 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
79436
79437         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
79438         to output mode on the same stream.
79439
79440 2003-09-29  Paul Eggert  <eggert@twinsun.com>
79441
79442         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
79443         Fix arg typo in previous patch.
79444
79445 2003-09-28  Jim Meyering  <jim@meyering.net>
79446
79447         * lib/error.c: Correct cpp indentation.
79448
79449 2003-09-27  Paul Eggert  <eggert@twinsun.com>
79450
79451         * modules/free: New file.
79452
79453 2003-09-27  Paul Eggert  <eggert@twinsun.com>
79454
79455         * m4/free.m4: New file.
79456
79457 2003-09-27  Paul Eggert  <eggert@twinsun.com>
79458
79459         * lib/minmax.h (MIN, MAX)
79460         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
79461         Omit the special code that used __typeof__, since we worry that
79462         it could be more trouble than it's worth.  See:
79463         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
79464         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
79465
79466         * lib/free.c: New file.
79467
79468 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
79469
79470         Trivial fixes to Makefile.am parts of module listings.
79471         * modules/strstr: Append strstr.h to lib_SOURCES.
79472         * modules/strcase: Likewise, for strcase.h.
79473
79474 2003-09-27  Karl Berry  <karl@gnu.org>
79475
79476         * config/mkinstalldirs: update from automake.
79477
79478 2003-09-26  Paul Eggert  <eggert@twinsun.com>
79479
79480         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
79481         (error_tail): Do not loop, reallocating temporary buffer, since
79482         the output cannot contain more wide characters than the input
79483         contains bytes, the size must be big enough already.  This avoids
79484         one potential size overflow calculation.  Check for size overflow
79485         when calculating temporary buffer size.  Free temporary buffer
79486         when done, if it was allocated with malloc; this plugs a memory
79487         leak.  Remove casts from void * to pointers, that are no longer
79488         needed now that we're assuming C89 or better.
79489
79490         Merge error changes from glibc.
79491
79492         * lib/error.c, error.h: Update copyright notice header to match glibc.
79493         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
79494         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
79495         Disable cancellation while printing error.
79496         * lib/error.h: Prepend __ to parameter names.
79497
79498 2003-09-26  Jim Meyering  <jim@meyering.net>
79499
79500         * lib/error.c (error_tail): Move some declarations
79501         into inner scope where the local variables are used.
79502
79503 2003-09-26  Bruno Haible  <bruno@clisp.org>
79504
79505         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
79506         stpncpy().
79507         Don't define stpncpy through config.h; it's now done through stpncpy.h.
79508
79509 2003-09-26  Bruno Haible  <bruno@clisp.org>
79510
79511         * lib/stpncpy.h (gnu_stpncpy): New declaration.
79512         (stpncpy): Define as alias for gnu_stpncpy.
79513         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
79514
79515 2003-09-25  Simon Josefsson  <jas@extundo.com>
79516
79517         * lib/xgetdomainname.h: New file.
79518         * lib/xgetdomainname.c: New file.
79519
79520 2003-09-25  Simon Josefsson  <jas@extundo.com>
79521             Bruno Haible  <bruno@clisp.org>
79522
79523         * modules/getdomainname: New file.
79524         * modules/xgetdomainname: New file.
79525         * MODULES.html.sh (func_all_modules): Add getdomainname,
79526         xgetdomainname.
79527
79528 2003-09-25  Simon Josefsson  <jas@extundo.com>
79529             Bruno Haible  <bruno@clisp.org>
79530
79531         * m4/getdomainname.m4: New file.
79532
79533 2003-09-25  Simon Josefsson  <jas@extundo.com>
79534             Bruno Haible  <bruno@clisp.org>
79535
79536         * lib/getdomainname.h: New file.
79537         * lib/getdomainname.c: New file.
79538
79539 2003-09-25  Karl Berry  <karl@gnu.org>
79540
79541         * lib/argp-fmtstream.c, argp-help.c: update from libc.
79542
79543 2003-09-25  Karl Berry  <karl@gnu.org>
79544
79545         * config/install-sh: update from automake.
79546
79547 2003-09-25  Bruno Haible  <bruno@clisp.org>
79548
79549         * modules/version-etc-2: New file, from modules/version-etc with
79550         modifications.
79551         * MODULES.html.sh (func_all_modules): Add version-etc-2.
79552
79553 2003-09-25  Bruno Haible  <bruno@clisp.org>
79554
79555         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
79556         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
79557
79558 2003-09-24  Simon Josefsson  <jas@extundo.com>
79559
79560         * modules/xgethostname: Add xgethostname.h.
79561
79562 2003-09-24  Paul Eggert  <eggert@twinsun.com>
79563
79564         * lib/linebuffer.c (freebuffer): Don't free the argument, just
79565         the buffer associated with the argument.  Bug reported by
79566         Simon Josefsson.
79567
79568 2003-09-24  Paul Eggert  <eggert@twinsun.com>
79569
79570         * README: Document assumptions that 'int' is at least 32 bits
79571         wide, that integer arithmetic is 2's complement without overflow,
79572         that there are no holes in integer values, that adding sizes of
79573         two nonoverlapping objects can't overflow, and that all-bits-zero
79574         yields scalar zero.  Fix spelling and capitalization typos.
79575
79576 2003-09-19  Karl Berry  <karl@gnu.org>
79577
79578         * lib/argp.h: update from libc.
79579
79580 2003-09-17  Paul Eggert  <eggert@twinsun.com>
79581
79582         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
79583         to avoid spurious warnings like "AC_RUN_IFELSE was called before
79584         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
79585
79586 2003-09-17  Paul Eggert  <eggert@twinsun.com>
79587
79588         * gnulib-tool: Use "test -h", not "test -L", for portability
79589         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
79590         (tags_regexp): Remove, since \| doesn't conform to POSIX.
79591         (sed_extract_prog): Issue s commands one-by-one, rather than
79592         using \| in one s command.
79593
79594 2003-09-16  Paul Eggert  <eggert@twinsun.com>
79595
79596         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
79597         input error, instead of returning NULL the next time we are called
79598         (and therefore losing track of errno).
79599
79600 2003-09-16  Bruno Haible  <bruno@clisp.org>
79601
79602         * gnulib-tool (func_create_testdir): Warn about duplicated
79603         dependencies.
79604
79605 2003-09-15  Paul Eggert  <eggert@twinsun.com>
79606
79607         * modules/argmatch, modules/fatal, modules/obstack,
79608         modules/xalloc, modules/xgethostname: Sort dependencies by
79609         importance, not alphabetically.
79610
79611 2003-09-15  Paul Eggert  <eggert@twinsun.com>
79612
79613         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
79614         fails, so that the caller gets the proper errno.
79615
79616         * lib/readutmp.c (read_utmp): Likewise.
79617         Check for fstat error.  Close stream and free storage
79618         when failing.
79619
79620 2003-09-14  Karl Berry  <karl@gnu.org>
79621
79622         * config/srclist.txt (strdup.c): disable for c89 changes.
79623
79624 2003-09-14  Jim Meyering  <jim@meyering.net>
79625
79626         * lib/getloadavg.c: Correct cpp indentation.
79627         * lib/strdup.c: Likewise.
79628         * lib/vasnprintf.c: Likewise.
79629
79630 2003-09-14  Bruno Haible  <bruno@clisp.org>
79631
79632         * modules/fwriteerror: New file.
79633         * MODULES.html.sh (func_all_modules): Add fwriteerror.
79634
79635 2003-09-14  Bruno Haible  <bruno@clisp.org>
79636
79637         * lib/fwriteerror.h: New file.
79638         * lib/fwriteerror.c: New file.
79639
79640 2003-09-12  Paul Eggert  <eggert@twinsun.com>
79641
79642         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
79643         modules/xgethostname, modules/xalloc: Depend on exit.
79644
79645 2003-09-12  Paul Eggert  <eggert@twinsun.com>
79646
79647         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
79648
79649         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
79650         and AC_MINIX, too, so that their extensions are available.
79651
79652         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
79653         This macro has been superseded by gl_BACKUPFILE.
79654
79655         More patches to assume C89 or better.
79656
79657         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
79658
79659         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
79660         unconditionally.
79661         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
79662         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
79663         Include <string.h>, <stdlib.h> unconditionally.
79664         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
79665         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
79666         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
79667         headers or for string.h.
79668         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
79669         or strtoul.
79670
79671         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
79672         headers.
79673         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
79674         * m4/userspec.m4 (gl_USERSPEC): Likewise.
79675         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
79676         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
79677         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
79678         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
79679         memcpy, memset.
79680         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
79681         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
79682         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
79683         strtol.
79684         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
79685         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
79686         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
79687         strtoul.
79688
79689 2003-09-12  Paul Eggert  <eggert@twinsun.com>
79690
79691         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
79692         * lib/obstack.c [!defined _LIBC]: Likewise.
79693         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
79694         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
79695         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
79696
79697         More changes to assume C89 or better.
79698
79699         * lib/error.c (error_tail): Assume vprintf.
79700
79701         * lib/argmatch.c (getenv): Remove decl.
79702         * lib/progreloc.c (get_full_program_name): Define via prototype.
79703         * lib/setenv.c (clearenv): Likewise.
79704         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
79705         needed.
79706         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
79707         (malloc, memcpy): Remove decls.
79708         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
79709         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
79710         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
79711         (memcpy): Remove macro.
79712         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
79713         (__P): Remove.  All uses removed.
79714         (PTR): Remove.  All uses changed to void *.
79715         (CHAR_BIT, NULL): Remove.
79716         (spaces, zeros, memset_space, memset_zero)
79717         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
79718         Remove.
79719         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
79720         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
79721         Define with prototype.
79722         Remove now-unnecessary prototype decl.
79723         (extra_args_spec): Assume ANSI C.  All uses changed.
79724         (extra_args_spec_iso): Remove.
79725         (my_strftime, emacs_strftimeu): Define via prototype.
79726         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
79727         unconditionally.
79728         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
79729         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
79730         (strtoul, strtol): Remove decls.
79731         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
79732         LONG_MAX): Remove.
79733         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
79734         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
79735         (LOCALE_PARAM_PROTO): New macro.
79736         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
79737         (INTERNAL (strtol), strtol): Define with a prototype.
79738         (PARAMS): Remove.  All uses removed.
79739         * lib/tempname.c: Include <string.h> unconditionally.
79740         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
79741         * lib/xgethostname.c (main): Define with a prototype.
79742         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
79743         Include <stdlib.h> unconditionally.
79744         (calloc, malloc, realloc, free): Remove decls.
79745         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
79746         Include <stdlib.h> unconditionally.  Sort include file names.
79747         (strtod): Remove.
79748         (xstrtod): Define with a prototype.
79749         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
79750         (strtol, strtoul): Remove decls.
79751
79752 2003-09-11  Paul Eggert  <eggert@twinsun.com>
79753
79754         More patches to assume C89 or better.
79755         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
79756         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
79757         string.h, memchr, STDC_HEADERS.
79758
79759 2003-09-11  Paul Eggert  <eggert@twinsun.com>
79760
79761         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
79762         Include <stdlib.h>, <string.h> unconditionally.
79763         Remove now-unnecessary cast to char *.
79764         * lib/strnlen.c: Include <string.h> unconditionally.
79765         * lib/yesno.c (yesno): Define with a prototype.
79766
79767 2003-09-11  Bruno Haible  <bruno@clisp.org>
79768
79769         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
79770
79771 2003-09-10  Jim Meyering  <jim@meyering.net>
79772
79773         * lib/error.c: Correct indentation of cpp directives.
79774
79775 2003-09-10  Bruno Haible  <bruno@clisp.org>
79776
79777         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
79778         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
79779         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
79780         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
79781         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
79782         <stdlib.h> and <string.h> checks.
79783         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
79784         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
79785
79786 2003-09-10  Bruno Haible  <bruno@clisp.org>
79787
79788         * lib/strcspn.c: Include <string.h> unconditionally.
79789         * lib/strpbrk.c: Include <string.h> unconditionally.
79790         * lib/strstr.c: Include <string.h> unconditionally.
79791         * lib/unicodeio.c: Include <string.h> unconditionally.
79792         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
79793         * lib/unsetenv.c: Likewise.
79794         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
79795         * lib/yesno.c: Include <stdlib.h> unconditionally.
79796         (rpmatch): Add prototype.
79797
79798 2003-09-09  Paul Eggert  <eggert@twinsun.com>
79799
79800         More patches to assume C89 or better.
79801         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
79802         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
79803         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
79804         or for string.h.
79805         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
79806         stdlib.h.
79807         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
79808         C headers.
79809         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
79810         string.h.
79811         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
79812         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
79813         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
79814         or for string.h.
79815         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
79816         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
79817         C headers.
79818         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
79819         memcpy.
79820         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
79821         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
79822         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
79823         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
79824         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
79825         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
79826         string.h, free.
79827         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
79828         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
79829         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
79830         C headers, or for string.h.
79831         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
79832         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
79833         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
79834         headers, memory.h, stdlib.h, string.h, strings.h.
79835         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
79836         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
79837         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
79838         strchr.
79839         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
79840         headers, memory.h, string.h.
79841         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
79842         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
79843         free.
79844         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
79845         headers.
79846         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
79847         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
79848         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
79849         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
79850         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
79851
79852 2003-09-09  Paul Eggert  <eggert@twinsun.com>
79853
79854         More K&R removal.
79855
79856         * lib/acosl.c (main): Use a prototype.
79857         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
79858         tanl.c: Likewise.
79859
79860         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
79861
79862         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
79863         (getopt, etopt_long, getopt_long_only, _getopt_internal)
79864         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
79865         with a prototype.
79866         * lib/getopt.c (const): Remove macro.
79867         Include <string.h> unconditionally.
79868         (my_index): Remove; all uses changed to strchr.
79869         (strlen): Remove decl.
79870         (exchange): Remove forward decl; no longer needed.
79871         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
79872         Define with prototype.
79873         * lib/getopt1.c (const): Remove macro.
79874         (getopt_long, getopt_long_only, main): Define with prototype.
79875
79876         * lib/getugroups.c: Include <string.h> unconditionally.
79877
79878         * lib/getusershell.c: Include <stdlib.h> unconditionally.
79879         (getusershell, setusershell, endusershell, readname, main):
79880         Define with prototypes.
79881
79882         * lib/group-member.c: Include group-member.h first.
79883         Include <stdlib.h> unconditionally.
79884
79885         * lib/hard-locale.c: Include hard-locale.h first.
79886         Include <stdlib.h>, <string.h> unconditionally.
79887
79888         * lib/hash.c (free, malloc): Remove decls.
79889         Include <stdlib.h> unconditionally.
79890
79891         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
79892         (getenv): Do not declare.
79893
79894         * lib/idcache.c: Include <string.h> unconditionally.
79895
79896         * lib/long-options.c: Include long-options.h first, to test interface.
79897         Include <stdlib.h> unconditionally.
79898
79899         * lib/makepath.c: Include makepath.h first, to test interface.
79900         Include <stdlib.h> and <string.h> unconditionally.
79901
79902         * lib/linebuffer.c: Include <stdlib.h>.
79903         (free): Remove decl.
79904
79905         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
79906         stddef.h. rpl_malloc returns void *, not char *.
79907         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
79908         prototype.
79909
79910         * lib/md5.h: Include <limits.h> unconditionally.
79911         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
79912         (__P): Remove; all uses removed.
79913         * lib/md5.c: Include "md5.h" first.
79914         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
79915         md5_buffer, md5_process_bytes, md5_process_block):
79916         Define with prototypes.
79917         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
79918         * lib/sha.c: Include "sha.h" first.
79919         Include <stdlib.h>, <string.h> unconditionally.
79920
79921         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
79922         * lib/memcmp.c (__ptr_t): Likewise.
79923         * lib/memrchr.c (__ptr_t): Likewise.
79924         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
79925         Include <string.h> unconditionally.
79926         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
79927         * lib/memchr.c: Include <stdlib.h> unconditionally.
79928         * lib/memchr.c (LONG_MAX): Remove.
79929         * lib/memrchr.c (LONG_MAX): Likewise.
79930         * lib/memchr.c (__memchr): Define via a prototype.
79931         * lib/memrchr.c (__memrchr): Likewise.
79932         * lib/memcmp.c (__P): Remove, and remove all uses.
79933         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
79934         Remove forward decls; no longer needed.
79935         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
79936         Use types required by C89 in prototype.
79937
79938         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
79939         * lib/savedir.c: Likewise.
79940         * lib/mkdir.c (free): Remove decl.
79941         * lib/rmdir.c (rmdir): Define with a prototype.
79942         * lib/savedir.c: Include savedir.h first, to test interface.
79943
79944         * lib/mktime.c (STDC_HEADERS): Remove.
79945         Include <stdlib.h>, <string.h> unconditionally.
79946
79947         * lib/modechange.c: Include <stdlib.h> unconditionally.
79948         (malloc): Remove decl.
79949
79950         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
79951         (free): Remove decl.
79952
79953         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
79954         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
79955         (This type really should be intptr_t, but that's a C99ism.)
79956         (_obstack_memcpy): Remove: all uses changed to memcpy.
79957         Include <string.h> unconditionally.
79958         (struct obstack): Assume __STDC__ for types of members
79959         chunkfun, freefun, extra_arg.
79960         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
79961         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
79962         obstack_begin, obstack_specify_allocation,
79963         obstack_specify_allocation_with_arg, obstack_chunkfun,
79964         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
79965         Remove unprototyped decls and the macros that use them.
79966         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
79967         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
79968         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
79969         (defined __STDC__ && __STDC__)]:
79970         Remove nonprototyped code.
79971         Include <stdlib.h> unconditionally.
79972         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
79973         _obstack_allocated_p, _obstack_free, obstack_free,
79974         _obstack_memory_used, print_and_abort):
79975         Define using prototypes.
79976         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
79977         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
79978         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
79979         obstack_next_free, obstack_object_size, obstack_room) [0]:
79980         Remove unused, unprototyped code.
79981
79982         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
79983
79984         * lib/physmem.c (physmem_total, physmem_available, main): Define
79985         with prototypes.
79986
79987         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
79988         (main): Define with a prototype.
79989
79990         * lib/posixver.c (getenv): Remove decl.
79991
79992         * lib/putenv.c (malloc): Returns void *, not char *.
79993         Include <string.h> unconditionally.
79994         (strchr, memcpy, NULL): Do not define.
79995
79996         * lib/readtokens.c: Include readtokens.h first, to test interface.
79997         Include <stdlib.h>, <string.h> unconditionally.
79998         (init_tokenbuffer): Define with a prototype.
79999
80000         * lib/regex.c (PARAMS): Remove.  All uses removed.
80001         All uses of _RE_ARGS removed, too.
80002         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
80003         unconditionally.
80004         (bzero): Assume memset exists.
80005         (memcmp, memcpy, NULL): Remove.
80006         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
80007         char, or assignments to local vars of type signed char.
80008         (init_syntax_once, PREFIX(extract_number_and_incr),
80009         PREFIX(print_partial_compiled_pattern),
80010         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
80011         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
80012         PREFIX(regex_grow_registers), PREFIX(regex_compile),
80013         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
80014         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
80015         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
80016         wcs_compile_range, byte_compile_range, truncate_wchar,
80017         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
80018         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
80019         count_mbs_length, wcs_re_match_2_internal,
80020         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
80021         PREFIX(alt_match_null_string_p),
80022         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
80023         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
80024         regfree, PREFIX(extract_number)): Define with prototype.  Remove
80025         now-unnecessary declaration, if any.
80026         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
80027         regcomp, regexec):
80028         Remove now-unnecessary casts among pointer types.
80029         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
80030
80031         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
80032         (free): Remove decl.
80033
80034         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
80035
80036         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
80037         (free): Remove decl.
80038
80039         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
80040         * lib/xgetcwd.c: Likewise.
80041
80042         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
80043         (free): Remove decl.
80044
80045         * lib/strchrnul.c (strchrnul): Define with a prototype.
80046         Fix bug: c_in was not converted to char before searching.
80047
80048         The following changes are not K&R related:
80049
80050         * lib/group-member.h: Include <sys/types.h>, so that this file is
80051         self-contained.
80052         * lib/makepath.h: Likewise.
80053
80054         * lib/getusershell.c (readname, default_index, line_size, readname):
80055         Use size_t, not int, for sizes.
80056         (readname): If the size overflows, report an error instead of
80057         looping forever.
80058
80059 2003-09-09  Paul Eggert  <eggert@twinsun.com>
80060
80061         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
80062         libc.
80063
80064 2003-09-09  Paul Eggert  <eggert@twinsun.com>
80065
80066         * README: New section: portability guidelines.
80067
80068 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
80069
80070         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
80071         C89 spec.
80072
80073 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
80074
80075         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
80076
80077 2003-09-08  Paul Eggert  <eggert@twinsun.com>
80078
80079         Assume C89 or better; remove K&R cruft.
80080         A few of these changes were first proposed by Derek Robert Price
80081         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
80082
80083         * lib/addext.c: Include <string.h> unconditionally.
80084         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
80085         Don't declare getenv or malloc.
80086
80087         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
80088         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
80089         (NULL): Remove.
80090         (find_stack_direction, alloca): Use prototypes.
80091
80092         * lib/atexit.c (atexit): Define using a prototype.
80093
80094         * lib/basename.c, dirname.c, stripslash.c:
80095         Include <string.h> unconditionally.
80096
80097         * lib/bcopy.c: Include <stddef.h>.
80098         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
80099
80100         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
80101
80102         * lib/error.h (error, error_at_line, error_print_progname)
80103         [! (defined (__STDC__) && __STDC__)]: Remove decls.
80104         * lib/error.c: Include error.h first, to check interface.
80105         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
80106         (VA_START): Remove; all uses changeed to va_start.
80107         (exit, strerror): Remove decls.
80108         (error_print_progname): Prototype uncondionally.
80109         Don't include <errno.h>; no longer needed.
80110         (private_strerror): Remove.
80111         (error_tail): Always define.
80112         (error, error_at_line): Assume C89 or better; always use prototypes.
80113         * lib/fatal.c: Include "fatal.h" first, to test interface.
80114         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
80115         (VA_START): Remove; all uses changed to va_start.
80116         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
80117         this case.
80118         (exit): Remove decl.
80119         (fatal): Prototype unconditionally.  Assume va_start works.
80120         Abort at end, to pacify gcc.
80121
80122         * lib/euidaccess.c (main): Define with a prototype.
80123
80124         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
80125
80126         * lib/exitfail.c: Include <stdlib.h> unconditionally.
80127
80128         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
80129         prototypes.
80130         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
80131         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
80132         (getenv): Remove decl.
80133         (fnmatch): Define using a prototype.
80134         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
80135         (FCT): Define using a prototype.
80136
80137         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
80138
80139         * lib/gethostname.c: Include <stddef.h>.
80140         (gethostname): Define with prototype.  Length is size_t, not int.
80141
80142 2003-09-08  Paul Eggert  <eggert@twinsun.com>
80143
80144         Assume C89 or better; remove K&R cruft.
80145         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
80146         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
80147         string.h, getenv, malloc.
80148         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
80149         headers.
80150         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
80151         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
80152         do not check for strerror.
80153         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
80154         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
80155         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
80156         do not check for doprnt or vprintf.
80157         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
80158         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
80159
80160 2003-09-08  Paul Eggert  <eggert@twinsun.com>
80161
80162         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
80163         getversion.c should have been removed then, but was accidentally
80164         preserved.
80165
80166         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
80167         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
80168
80169 2003-09-08  Karl Berry  <karl@gnu.org>
80170
80171         * config/config.sub, config.guess, srclistvars.sh: update from savannah
80172                 config, forget about prep.
80173
80174         * config/depcomp, missing: update from automake.
80175
80176 2003-09-07  Paul Eggert  <eggert@twinsun.com>
80177
80178         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
80179         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
80180
80181 2003-09-07  Paul Eggert  <eggert@twinsun.com>
80182
80183         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
80184         copy_tm_result.  Bug reported by Simon Josefsson in
80185         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
80186
80187 2003-09-06  Paul Eggert  <eggert@twinsun.com>
80188
80189         * m4/time_r.m4: New file.
80190         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
80191         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
80192         is. Check for timegm declaration.
80193         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
80194         Do not check for gmtime_r.
80195         Replace mktime if __mktime_internal does not exist and if mktime
80196         hasn't been replaced already.
80197
80198 2003-09-06  Paul Eggert  <eggert@twinsun.com>
80199
80200         * lib/time_r.c, lib/time_r.h: New files.
80201
80202         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
80203         __localtime_r.
80204         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
80205         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
80206
80207         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
80208         __gmtime_r.
80209         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
80210         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
80211         Include <time_r.h>.
80212
80213         * lib/timegm.c: Switch to glibc implementation, with the following
80214         changes:
80215         [defined HAVE_CONFIG_H]: Include <config.h>.
80216         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
80217         (__mktime_internal) [!defined _LIBC]: New decl.
80218         (__gmtime_r) [!defined _LIBC]: New macro and function.
80219         (timegm): Use a prototype, since gnulib assumes C89.
80220         Do not bother declaring tmp to be const, as it's not really usefu.
80221         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
80222         (timegm): Declare only if HAVE_DECL_TIMEGM.
80223
80224 2003-09-06  Paul Eggert  <eggert@twinsun.com>
80225
80226         * MODULES.html.sh (func_all_modules): Add time_r.
80227         * modules/time_r: New file.
80228         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
80229         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
80230
80231 2003-09-03  Paul Eggert  <eggert@twinsun.com>
80232
80233         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
80234         Bug reported by Lute Kamstra in
80235         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
80236
80237         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
80238         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
80239         course with correspondingly smaller numbers for tomorrow and
80240         yesterday.  From Tadayoshi Funaba.  Originally installed into
80241         sh-utils on 1999-08-07, but the patch got lost (I guess during the
80242         coreutils merge?).
80243
80244 2003-08-31  Simon Josefsson  <jas@extundo.com>
80245
80246         * modules/timegm: New file.
80247         * MODULES.html.sh (func_all_modules): Add timegm.
80248
80249 2003-08-31  Simon Josefsson  <jas@extundo.com>
80250
80251         * m4/timegm.m4: New file.
80252
80253 2003-08-31  Simon Josefsson  <jas@extundo.com>
80254
80255         * lib/timegm.h: New file.
80256         * lib/timegm.c: New file.  Based on
80257         wget-1.8.2/src/http.c:mktime_from_utc.
80258
80259 2003-08-31  Karl Berry  <karl@gnu.org>
80260
80261         * lib/argp.h: update from libc.
80262
80263 2003-08-28  Bruno Haible  <bruno@clisp.org>
80264
80265         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
80266         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
80267         followed by '#define fnmatch fnmatch_posix' gives an error.
80268
80269 2003-08-28  Bruno Haible  <bruno@clisp.org>
80270
80271         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
80272         warning on QNX, which defines O_BINARY to 000000.
80273
80274 2003-08-27  Jim Meyering  <jim@meyering.net>
80275
80276         * m4/mkstemp.m4: Require that the system mkstemp be able to create
80277         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
80278         would fail after 32.  Reported by Danny Levinson.  Details here:
80279         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
80280
80281 2003-08-24  Bruno Haible  <bruno@clisp.org>
80282
80283         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
80284         MSVC7 <stdio.h> is included later.
80285
80286 2003-08-22  Simon Josefsson  <jas@extundo.com>
80287
80288         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
80289
80290 2003-08-20  Karl Berry  <karl@gnu.org>
80291
80292         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
80293
80294 2003-08-20  Bruno Haible  <bruno@clisp.org>
80295
80296         * modules/progname: New file.
80297         * MODULES.html.sh (func_all_modules): Add progname.
80298
80299 2003-08-20  Bruno Haible  <bruno@clisp.org>
80300
80301         * lib/progname.h: New file, from GNU gettext.
80302         * lib/progname.c: New file, from GNU gettext.
80303         * lib/progreloc.c: New file, from GNU gettext.
80304
80305 2003-08-19  Jim Meyering  <jim@meyering.net>
80306
80307         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
80308         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
80309
80310 2003-08-19  Bruno Haible  <bruno@clisp.org>
80311
80312         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
80313         more.
80314
80315 2003-08-19  Bruno Haible  <bruno@clisp.org>
80316
80317         * lib/xstrdup.c: Assume <string.h> exists.
80318
80319 2003-08-18  Paul Eggert  <eggert@twinsun.com>
80320
80321         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
80322         in makefile rules.
80323
80324 2003-08-18  Jim Meyering  <jim@meyering.net>
80325
80326         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
80327         * m4/lib-ld.m4: Likewise.
80328
80329 2003-08-18  Jim Meyering  <jim@meyering.net>
80330
80331         * lib/setenv.h: Indent nested cpp directive.
80332         * lib/vasnprintf.c: Remove trailing blanks.
80333
80334 2003-08-17  Simon Josefsson  <jas@extundo.com>
80335
80336         * modules/xstrndup: New file.
80337         * MODULES.html.sh (func_all_modules): Add xstrndup.
80338
80339 2003-08-17  Simon Josefsson  <jas@extundo.com>
80340
80341         * modules/argp: Fix autoconf macro name. Add more dependencies.
80342
80343 2003-08-17  Simon Josefsson  <jas@extundo.com>
80344
80345         * m4/xstrndup.m4: New file.
80346
80347 2003-08-17  Simon Josefsson  <jas@extundo.com>
80348
80349         * m4/argp.m4: New file.
80350
80351 2003-08-17  Simon Josefsson  <jas@extundo.com>
80352             Bruno Haible  <bruno@clisp.org>
80353
80354         * lib/xstrndup.h: New file.
80355         * lib/xstrndup.c: New file.
80356
80357 2003-08-17  Bruno Haible  <bruno@clisp.org>
80358
80359         * modules/strndup (Files, Include): Add lib/strndup.h.
80360
80361 2003-08-17  Bruno Haible  <bruno@clisp.org>
80362
80363         * modules/euidaccess (Files): Add lib/euidaccess.h.
80364
80365 2003-08-17  Bruno Haible  <bruno@clisp.org>
80366
80367         * lib/strndup.h: New file.
80368
80369 2003-08-17  Bruno Haible  <bruno@clisp.org>
80370
80371         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
80372         like AC_GNU_SOURCE.
80373         * modules/extensions (configure.ac): Comment out the invocation of
80374         gl_USE_SYSTEM_EXTENSIONS.
80375
80376 2003-08-16  Paul Eggert  <eggert@twinsun.com>
80377
80378         Merges from coreutils, etc.
80379         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
80380         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
80381         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
80382         fixing a typo.
80383         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
80384         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
80385
80386 2003-08-16  Paul Eggert  <eggert@twinsun.com>
80387
80388         Document merge from coreutils.
80389         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
80390         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
80391         * modules/utime: Add m4/utimes-null.m4.
80392
80393 2003-08-16  Paul Eggert  <eggert@twinsun.com>
80394
80395         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
80396         space, undoing this 2003-08-12 change:
80397         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
80398
80399 2003-08-16  Paul Eggert  <eggert@twinsun.com>
80400
80401         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
80402         strtoul.c from libc, undoing this 2003-08-12 change:
80403         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
80404
80405 2003-08-16  Jim Meyering  <jim@meyering.net>
80406
80407         Merges from coreutils.
80408         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
80409         prefix.  Adjust cache variables similarly.  Create 500 rather than
80410         just 300 files, to exercise bug on Darwin6.5, too.
80411         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
80412         $missing_dir.
80413         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
80414         AM_SYS_POSIX_TERMIOS.
80415         Reported by mkc@mathdogs.com.
80416         Also change use of $am_cv_sys_posix_termios
80417         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
80418         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
80419         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
80420         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
80421         in /proc/mounts until it finds one with matching device number.  This
80422         is unnecessary when the FILE argument *is* a mount point.  No stat call
80423         is necessary in that case.  So, disable the statvfs-testing code on
80424         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
80425         as RedHat bug# 84846.
80426         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
80427         to 1MB, so as not to render systems with no stack size limit (e.g.,
80428         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
80429         Include <unistd.h>.  On some systems,
80430         it is required for the definition of _SC_PAGESIZE.
80431
80432 2003-08-16  Jim Meyering  <jim@meyering.net>
80433
80434         Merge from coreutils.
80435         * lib/xstrtoimax.c: #else #if -> #elif.
80436         * lib/xstrtoumax.c: Likewise.
80437
80438 2003-08-16  Jim Meyering  <jim@meyering.net>
80439
80440         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
80441         * m4/utimes.m4: Removed.
80442         * m4/utimes-null.m4: Renamed from utimes.m4.
80443
80444         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
80445         to 1MB, so as not to render systems with no stack size limit (e.g.,
80446         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
80447         Include <unistd.h>.  On some systems,
80448         it is required for the definition of _SC_PAGESIZE.
80449
80450 2003-08-16  Jim Meyering  <jim@meyering.net>
80451         and Paul Eggert  <eggert@cs.ucla.edu>
80452
80453         Merges from coreutils, etc.
80454
80455         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
80456         using the latest version from cvs.  This avoids problems with #line
80457         directives using a vendor (Sun) compiler.
80458         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
80459         Don't set GETGROUPS_LIB here; now it's
80460         done via getgroups.m4's wrapper function.
80461         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
80462         rather than just in sh-util/configure.in, so that the
80463         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
80464         same.
80465         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
80466         AC_FUNC_GETLOADAVG where to find getloadavg.c.
80467         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
80468         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
80469         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
80470         Remove code that is now done by the newly-required macros.
80471         Append $(EXEEXT) to DF_PROG.
80472         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
80473         Do not invoke or require the following here,
80474         since prereq.m4 or some gnulib .m4 now does this for us:
80475         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
80476         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
80477         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
80478         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
80479         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
80480         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
80481         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
80482         AC_FUNC_OBSTACK.
80483         Do not replace the following functions, as this is now the job
80484         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
80485         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
80486         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
80487         atexit getpass, strdup, getpagesize.
80488         Replace 'raise'.
80489         Do not check for the following functions, as this is now the job
80490         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
80491         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
80492         setregid.
80493         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
80494         Check for sys/sysctl.h.
80495         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
80496         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
80497         of checking for ssize_t ourselves.
80498
80499         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
80500         Require every macro that gnulib/modules/* suggests for us.
80501         (jm_PREREQ_ADDEXT): New macro.
80502         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
80503         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
80504
80505         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
80506         (gl_PHYSMEM): Use it.
80507         Also check for `table' function.
80508         Check for new headers and functions.
80509         Add check for sys/sysmp.h.
80510         With suggestions from Kaveh Ghazi.
80511         Ignore headers that are present but cannot be compiled.  This
80512         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
80513         C 5.4.
80514
80515 2003-08-15  Paul Eggert  <eggert@twinsun.com>
80516
80517         Document merge from coreutils.
80518         * modules/userspec: Depend on posixver.
80519         * modules/strftime: Depend on tzset.
80520
80521 2003-08-15  Paul Eggert  <eggert@twinsun.com>
80522
80523         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
80524         rather than tab, after '#' in shell-script copyright notices.
80525         Suggested by Bruno Haible.
80526
80527 2003-08-15  Paul Eggert  <eggert@twinsun.com>
80528
80529         * config/srclist-update: Use three spaces, rather than tab, after '#'
80530         in shell-script copyright notices.  Suggested by Bruno Haible.
80531         Remove unnecessary parenthesization in regular expression.
80532
80533 2003-08-15  Jim Meyering  <jim@meyering.net>
80534
80535         Merge from coreutils.
80536         * lib/xgethostname.c: Include <stdlib.h>.
80537         (xghostname): Don't exit for anything other than memory-related
80538         failure; just return NULL.
80539         * lib/userspec.c: Include "posixver.h".
80540         (parse_user_spec): Accept `.' as a separator only
80541         in pre-POSIX-200112 mode.
80542         * lib/strtoimax.c: Use #elif rather than #else #if.
80543         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
80544         Remove function, now that we can rely on a working tzset function.
80545         [!_LIBC]: Ensure that the required autoconf test has been run.
80546         [!defined _NL_CURRENT && HAVE_STRFTIME]:
80547         Use underlying_strftime for %r.
80548         * lib/sha.c: Merge in some clean-up and optimization changes from
80549         glibc.
80550         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
80551         Ensure that it is a multiple of 64.
80552         Rearrange loop exit tests so as to avoid performing an
80553         additional fread after encountering an error or EOF.
80554         * lib/realloc.c: Update copyright date.
80555
80556 2003-08-15  Jim Meyering  <jim@meyering.net>
80557         and Paul Eggert  <eggert@twinsun.com>
80558
80559         Merge from coreutils.
80560         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
80561         member but strut utmpx does not.  Needed for AIX 4.3.3.
80562         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
80563
80564 2003-08-15  Jim Meyering  <jim@meyering.net>
80565         and Paul Eggert  <eggert@cs.ucla.edu>
80566
80567         Merges from coreutils, etc.
80568         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
80569         Require gl_FUNC_TZSET_CLOBBER.
80570         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
80571         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
80572         members.
80573
80574 2003-08-14  Paul Eggert  <eggert@twinsun.com>
80575
80576         Help the merge from coreutils.
80577         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
80578         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
80579         * m4/tzset.m4: Use it too.
80580
80581 2003-08-14  Paul Eggert  <eggert@twinsun.com>
80582
80583         * modules/tzset: New file.
80584
80585 2003-08-14  Jim Meyering  <jim@meyering.net>
80586
80587         Merges from coreutils.
80588         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
80589         variable names, rather than @FNMATCH_H@.
80590         * modules/alloca: Likewise for $(ALLOCA_H).
80591
80592         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
80593         the three copies of the literal target, `fnmatch.h'.
80594         * modules/alloca (alloca.h): Likewise.
80595
80596 2003-08-14  Jim Meyering  <jim@meyering.net>
80597
80598         Merge from coreutils.
80599         * m4/tzset.m4: New file.
80600         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
80601         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
80602         otherwise, AIX 5.1 systems would end up using the latter.
80603         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
80604         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
80605         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
80606         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
80607
80608 2003-08-14  Jim Meyering  <jim@meyering.net>
80609
80610         Merge from coreutils.
80611         * lib/obstack.h: Whitespace changes.
80612         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
80613         and xcalloc return values.
80614         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
80615         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
80616         hang on OSF/1 5.1 for DIR on both local and remote file systems.
80617         Reported by (and fix confirmed by) Nelson H. F. Beebe.
80618         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
80619         error from mntctl.
80620         Use mntctl's return value to drive the entry-processing loop, since
80621         we can't rely on the value of the vmt_length member in the last
80622         entry.  On some systems doing so could result in exhausting
80623         virtual memory.  Based in part on a patch from Mike Jetzer.
80624
80625 2003-08-14  Jim Meyering  <jim@meyering.net>
80626         and Paul Eggert  <eggert@twinsun.com>
80627
80628         Merges from coreutils, plus other fixes.
80629         * lib/physmem.c: Merge in portability changes from gcc/libiberty
80630         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
80631         for credits and details.  Thanks to Kaveh Ghazi for helping
80632         to keep these files in sync.
80633         (ARRAY_SIZE): Define it.
80634         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
80635         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
80636         (memcasecmp): Don't assume size_t fits in unsigned int.
80637         Remove casts and duplicate code.
80638         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
80639         (memcpy): Remove definition.
80640         Merge in some clean-up and optimization changes from glibc.
80641         [BLOCKSIZE]: Move definition to top of file.
80642         Ensure that it is a multiple of 64.
80643         Rearrange loop exit tests so as to avoid performing an
80644         additional fread after encountering an error or EOF.
80645         * lib/md5.h (md5_uintptr): Define.
80646         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
80647         return to the initial working directory.  Preserve errno
80648         for caller.
80649         * lib/idcache.c: Include "xalloc.h".
80650         (xmalloc, xrealloc): Remove decls.
80651         (getuser): Remove casts no longer required in C89.
80652         * lib/human.c: Include stdio.h, for sprintf.
80653         * lib/group-member.c: Include "xalloc.h".
80654         (xmalloc, xrealloc): Remove decls.
80655         (get_group_info): Remove casts no longer required in C89.
80656         * lib/getusershell.c (readname): Remove casts no longer required in
80657         C89.
80658         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
80659         * lib/getline.c: Whitespace fix, from coreutils.
80660
80661 2003-08-13  Paul Eggert  <eggert@twinsun.com>
80662
80663         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
80664         Check for isascii.
80665
80666         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
80667         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
80668         Undo previous (whitespace-only) change.
80669
80670 2003-08-13  Paul Eggert  <eggert@twinsun.com>
80671
80672         * lib/exclude.c: Include <ctype.h>
80673         (IN_CTYPE_DOMAIN): New macro.
80674         (is_space): New fn.
80675         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
80676         and empty lines.
80677
80678         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
80679         Undo previous (whitespace-only) change.
80680
80681 2003-08-13  Paul Eggert  <eggert@twinsun.com>
80682
80683         * config/srclist-update: Change update back to the old behavior,
80684         leaving whitespace alone.  Use one 'sed' command rather than a
80685         pipeline.
80686         (fixlicense): Now a variable, not a function.
80687         (remove_trailing_blanks): Remove.
80688         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
80689         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
80690         Undo previous (whitespace-only) change.
80691
80692 2003-08-12  Paul Eggert  <eggert@twinsun.com>
80693
80694         Merge from coreutils.
80695         * modules/euidaccess: Add lib_SOURCES, include for new
80696         file euidaccess.h
80697
80698 2003-08-12  Paul Eggert  <eggert@twinsun.com>
80699
80700         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
80701         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
80702         Normalize leading white space and remove trailing white space.
80703
80704         Merge from coreutils
80705         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
80706
80707         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
80708         0.12.1.  These files are now being upgraded automatically by
80709         ../config/srclist-update.
80710
80711 2003-08-12  Paul Eggert  <eggert@twinsun.com>
80712
80713         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
80714         Normalize leading white space and remove trailing white space.
80715         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
80716         notice, as per ../config/srclist-update.
80717
80718         Merge from coreutils.
80719         * lib/euidaccess.h: New file.
80720         * lib/euidaccess.c: Include it.
80721         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
80722         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
80723         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
80724
80725 2003-08-12  Paul Eggert  <eggert@twinsun.com>
80726
80727         * config/srclist-update: Add copyright notice.
80728         (remove_id_lines, remove_trailing_blanks): New constants.
80729         (fixfile): Use them to normalize spacing a bit in copied files.
80730         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
80731         Normalize leading white space and remove trailing white space.
80732
80733         * config/texinfo.tex: Sync with texinfo.
80734
80735         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
80736         strtoul.c from libc, to merge coreutils whitespace changes.
80737
80738         * config/srclist.txt: Get the following m4 files from gettext:
80739         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
80740         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
80741         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
80742         wint_t.m4.
80743
80744 2003-08-12  Karl Berry  <karl@gnu.org>
80745
80746         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
80747         been made.
80748
80749 2003-08-11  Paul Eggert  <eggert@twinsun.com>
80750
80751         * modules/gnu-source, m4/gnu-source.m4:
80752         Remove; we're assuming Autoconf 2.54 or later now.
80753         Suggested by Bruno Haible.
80754         * MODULES.html.sh (func_all_modules): Remove gnu-source.
80755
80756 2003-08-11  Bruno Haible  <bruno@clisp.org>
80757
80758         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
80759
80760 2003-08-11  Bruno Haible  <bruno@clisp.org>
80761
80762         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
80763         (vasnprintf): Use it instead of wcslen.
80764
80765 2003-08-11  Bruno Haible  <bruno@clisp.org>
80766
80767         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
80768         value to ensure that _Bool promotes to int. Use #define for _Bool when
80769         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
80770
80771 2003-08-10  Karl Berry  <karl@gnu.org>
80772
80773         * lib/regex.h: update from libc (whitespace fix).
80774
80775 2003-08-09  Paul Eggert  <eggert@twinsun.com>
80776
80777         Merge some files from coreutils.  These changes were
80778         originally made by Jim Meyering.
80779         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
80780         many older Unixes require this.
80781         * lib/alloca.c (alloca): Remove cast to argument of free;
80782         no longer needed in C89.
80783         * lib/alloca_.h, regex.h: Fix white space to match
80784         what GNU indent does.
80785
80786 2003-08-09  Paul Eggert  <eggert@twinsun.com>
80787
80788         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
80789         apparently Emacs's Unicode mode got confused before my 2003-08-05
80790         checkin.
80791
80792 2003-08-08  Paul Eggert  <eggert@twinsun.com>
80793
80794         * m4/extensions.m4: New file.
80795         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
80796         Require gl_USE_SYSTEM_EXTENSIONS.
80797         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
80798         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
80799
80800 2003-08-08  Paul Eggert  <eggert@twinsun.com>
80801
80802         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
80803         * modules/extensions, modules/gnu-source: New files.
80804         * modules/timespec, modules/unlocked-io: Depend on extensions.
80805
80806 2003-08-07  Paul Eggert  <eggert@twinsun.com>
80807
80808         * modules/restrict: New file.
80809         * MODULES.html.sh (func_all_modules): Add restrict.
80810         * modules/regex: Depend on restrict.
80811
80812 2003-08-07  Paul Eggert  <eggert@twinsun.com>
80813
80814         * m4/restrict.m4: New file.
80815         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
80816
80817 2003-08-07  Bruno Haible  <bruno@clisp.org>
80818
80819         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
80820         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
80821
80822 2003-08-07  Bruno Haible  <bruno@clisp.org>
80823
80824         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
80825         makes the module 'getndelim2' compatible with the module 'getline'.
80826
80827 2003-08-05  Paul Eggert  <eggert@twinsun.com>
80828
80829         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
80830         byte with "\201" to avoid glitches when editing that source file
80831         with multi-gnome-terminal.
80832
80833 2003-08-05  Paul Eggert  <eggert@twinsun.com>
80834
80835         * lib/bumpalloc.h: Remove.
80836
80837 2003-08-05  Paul Eggert  <eggert@twinsun.com>
80838
80839         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
80840         * modules/bumpalloc: Remove.
80841
80842 2003-08-04  Paul Eggert  <eggert@twinsun.com>
80843
80844         * lib/getloadavg.c: Change copyright notice and spacing to conform to
80845         GNU coding style.
80846
80847         Merge from coreutils.
80848         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
80849         1. From glibc.
80850         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
80851         from Karl Berry, implemented by Jim Meyering.
80852         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
80853         from Dmitry V. Levin.
80854         Remove anachronistic cast of xrealloc.
80855         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
80856         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
80857         type. Otherwise, it wouldn't compile with at least /bin/cc on
80858         ymp-cray-unicos9.0.2.X.
80859         Combine two mostly-identical uses of alloca into one.
80860         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
80861
80862 2003-08-04  Dave Love  <d.love@dl.ac.uk>
80863
80864         [From Emacs.]
80865
80866         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
80867         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
80868         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
80869         obsolete NLIST_NAME_UNION.
80870         [__GNU__]: Undef BSD and FSCALE.
80871         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
80872
80873 2003-08-03  Paul Eggert  <eggert@twinsun.com>
80874
80875         * lib/stdbool_.h (_Bool): Make it signed char, instead of
80876         an enum type, so that it's guaranteed to promote to int.  See:
80877         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
80878
80879 2003-08-03  Karl Berry  <karl@gnu.org>
80880
80881         * config/depcomp: update from automake.
80882
80883 2003-07-31  Paul Eggert  <eggert@twinsun.com>
80884
80885         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
80886         (strerror): Don't assume that a printable int fits in 14 bytes.
80887
80888 2003-07-31  Bruno Haible  <bruno@clisp.org>
80889
80890         * modules/getpass-gnu: New file.
80891         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
80892
80893 2003-07-31  Bruno Haible  <bruno@clisp.org>
80894
80895         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
80896
80897 2003-07-24  Karl Berry  <karl@gnu.org>
80898
80899         * config/missing: update from automake.
80900
80901 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
80902             Bruno Haible  <bruno@clisp.org>
80903
80904         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
80905         * lib/getline.c (getline, getdelim): Likewise.
80906         Remove _GNU_SOURCE define; now it's defined in config.h through
80907         m4/getline.m4.
80908
80909 2003-07-23  Karl Berry  <karl@gnu.org>
80910
80911         * config/config.sub: update from prep.
80912
80913 2003-07-22  Paul Eggert  <eggert@twinsun.com>
80914
80915         * modules/xalloc (Depends-on): Add exitfail.
80916         * modules/xmemcoll: Likewise.
80917
80918 2003-07-22  Paul Eggert  <eggert@twinsun.com>
80919
80920         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
80921         over-parenthesization in macros.
80922
80923         Sync with coreutils.
80924
80925         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
80926         required by C99.
80927
80928         Use `exit_failure' for xalloc and xmemcoll instead of their own
80929         private exit-failure variables.
80930         * lib/xalloc.h (xalloc_exit_failure): Remove.
80931         * lib/xmalloc.c: Likewise.  Include exitfail.h.
80932         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
80933         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
80934         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
80935         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
80936
80937 2003-07-20  Jim Meyering  <jim@meyering.net>
80938
80939         * modules/closeout (Depends-on): Add exitfail.
80940         Suggestion from Bruno Haible.
80941
80942 2003-07-19  Karl Berry  <karl@gnu.org>
80943
80944         * config/config.sub: update from prep.
80945
80946 2003-07-18  Paul Eggert  <eggert@twinsun.com>
80947
80948         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
80949         Remove.
80950         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
80951         to test that it can stand by itself.  Include "exitfail.h".
80952         Clients should set exit_failure instead.
80953         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
80954
80955 2003-07-18  Bruno Haible  <bruno@clisp.org>
80956
80957         * modules/getndelim2: New file.
80958         * modules/getline: Share files with module getndelim2.
80959         * modules/getnline: Depend on getndelim2 instead of sharing files with
80960         it. Add getnline.c to lib_SOURCES.
80961         * MODULES.html.sh (func_all_modules): Add getndelim2.
80962
80963 2003-07-18  Bruno Haible  <bruno@clisp.org>
80964
80965         * m4/getndelim2.m4: New file.
80966         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
80967         invoke gl_PREREQ_GETNDELIM2.
80968         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
80969         gl_PREREQ_GETNDELIM2.
80970         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
80971         gl_GETNDELIM2.
80972
80973 2003-07-18  Bruno Haible  <bruno@clisp.org>
80974
80975         * lib/getndelim2.h: New file.
80976         * lib/getndelim2.c: Make into a module of its own. Include config.h,
80977         getndelim2.h.
80978         (getndelim2): Make non-static. Change return type to ssize_t.
80979         * lib/getline.h: Change argument names.
80980         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
80981         * lib/getnline.c: Include getndelim2.h.
80982
80983 2003-07-18  Andreas Schwab  <schwab@suse.de>
80984
80985         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
80986
80987 2003-07-17  Karl Berry  <karl@gnu.org>
80988
80989         * config/config.sub: update from prep.
80990
80991 2003-07-17  Bruno Haible  <bruno@clisp.org>
80992
80993         * modules/getnline: New file.
80994         * modules/getline: Add lib/getndelim2.c to source file list.
80995         * MODULES.html.sh (func_all_modules): Add getnline.
80996
80997 2003-07-17  Bruno Haible  <bruno@clisp.org>
80998
80999         * m4/getnline.m4: New file.
81000
81001 2003-07-17  Bruno Haible  <bruno@clisp.org>
81002
81003         * m4/Makefile.am.in: Remove file.
81004         * m4/Makefile.am: Remove file.
81005         * m4/Makefile.in: Remove file.
81006
81007 2003-07-17  Bruno Haible  <bruno@clisp.org>
81008
81009         * lib/getnline.h: New file.
81010         * lib/getnline.c: New file.
81011         * lib/getndelim2.c: New file, extracted from getline.c.
81012         (getndelim2): Renamed from getdelim2, with added nmax argument.
81013         * lib/getline.c: Include getndelim2.c.
81014         (getdelim2): Moved out to getndelim2.c.
81015         (getline, getdelim): Update.
81016
81017 2003-07-17  Bruno Haible  <bruno@clisp.org>
81018
81019         * lib/Makefile.am: Remove file.
81020         * lib/Makefile.in: Remove file.
81021
81022 2003-07-17  Bruno Haible  <bruno@clisp.org>
81023
81024         * configure.in: Remove file.
81025         * Makefile.in: Remove file.
81026
81027 2003-07-17  Bruno Haible  <bruno@clisp.org>
81028
81029         * MODULES.html.sh: Put the </BODY> right before </HTML>.
81030
81031 2003-07-16  Karl Berry  <karl@gnu.org>
81032
81033         * config/srclist-update: was running fixlicense twice, which caused
81034                 texinfo.tex to be nullified for some reason.  Simplify,
81035                 $gplsrc is no longer needed as far as I can see?
81036
81037 2003-07-16  Jim Meyering  <jim@meyering.net>
81038
81039         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
81040
81041 2003-07-15  Paul Eggert  <eggert@twinsun.com>
81042
81043         * config/srclist.txt: Get the following files from gettext-runtime/intl
81044         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
81045         ref-del.sin.  From Bruno Haible.
81046         * config/srclist-update (fixfile): Change grep pattern again, since the
81047         previous fix didn't work (there was another trailing $).  Use
81048         '[$]' to escape the $s.
81049
81050 2003-07-15  Karl Berry  <karl@gnu.org>
81051
81052         * lib/vasnprintf.c: update from gettext.
81053
81054 2003-07-15  Karl Berry  <karl@gnu.org>
81055
81056         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
81057         gets expanded when surrounded by '$'.
81058
81059 2003-07-15  Jim Meyering  <jim@meyering.net>
81060
81061         * modules/save-cwd: Don't depend on error.  From Derek Price.
81062
81063 2003-07-15  Jim Meyering  <jim@meyering.net>
81064
81065         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
81066
81067 2003-07-14  Simon Josefsson  <jas@extundo.com>
81068
81069         * modules/mempcpy: New file.
81070         * MODULES.html.sh (func_all_modules): Add mempcpy.
81071
81072 2003-07-14  Simon Josefsson  <jas@extundo.com>
81073
81074         * m4/mempcpy.m4: New file.
81075
81076 2003-07-14  Simon Josefsson  <jas@extundo.com>
81077
81078         * lib/mempcpy.h: New file.
81079         * lib/mempcpy.c: New file.
81080
81081 2003-07-14  Paul Eggert  <eggert@twinsun.com>
81082
81083         * modules/getdate, modules/posixtm: Depend on mktime.
81084
81085 2003-07-14  Paul Eggert  <eggert@twinsun.com>
81086
81087         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
81088         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
81089         unicodeio.c, unicodeio.h, unlocked-io.h:
81090         Switch from LGPL to GPL.
81091
81092 2003-07-14  Paul Eggert  <eggert@twinsun.com>
81093
81094         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
81095         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
81096         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
81097         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
81098         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
81099         updated automatically by ../config/srclist-update.  This changes
81100         their license from LPGL to GPL.
81101
81102 2003-07-14  Paul Eggert  <eggert@twinsun.com>
81103
81104         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
81105         assumed to refer to the root of the most recent stable gettext version.
81106         * config/srclistvars.sh: Add defaults for eggert.
81107         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
81108         Match "This program" as well as "The program".  This is needed
81109         for gettext.
81110
81111 2003-07-14  Jim Meyering  <jim@meyering.net>
81112
81113         Don't emit diagnostics.  Let callers do that.
81114         * lib/save-cwd.c: Don't include "error.h".
81115         (save_cwd): Don't call error.  Ensure that errno is valid
81116         when returning nonzero.
81117
81118         * lib/save-cwd.h (restore_cwd): Update prototype.
81119         * lib/save-cwd.c (restore_cwd): Remove two parameters.
81120         Simplify.  Don't call error upon failure.  Let callers do that.
81121         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
81122         when auditing is enabled.  But don't bother updating the #if.
81123
81124 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
81125
81126         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
81127         it breaks C++ compilation.
81128         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
81129
81130 2003-07-10  Simon Josefsson  <jas@extundo.com>
81131
81132         * modules/strchrnul (Makefile.am): Add strchrnul.h.
81133
81134 2003-07-10  Jim Meyering  <jim@meyering.net>
81135
81136         * m4/clock_time.m4: Remove trailing blank.
81137         * m4/intmax_t.m4: Likewise.
81138
81139 2003-07-10  Jim Meyering  <jim@meyering.net>
81140
81141         * lib/vasnprintf.c: Remove trailing blanks.
81142         Make cpp indentation consistent.
81143
81144 2003-07-09  Paul Eggert  <eggert@twinsun.com>
81145
81146         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
81147         posixver.c, strftime.c, strnlen.c, strverscmp.c:
81148         Switch from LGPL to GPL.
81149
81150 2003-07-09  Paul Eggert  <eggert@twinsun.com>
81151
81152         * config/srclist.txt: Sort sublists.  Add
81153         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
81154         that differ from gnulib for one reason or another; we'd like this list
81155         to be smaller but for now let's document what we have.
81156
81157 2003-07-08  Paul Eggert  <eggert@twinsun.com>
81158
81159         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
81160         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
81161         and sweeter "eval x=$x".
81162         * config/srclist.txt: Get lib/argp* from glibc.
81163
81164 2003-07-07  Paul Eggert  <eggert@twinsun.com>
81165
81166         * lib/mktime.c: Fix some boundary cases and remove need for floating
81167         point.
81168
81169         Issue a compile-time diagnostic if time_t is floating point, or if
81170         two's complement arithmetic is not in effect, or if arithmetic
81171         right shift does not propagate the sign.  These assumptions were
81172         all in the original code but they weren't checked.
81173
81174         (TIME_T_MIDPOINT, verify): New macros.
81175         (__isleap): Remove; it has integer overflow problems.
81176         (leapyear): New function, without those problems.
81177         (ydhms_tm_diff): Remove; splitting into two parts.
81178         (ydhms_diff): New function, containing the arithmetic part of
81179         the old ydhms_tm_diff function.  Issue a compile-time
81180         diagnostic if we are not using C99 integer division.
81181         Avoid casts when possible.
81182         (guess_time_tm): New function, containing the checking part of
81183         the old ydhms_tm_diff function.  Return the new value, rather than
81184         the difference between it and the old.  Accept a new argument T
81185         so that *T specifies the old value.  Check for overflow in the result.
81186
81187         (__mktime_internal): Use a time_t offset, not a long int offset.
81188         This undoes the 2003-06-04 change, which is no longer needed now
81189         that we have better overflow checking.
81190         (localtime_offset): Likewise.
81191
81192         (__mktime_internal): Avoid harmful overflow on hosts where time_t
81193         and long are 64-bit but int is only 32-bit.
81194         (ydhms_diff): Use long int to store year1 and yday1.
81195         Issue a compile-time diagnostic if long int is not wide enough.
81196
81197         (__mktime_internal): Use long int to store adjusted year and yday.
81198         Use plain C rather than preprocessor commands, if that doesn't
81199         affect efficiency.
81200         Check for overflow (and try to repair) after each probe
81201         rather than checking only at the very end.  This avoids some bugs
81202         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
81203         does not equal GMT offset at maximum time).
81204         Use integer to check for overflow rather than floating point; this
81205         is more portable to non-IEEE hosts, and is a tad faster.
81206         When we detect that we are oscillating between two values,
81207         don't check whether tm_isdst has the requested value, since
81208         we already know the answer.  When tm_isdst has the wrong value,
81209         use a different heuristic to find the right one, based on the
81210         extreme values actually observed in practice in tz2003a,
81211         rather than the (overly optimistic) "previous 3 calendar quarters".
81212
81213         (not_equal_tm, print_tm, check_result): Use "const T" rather than
81214         "T const" to accommodate glibc style.
81215         (check_result): Use less-confusing report format.  "long" -> "long int.
81216         (main): Likewise.
81217         Don't loop if the iteration overflows time_t.
81218         Allow a negative step in the iteration.
81219
81220 2003-07-06  Karl Berry  <karl@gnu.org>
81221
81222         * config/depcomp: update from automake.
81223         * config/config.sub: update from prep.
81224
81225 2003-07-03  Karl Berry  <karl@gnu.org>
81226
81227         * config/config.guess: update from prep.
81228
81229 2003-07-01  Paul Eggert  <eggert@twinsun.com>
81230
81231         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
81232         xreadlink.c now includes it unconditionally.
81233
81234 2003-07-01  Paul Eggert  <eggert@twinsun.com>
81235
81236         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
81237         having it depend on HAVE_SYS_TYPES_H.
81238
81239 2003-07-01  Bruno Haible  <bruno@clisp.org>
81240
81241         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
81242         <sys/types.h> should be sufficient.
81243         Reported by Paul Eggert.
81244
81245 2003-06-26  Karl Berry  <karl@gnu.org>
81246
81247         * config/depcomp: update from automake.
81248
81249 2003-06-26  Bruno Haible  <bruno@clisp.org>
81250
81251         * modules/human: Depend on module stdbool.
81252
81253 2003-06-25  Bruno Haible  <bruno@clisp.org>
81254
81255         * modules/readlink: New file.
81256         * modules/xreadlink: Depend on it.
81257         * MODULES.html.sh (func_all_modules): Add readlink.
81258
81259 2003-06-25  Bruno Haible  <bruno@clisp.org>
81260
81261         * m4/readlink.m4: New file.
81262
81263 2003-06-25  Bruno Haible  <bruno@clisp.org>
81264
81265         * lib/readlink.c: New file.
81266
81267 2003-06-22  Karl Berry  <karl@gnu.org>
81268
81269         * config/srclist.txt: update mkinstalldirs from automake.
81270         * config/mkinstalldirs: update.
81271
81272 2003-06-22  Bruno Haible  <bruno@clisp.org>
81273
81274         Portability to mingw32.
81275         * m4/ssize_t.m4: New file, from GNU gettext.
81276         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
81277         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
81278
81279 2003-06-22  Bruno Haible  <bruno@clisp.org>
81280
81281         * modules/safe-read: Add m4/ssize_t.m4.
81282         * modules/xreadlink: Add m4/ssize_t.m4.
81283
81284 2003-06-20  Bruno Haible  <bruno@clisp.org>
81285
81286         Assume C89, so PARAMS isn't needed.
81287         * lib/unicodeio.h (PARAMS): Remove.
81288         * lib/unicodeio.c: Don't use PARAMS.
81289
81290 2003-06-18  Karl Berry  <karl@gnu.org>
81291
81292         * config/config.{guess,sub}: update from prep.
81293
81294 2003-06-18  Jim Meyering  <jim@meyering.net>
81295
81296         Merge changes from coreutils.
81297         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
81298         Remove explicit declarations of xmalloc and realloc.
81299         Include xalloc.h.
81300         (read_utmp): Remove anachronistic cast of xmalloc.
81301
81302 2003-06-17  Paul Eggert  <eggert@twinsun.com>
81303
81304         Assume C89, so PARAMS isn't needed.
81305         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
81306         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
81307         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
81308         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
81309         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
81310         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
81311         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
81312         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
81313         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
81314         lib/xstrtod.h, lib/xstrtol.h: Likewise.
81315         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
81316         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
81317         no longer needed. Anyway, config.h should always be included before any
81318         other file.
81319
81320 2003-06-11  Simon Josefsson  <jas@extundo.com>
81321
81322         * modules/sysexits: New file.
81323         * MODULES.html.sh (func_all_modules): Add sysexits.
81324
81325 2003-06-11  Simon Josefsson  <jas@extundo.com>
81326
81327         * lib/sysexit_.h: New file.
81328
81329 2003-06-11  Derek Price  <derek@ximbiot.com>
81330
81331         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
81332         necessary.
81333
81334 2003-06-11  Bruno Haible  <bruno@clisp.org>
81335
81336         * m4/sysexits.m4: New file.
81337
81338 2003-06-10  Simon Josefsson  <jas@extundo.com>
81339
81340         * lib/argp.h: New file, from glibc.
81341         * lib/argp-ba.c: New file, from glibc.
81342         * lib/argp-eexst.c: New file, from glibc.
81343         * lib/argp-fmtstream.c: New file, from glibc.
81344         * lib/argp-fmtstream.h: New file, from glibc.
81345         * lib/argp-fs-xinl.c: New file, from glibc.
81346         * lib/argp-help.c: New file, from glibc.
81347         * lib/argp-namefrob.h: New file, from glibc.
81348         * lib/argp-parse.c: New file, from glibc.
81349         * lib/argp-pv.c: New file, from glibc.
81350         * lib/argp-pvh.c: New file, from glibc.
81351         * lib/argp-xinl.c: New file, from glibc.
81352
81353 2003-06-10  Simon Josefsson  <jas@extundo.com>
81354
81355         * modules/strchrnul: New file.
81356
81357 2003-06-10  Simon Josefsson  <jas@extundo.com>
81358
81359         * modules/argp: New file.
81360
81361 2003-06-10  Simon Josefsson  <jas@extundo.com>
81362
81363         * m4/strchrnul.m4: New file.
81364
81365 2003-06-10  Simon Josefsson  <jas@extundo.com>
81366
81367         * lib/strchrnul.h: New file.
81368         * lib/strchrnul.c: New file.
81369
81370 2003-06-10  Bruno Haible  <bruno@clisp.org>
81371
81372         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
81373
81374 2003-06-07  Karl Berry  <karl@gnu.org>
81375
81376         * config/config.{guess,sub}: update from prep.
81377
81378 2003-06-07  Jim Meyering  <jim@meyering.net>
81379
81380         * modules/strtod: Use $(...) notation, not @...@ for
81381         AC_REPLACE'd variables.
81382         * modules/localcharset: Likewise.
81383
81384 2003-06-07  Jim Meyering  <jim@meyering.net>
81385
81386         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
81387         in place of my name in the copyright comment.
81388         Remove definition and uses of __P.
81389
81390         From coreutils.
81391         * lib/stat.c: Don't declare xmalloc explicitly.
81392         Instead, include "xalloc.h".
81393         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
81394         xrealloc, and xcalloc return values.
81395         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
81396         Improve comment.
81397         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
81398
81399 2003-06-07  Bruno Haible  <bruno@clisp.org>
81400
81401         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
81402         avoid AC_CONFIG_LINKS.
81403         * modules/fnmatch (Makefile.am): Use explicit creation rule for
81404         fnmatch.h, to avoid AC_CONFIG_LINKS.
81405         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
81406
81407 2003-06-07  Bruno Haible  <bruno@clisp.org>
81408
81409         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
81410         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
81411         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
81412         directory.
81413         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
81414         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
81415         directory.
81416
81417 2003-06-06  Jim Meyering  <jim@meyering.net>
81418
81419         Merge from coreutils.
81420         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
81421         Consolidate declarations and initializations of *_base* locals.
81422
81423         Merge from coreutils.
81424         This avoids a core dump on systems without GNU putenv,
81425         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
81426         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
81427         (unsetenv): New static function, from GNU libc.
81428         (rpl_putenv): Use it.
81429
81430         * lib/modechange.c: Remove trailing blanks.
81431
81432         Merge from coreutils.
81433         * lib/fsusage.c: Remove declaration of statfs.
81434         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
81435
81436         * lib/posixtm.c: Include <stdbool.h> unconditionally.
81437
81438 2003-06-06  Jim Meyering  <jim@meyering.net>
81439
81440         * lib/stdbool_.h: Renamed from stdbool.h.in.
81441
81442 2003-06-06  Jim Meyering  <jim@meyering.net>
81443             Bruno Haible  <bruno@clisp.org>
81444
81445         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
81446         Adjust Makefile.am snippet not to redirect directly to target.
81447         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
81448
81449 2003-06-05  Paul Eggert  <eggert@twinsun.com>
81450
81451         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
81452         mismatch, look in future quarters as well as past.  This fixes a
81453         bug when processing fall-backwards gaps immediately after a long
81454         period of daylight-saving time.
81455
81456         * lib/mktime.c: Assume freestanding C89 or better.
81457         (HAVE_LIMITS_H): Remove.  Assume it's 1.
81458         (__P): Remove; not used.
81459         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
81460         (mktime, not_equal_tm, print_tm, check_result,
81461         main): Use prototypes.  Use const * where appropriate.
81462         (main): Fix typo in testing code that uncovered by above changes.
81463         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
81464
81465 2003-06-04  Paul Eggert  <eggert@twinsun.com>
81466
81467         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
81468         locale.h, localeconv.  This merges changes from coreutils.
81469
81470         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
81471         It can be removed after the next Autoconf is released.
81472         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
81473         needed.
81474
81475 2003-06-04  Paul Eggert  <eggert@twinsun.com>
81476
81477         * lib/mktime.c: Fix Debian bug 177940
81478         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
81479         (localtime_offset): Now long int, not time_t, because we want it
81480         to be guaranteed to be signed.  All uses changed.
81481         (__mktime_internal): If overflow would occur when adding offset,
81482         don't add it.
81483
81484         Merge 'human' changes from coreutils.  Rewrite to support
81485         locale-specific notations like thousands separators.
81486         * lib/human.c: Simplify authorship notice.
81487         Include human.h immediately after config.h.
81488         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
81489         <limits.h>: Do not include, since human.h does.
81490         (SIZE_MAX, UINTMAX_MAX): New macros.
81491         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
81492         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
81493         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
81494         (power_letter): Renamed from suffixes.
81495         (generate_suffix_backwards): Remove.
81496         (adjust_value): Now takes int style (because of human.h changes)
81497         and long double value (for greater precision on some platforms).
81498         (group_number): New function.
81499         (human_readable): Use it.  Use integer options, not enum.
81500         Put the options before the sizes in the arg list.
81501         Support all the new options.
81502         The old human_readable function has been removed;
81503         use inttostr.h instead.
81504         (human_readable, default_block_size, humblock):
81505         Use uintmax_t, not int, for block sizes.
81506         (human_readable_inexact, block_size_types): Remove.
81507         (block_size_opts): New constant.
81508         (human_options): Renamed from human_block_size, with new signature
81509         that allows block sizes up to UINTMAX_MAX.  All callers changed.
81510         * lib/human.h: Add copyright and authorship notice.
81511         Include <limits.h> and <stdbool.h> unconditionally.
81512         (PARAMS): Remove.  All uses removed.
81513         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
81514         (enum human_inexact_style): Remove tag; now a nameless enum.
81515         (human_floor, human_ceiling, human_round_to_even): Now have
81516         values 2, 0, 1 rather than -1, 1, 0.
81517         (human_group_digits, human_suppress_point_zero, human_autoscale,
81518         human_base_1024, human_SI, human_B): New constants.
81519         (human_readable_inexact, human_block_size): Remove.
81520         (human_readable): Size args are now uintmax_t, not int.
81521         (human_options): New decl.
81522
81523         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
81524         unnecessary now that we assume C89 or better.  This change
81525         imported from coreutils.
81526
81527         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
81528         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
81529         in the 2003-05-30 sync from glibc.
81530
81531         .h files should stand alone, but we shouldn't include <sys/types.h>
81532         if we can get away with just <stddef.h>.
81533
81534         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
81535         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
81536         rather than <sys/types.h>, as we merely need size_t.
81537         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
81538         to get size_t.
81539         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
81540         Include <stdio.h>, to get FILE.
81541         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
81542         memcasecmp.h has included <stddef.h> and all we need is size_t.
81543         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
81544         our interface, instead of including <sys/types.h>
81545
81546 2003-06-04  Paul Eggert  <eggert@twinsun.com>
81547
81548         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
81549         now, as glibc mktime is buggy on non-glibc systems.
81550
81551 2003-06-03  Karl Berry  <karl@gnu.org>
81552
81553         * config/config.sub: update from prep.
81554
81555 2003-06-02  Paul Eggert  <eggert@twinsun.com>
81556
81557         [from coreutils]
81558         Fix some minor time-related bugs with POSIX time arguments.
81559         Some valid time stamps were being rejected (notably -1, and
81560         time stamps before 1900 on 64-bit hosts).  And some invalid
81561         time stamps were being accepted, e.g. September 31.
81562
81563         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
81564         that we can return (time_t) -1 successfully.
81565         * lib/posixtm.c: Likewise.
81566         [HAVE_STDBOOL_H]: Include <stdbool.h>.
81567         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
81568         (t): Remove static var.
81569         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
81570         of static var.  All uses changed.
81571         (year): Do not reject years before 1900; they can occur with
81572         64-bit time_t.
81573         (posix_time_parse): Do not check for out-of-range components;
81574         that is now the caller's responsibility, since our checks were
81575         only approximations.
81576         (posixtime): Use mktime to check for out-of-range components,
81577         since it knows them exactly.
81578         If mktime returns (time_t) -1, check whether an error actually occurred
81579         by invoking localtime on -1.
81580         (main) [TEST_POSIXTIME]: Check for input data errors, and report
81581         posixtime failures better.
81582         Improve the test data (in comments only).
81583
81584 2003-06-02  Karl Berry  <karl@gnu.org>
81585
81586         * config/mkinstalldirs (version): new variable.
81587         (--version): new option.
81588         (usage): improve message.
81589
81590 2003-05-30  Karl Berry  <karl@gnu.org>
81591
81592         * lib/mktime.c: update from libc.
81593
81594 2003-05-30  Bruno Haible  <bruno@clisp.org>
81595
81596         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
81597         * config/config.rpath: Upgrade to gettext-0.12.1.
81598
81599 2003-05-30  Bruno Haible  <bruno@clisp.org>
81600
81601         * m4/gettext.m4: Upgrade to gettext-0.12.1.
81602         * m4/nls.m4: New file, from gettext-0.12.1.
81603         * m4/po.m4: New file, from gettext-0.12.1.
81604         * m4/progtest.m4: Upgrade to gettext-0.12.1.
81605
81606 2003-05-30  Bruno Haible  <bruno@clisp.org>
81607
81608         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
81609         * lib/localcharset.h: Likewise.
81610         * lib/localcharset.c: Likewise.
81611
81612 2003-05-29  Karl Berry  <karl@gnu.org>
81613
81614         * config/config.rpath: update from gettext.
81615
81616 2003-05-28  Paul Eggert  <eggert@twinsun.com>
81617
81618         Assume the headers required for C89 freestanding compilers.
81619         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
81620         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
81621         * m4/human.m4 (gl_HUMAN): Likewise.
81622         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
81623         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
81624         * m4/userspec.m4 (gl_USERSPEC): Likewise.
81625         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
81626         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81627         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
81628
81629 2003-05-28  Paul Eggert  <eggert@twinsun.com>
81630
81631         Assume the headers required for C89 freestanding compilers.
81632         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
81633         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
81634         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
81635         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
81636         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
81637         define, since <limits.h> is guaranteed to do that.
81638         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
81639         * lib/exclude.c: Include <stdbool.h> unconditionally.
81640         * lib/tempname.c: Include <stddef.h> unconditionally.
81641         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
81642         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
81643         <stddef.h> does that.
81644         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
81645         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
81646         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
81647         needed.
81648         * lib/xstrtol.c: Likewise.
81649         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
81650         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
81651
81652         * lib/addext.c (addext): Use assignment rather than cast, to avoid
81653         warnings on some platforms.
81654
81655         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
81656         arbitrarily.
81657
81658 2003-05-26  Jim Meyering  <jim@meyering.net>
81659
81660         Merge in a change from coreutils:
81661         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
81662         that is guaranteed to be `no'.  Use `no_such_member' to indicate
81663         that condition, rather than `-1' which is slightly misleading.
81664         Change the name of the cache variable to have the gl_ prefix.
81665         Prompted by a patch from Richard Dawe for DJGPP.
81666
81667 2003-05-24  Karl Berry  <karl@gnu.org>
81668
81669         * config/config.guess: update from prep.
81670
81671 2003-05-22  Karl Berry  <karl@gnu.org>
81672
81673         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
81674
81675 2003-05-20  Karl Berry  <karl@gnu.org>
81676
81677         * config/config.guess: update from prep.
81678
81679 2003-05-18  Karl Berry  <karl@gnu.org>
81680
81681         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
81682         might actually be set by the user.
81683
81684         * config/depcomp, install-sh, mdate-sh: update from automake.
81685
81686 2003-05-17  Bruno Haible  <bruno@clisp.org>
81687
81688         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
81689         invalid expansion for AC_EGREP_CPP.
81690         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
81691         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
81692         Suggested by Akim Demaille <akim@epita.fr> in
81693         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
81694
81695 2003-05-12  Jim Meyering  <jim@meyering.net>
81696
81697         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
81698         the space-padded-by-default conversion specifiers, %e, %k, %l.
81699
81700 2003-05-12  Bruno Haible  <bruno@clisp.org>
81701
81702         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
81703         the string is longer than 4 KB.
81704
81705 2003-05-11  Karl Berry  <karl@gnu.org>
81706
81707         * config/config.{guess,sub}: update from prep.
81708
81709 2003-05-09  Bruno Haible  <bruno@clisp.org>
81710
81711         * modules/error: Add m4/strerror_r.m4 to file list.
81712
81713 2003-05-03  Bruno Haible  <bruno@clisp.org>
81714
81715         Upgrade to Unicode-4.0.
81716         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
81717         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
81718         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
81719         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
81720         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
81721         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
81722         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
81723         Change width of U+E0100..U+E01EF from 1 to 0.
81724
81725 2003-04-25  Jim Meyering  <jim@meyering.net>
81726
81727         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
81728         of type size_t, not int.
81729
81730 2003-04-25  Bruno Haible  <bruno@clisp.org>
81731
81732         * lib/copy-file.c: Include <stddef.h>, for size_t.
81733
81734 2003-04-21  Paul Eggert  <eggert@twinsun.com>
81735
81736         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
81737         code which expansion is under static control.  Patch imported from
81738         Akim Demaille's patch to Bison; see
81739         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
81740
81741 2003-04-14  Bruno Haible  <bruno@clisp.org>
81742
81743         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
81744
81745 2003-04-11  Jim Meyering  <jim@meyering.net>
81746
81747         Merge changes from Coreutils.
81748
81749         2003-03-22  Jim Meyering  <jim@meyering.net>
81750
81751         * lib/strftime.c (widen): Cast alloca return value to proper type.
81752
81753         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
81754
81755         From GNU libc.
81756         * lib/strftime.c (my_strftime): Handle very large width
81757         specifications for numeric values correctly.  Improve checks for
81758         overflow.
81759
81760         2003-01-19  Jim Meyering  <jim@meyering.net>
81761
81762         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
81763         definitions.
81764         (nl_get_alt_digit) [! defined my_strftime]: Define.
81765         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
81766         _nl_get_alt_digit and _nl_get_walt_digit.
81767
81768         * lib/strftime.c (my_strftime): Merge in locale-related changes from
81769         libc. These changes have no effect outside of _LIBC.
81770
81771 2003-04-10  Bruno Haible  <bruno@clisp.org>
81772
81773         * modules/findprog: New file.
81774         * MODULES.html.sh (func_all_modules): Add it.
81775
81776 2003-04-10  Bruno Haible  <bruno@clisp.org>
81777
81778         * m4/findprog.m4: New file.
81779         * m4/eaccess.m4: New file.
81780
81781 2003-04-10  Bruno Haible  <bruno@clisp.org>
81782
81783         * lib/findprog.h: New file, from GNU gettext.
81784         * lib/findprog.c: New file, from GNU gettext.
81785
81786 2003-04-05  Jim Meyering  <jim@meyering.net>
81787
81788         Merge changes from Coreutils.
81789
81790         * lib/exclude.h (PARAMS): Remove definition and uses.
81791         * lib/exclude.c: Remove uses of `PARAMS'.
81792
81793         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
81794         Add test-cases for DOS filenames. Declare program_name.
81795         (main): Set up program_name.  Patch by Rich Dawe.
81796
81797         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
81798         error from mntctl.
81799         Use mntctl's return value to drive the entry-processing loop, since
81800         we can't rely on the value of the vmt_length member in the last
81801         entry.  On some systems doing so could result in exhausting
81802         virtual memory.  Based in part on a patch from Mike Jetzer.
81803
81804 2003-04-04  Bruno Haible  <bruno@clisp.org>
81805
81806         * modules/linebreak: New file.
81807         * MODULES.html.sh (func_all_modules): Add it.
81808
81809 2003-04-04  Bruno Haible  <bruno@clisp.org>
81810
81811         * m4/linebreak.m4: New file.
81812
81813 2003-04-04  Bruno Haible  <bruno@clisp.org>
81814
81815         * lib/linebreak.h: New file, from GNU gettext.
81816         * lib/linebreak.c: New file, from GNU gettext with slight
81817         modifications.
81818         * lib/lbrkprop.h: New file, from GNU gettext.
81819
81820 2003-04-03  Bruno Haible  <bruno@clisp.org>
81821
81822         * modules/utf8-ucs4: New file.
81823         * modules/utf16-ucs4: New file.
81824         * modules/ucs4-utf8: New file.
81825         * modules/ucs4-utf16: New file.
81826         * MODULES.html.sh (func_all_modules): Add them.
81827
81828 2003-04-03  Bruno Haible  <bruno@clisp.org>
81829
81830         * m4/utf-ucs4.m4: New file.
81831         * m4/ucs4-utf.m4: New file.
81832
81833 2003-04-03  Bruno Haible  <bruno@clisp.org>
81834
81835         * lib/utf8-ucs4.h: New file, from GNU gettext.
81836         * lib/utf16-ucs4.h: New file, from GNU gettext.
81837         * lib/ucs4-utf8.h: New file, from GNU gettext.
81838         * lib/ucs4-utf16.h: New file, from GNU gettext.
81839
81840 2003-04-02  Bruno Haible  <bruno@clisp.org>
81841
81842         * modules/binary-io: New file.
81843         * MODULES.html.sh (func_all_modules): Add it.
81844
81845 2003-04-02  Bruno Haible  <bruno@clisp.org>
81846
81847         * lib/binary-io.h: New file, from GNU gettext.
81848
81849 2003-04-01  Bruno Haible  <bruno@clisp.org>
81850
81851         * modules/pathname: New file.
81852         * MODULES.html.sh (func_all_modules): Add it.
81853
81854 2003-04-01  Bruno Haible  <bruno@clisp.org>
81855
81856         * lib/pathname.h: New file, from GNU gettext.
81857         * lib/concatpath.c: New file, from GNU gettext.
81858
81859 2003-03-30  Bruno Haible  <bruno@clisp.org>
81860
81861         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
81862
81863 2003-03-30  Bruno Haible  <bruno@clisp.org>
81864
81865         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
81866         function chown() doesn't exist.
81867
81868 2003-03-28  Bruno Haible  <bruno@clisp.org>
81869
81870         * modules/copy-file: New file.
81871         * MODULES.html.sh (func_all_modules): Add it.
81872
81873 2003-03-28  Bruno Haible  <bruno@clisp.org>
81874
81875         * m4/copy-file.m4: New file.
81876
81877 2003-03-28  Bruno Haible  <bruno@clisp.org>
81878
81879         * lib/copy-file.h: New file, from GNU gettext.
81880         * lib/copy-file.c: New file, from GNU gettext.
81881
81882 2003-03-18  Jim Meyering  <jim@meyering.net>
81883
81884         * lib/quote.c (quote_n): Fix typo in comment.
81885
81886 2003-03-18  Bruno Haible  <bruno@clisp.org>
81887
81888         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
81889         checking.
81890         * m4/onceonly_2_57.m4: Likewise.
81891
81892 2003-03-17  Bruno Haible  <bruno@clisp.org>
81893
81894         * m4/onceonly.m4: Require autoconf 2.54 or newer.
81895         (m4_quote): Remove macro.
81896         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
81897
81898 2003-03-14  Jim Meyering  <jim@meyering.net>
81899
81900         Merge changes from Coreutils.
81901         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
81902         to be const, in order to avoid warnings.
81903         (obstack_room): Likewise.
81904         (obstack_empty_p): Likewise.
81905
81906 2003-03-14  Bruno Haible  <bruno@clisp.org>
81907
81908         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
81909         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
81910
81911 2003-03-13  Paul Eggert  <eggert@twinsun.com>
81912
81913         Merge changes from Bison.
81914         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
81915         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
81916         when compiling Bison 1.875's `bitset bset = obstack_alloc
81917         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
81918         * lib/hash.c: Include <stdbool.h> unconditionally.
81919
81920 2003-03-13  Paul Eggert  <eggert@twinsun.com>
81921
81922         * m4/onceonly.m4 (m4_quote): New macro.
81923         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
81924         Quote AC_FOREACH variable-expansions properly.
81925
81926 2003-03-13  Paul Eggert  <eggert@twinsun.com>
81927
81928         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
81929
81930 2003-03-09  Paul Eggert  <eggert@twinsun.com>
81931
81932         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
81933         Reported by Bruce Becker; see:
81934         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
81935
81936 2003-03-03  Paul Eggert  <eggert@twinsun.com>
81937             Bruno Haible  <bruno@clisp.org>
81938
81939         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
81940         Reported by John Hughes, see
81941         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
81942
81943 2003-02-20  Bruno Haible  <bruno@clisp.org>
81944
81945         * MODULES.html.sh (func_all_modules): Add poll.
81946
81947 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
81948
81949         * modules/poll: New file.
81950
81951 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
81952
81953         * lib/poll_.h: New file.
81954         * lib/poll.c: New file.
81955
81956 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
81957
81958         * m4/poll.m4: New file.
81959
81960 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
81961
81962         * modules/mathl: New file.
81963
81964 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
81965
81966         * lib/mathl.h: New file.
81967         * lib/acosl.c: New file.
81968         * lib/asinl.c: New file.
81969         * lib/atanl.c: New file.
81970         * lib/ceill.c: New file.
81971         * lib/cosl.c: New file.
81972         * lib/expl.c: New file.
81973         * lib/floorl.c: New file.
81974         * lib/frexpl.c: New file.
81975         * lib/ldexpl.c: New file.
81976         * lib/logl.c: New file.
81977         * lib/sincosl.c: New file.
81978         * lib/sinl.c: New file.
81979         * lib/sqrtl.c: New file.
81980         * lib/tanl.c: New file.
81981         * lib/trigl.c: New file.
81982         * lib/trigl.h: New file.
81983
81984 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
81985
81986         * m4/mathl.m4: New file.
81987
81988 2003-02-18  Bruno Haible  <bruno@clisp.org>
81989
81990         * MODULES.html.sh (func_all_modules): Add mathl.
81991
81992 2003-02-17  Bruno Haible  <bruno@clisp.org>
81993
81994         * modules/mkdtemp: New module.
81995         * MODULES.html.sh (func_all_modules): Add it.
81996
81997 2003-02-17  Bruno Haible  <bruno@clisp.org>
81998
81999         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
82000
82001 2003-02-17  Bruno Haible  <bruno@clisp.org>
82002
82003         * lib/mkdtemp.h: New file, from GNU gettext.
82004         * lib/mkdtemp.c: New file, from GNU gettext.
82005
82006 2003-02-02  Jim Meyering  <jim@meyering.net>
82007
82008         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
82009         e.g. glibc-2.2.93.
82010
82011 2003-01-31  Bruno Haible  <bruno@clisp.org>
82012
82013         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
82014         'rpl_rename'.
82015         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
82016         'rpl_strnlen'.
82017         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
82018         'rpl_strtod'.
82019         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
82020         'rpl_utime'.
82021
82022 2003-01-31  Bruno Haible  <bruno@clisp.org>
82023
82024         * lib/rename.c: #undef rename before defining rpl_rename.
82025         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
82026
82027 2003-01-30  Bruno Haible  <bruno@clisp.org>
82028
82029         * modules/vasnprintf, modules/vasprintf: New modules.
82030         * MODULES.html.sh (func_all_modules): Add them.
82031
82032 2003-01-30  Bruno Haible  <bruno@clisp.org>
82033
82034         * m4/signed.m4: New file, from GNU gettext.
82035         * m4/longdouble.m4: New file, from GNU gettext.
82036         * m4/wchar_t.m4: New file, from GNU gettext.
82037         * m4/wint_t.m4: New file, from GNU gettext.
82038         * m4/vasnprintf.m4: New file.
82039         * m4/vasprintf.m4: New file.
82040
82041 2003-01-30  Bruno Haible  <bruno@clisp.org>
82042
82043         * lib/printf-args.h: New file, from GNU gettext.
82044         * lib/printf-args.c: New file, from GNU gettext.
82045         * lib/printf-parse.h: New file, from GNU gettext.
82046         * lib/printf-parse.c: New file, from GNU gettext.
82047         * lib/vasnprintf.h: New file, from GNU gettext.
82048         * lib/vasnprintf.c: New file, from GNU gettext.
82049         * lib/asnprintf.c: New file, from GNU gettext.
82050         * lib/vasprintf.h: New file, from GNU gettext with modifications.
82051         * lib/vasprintf.c: New file, from GNU gettext.
82052         * lib/asprintf.c: New file, from GNU gettext.
82053
82054 2003-01-29  Bruno Haible  <bruno@clisp.org>
82055
82056         * modules/stpncpy: New module.
82057         * MODULES.html.sh (func_all_modules): Add it.
82058
82059 2003-01-29  Bruno Haible  <bruno@clisp.org>
82060
82061         * m4/stpncpy.m4: New file.
82062
82063 2003-01-29  Bruno Haible  <bruno@clisp.org>
82064
82065         * lib/stpncpy.h: New file, from GNU gettext with modifications.
82066         * lib/stpncpy.c: New file, from GNU gettext with modifications.
82067
82068 2003-01-28  Bruno Haible  <bruno@clisp.org>
82069
82070         * modules/c-ctype: New module.
82071         * MODULES.html.sh (func_all_modules): Add it.
82072
82073 2003-01-28  Bruno Haible  <bruno@clisp.org>
82074
82075         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
82076         Paul Eggert.
82077         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
82078         Paul Eggert.
82079
82080 2003-01-27  Bruno Haible  <bruno@clisp.org>
82081
82082         * modules/xsetenv: New module.
82083         * MODULES.html.sh (func_all_modules): Add it.
82084
82085 2003-01-27  Bruno Haible  <bruno@clisp.org>
82086
82087         * lib/xsetenv.h: New file, from GNU gettext.
82088         * lib/xsetenv.c: New file, from GNU gettext.
82089
82090 2003-01-23  Jim Meyering  <jim@meyering.net>
82091
82092         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
82093         from working on systems without dirfd (at least Irix and OSF1/Tru64).
82094
82095 2003-01-23  Bruno Haible  <bruno@clisp.org>
82096
82097         * modules/minmax: New module.
82098         * MODULES.html.sh (func_all_modules): Add it.
82099
82100 2003-01-23  Bruno Haible  <bruno@clisp.org>
82101
82102         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
82103         Eggert.
82104
82105 2003-01-22  Bruno Haible  <bruno@clisp.org>
82106
82107         * modules/exit: New module.
82108         * MODULES.html.sh (func_all_modules): Add it.
82109
82110 2003-01-22  Bruno Haible  <bruno@clisp.org>
82111
82112         * lib/exit.h: New file, from GNU gettext.
82113
82114 2003-01-19  Bruno Haible  <bruno@clisp.org>
82115
82116         * gnulib-tool: Recognize option --extract-maintainer.
82117         (func_get_maintainer): New function.
82118         * modules/*: Add Maintainer entry.
82119
82120 2003-01-16  Jim Meyering  <jim@meyering.net>
82121
82122         * m4/regex.m4: The `regex' struct is both input and output.
82123         Initialize it before each use.  Patch by Tim Waugh.
82124
82125 2003-01-16  Bruno Haible  <bruno@clisp.org>
82126
82127         * MODULES.html.sh: Add a table of contents. Add the module name as
82128         leftmost column. Add hyperlinks.
82129
82130 2003-01-15  Bruno Haible  <bruno@clisp.org>
82131
82132         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
82133
82134 2003-01-15  Bruno Haible  <bruno@clisp.org>
82135
82136         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
82137         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
82138         suffix.
82139
82140 2003-01-15  Bruno Haible  <bruno@clisp.org>
82141
82142         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
82143
82144 2003-01-15  Bruno Haible  <bruno@clisp.org>
82145
82146         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
82147         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
82148
82149 2003-01-14  Jim Meyering  <jim@meyering.net>
82150
82151         * lib/same.c (same_name): Tweak a comment.
82152
82153 2003-01-14  Bruno Haible  <bruno@clisp.org>
82154
82155         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
82156         when a string comparison is sufficient.
82157
82158 2003-01-14  Bruno Haible  <bruno@clisp.org>
82159
82160         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
82161         'unsigned int'.
82162
82163 2003-01-14  Bruno Haible  <bruno@clisp.org>
82164
82165         * lib/hash-pjw.c: Add comment about low quality of this function.
82166
82167 2003-01-13  Bruno Haible  <bruno@clisp.org>
82168
82169         * modules/stpcpy: Distribute lib/stpcpy.h.
82170         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
82171
82172 2003-01-13  Bruno Haible  <bruno@clisp.org>
82173
82174         * modules/*: Add a description.
82175         * modules/strpbrk: Fix Makefile.am snippet.
82176         * modules/strtoimax: Fix dependencies.
82177         * modules/strtoumax: Likewise.
82178
82179 2003-01-13  Bruno Haible  <bruno@clisp.org>
82180
82181         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
82182         * modules/alloca (Makefile.am): All object files depend on alloca.h.
82183         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
82184
82185 2003-01-13  Bruno Haible  <bruno@clisp.org>
82186
82187         * gnulib-tool (func_create_testdir): Store config/* files in the main
82188         directory.
82189         * config.rpath: Move to ...
82190         * config/config.rpath: ... here.
82191         * modules/gettext: Contains config/config.rpath, not config.rpath.
82192         * modules/iconv: Likewise.
82193
82194 2003-01-12  Paul Eggert  <eggert@twinsun.com>
82195
82196         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
82197         to avoid collisions with libcurses and libreadline.
82198
82199         * m4/getstr.m4: Remove.
82200         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
82201
82202 2003-01-12  Paul Eggert  <eggert@twinsun.com>
82203
82204         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
82205         to avoid collisions with libcurses and libreadline.
82206
82207         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
82208         * lib/getstr.h, getstr.c: Remove.
82209         * lib/getline.c: Include "getline.h", to check interface.
82210         Move body of old getstr.c here: this defines MIN_CHUNK and
82211         declares getdelim2, which is renamed from getstr.
82212         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
82213
82214         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
82215         All uses changed.
82216         * lib/linebuffer.h: Likewise.
82217         (readline): Remove backward-compatibility macro.
82218
82219 2003-01-12  Paul Eggert  <eggert@twinsun.com>
82220
82221         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
82222         to avoid collisions with libcurses and libreadline.
82223         * getstr: Remove.
82224         * MODULES.html.sh: Remove getstr.
82225         * modules/getline: Depend on unlocked-io, not getstr.
82226
82227 2003-01-12  Jim Meyering  <jim@meyering.net>
82228
82229         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
82230
82231 2003-01-10  Bruno Haible  <bruno@clisp.org>
82232
82233         * modules/alloca: Change Makefile.am requirements. Simplify Include
82234         requirements. Add lib/alloca_.h to file list.
82235
82236 2003-01-10  Bruno Haible  <bruno@clisp.org>
82237
82238         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
82239
82240 2003-01-10  Bruno Haible  <bruno@clisp.org>
82241
82242         * lib/alloca_.h: New file.
82243         * lib/getdate.y: Unconditionally include alloca.h.
82244         * lib/makepath.c: Likewise.
82245         * lib/setenv.c: Likewise.
82246         * lib/userspec.c: Likewise.
82247
82248 2003-01-09  Karl Berry  <karl@gnu.org>
82249
82250         * MODULES.html.sh: include `dirname $0` in PATH, to find
82251         gnulib-tool.
82252
82253 2003-01-09  Bruno Haible  <bruno@clisp.org>
82254
82255         * modules/stdbool: Change configure.ac, Makefile.am requirements.
82256         Simplify Include requirements. Add lib/stdbool.h.in to file list.
82257
82258 2003-01-09  Bruno Haible  <bruno@clisp.org>
82259
82260         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
82261
82262 2003-01-09  Bruno Haible  <bruno@clisp.org>
82263
82264         * lib/stdbool.h.in: New file.
82265
82266 2003-01-09  Bruno Haible  <bruno@clisp.org>
82267
82268         * gnulib-tool (func_all_modules): Ignore files ending in ~.
82269         * MODULES.html.sh: Likewise.
82270
82271 2003-01-08  Jim Meyering  <jim@meyering.net>
82272
82273         * lib/full-write.c: Undefine and define-away `const' after inclusion
82274         of errno.h, not before.  Suggestion from Bruno Haible.
82275
82276 2003-01-08  Bruno Haible  <bruno@clisp.org>
82277
82278         * modules/full-read: Depend on full-write.
82279
82280 2003-01-08  Bruno Haible  <bruno@clisp.org>
82281
82282         * lib/safe-read.c: Include specification header first, to ensure its
82283         selfcontainedness.
82284         * lib/full-write.c: Likewise.
82285
82286 2003-01-07  Jim Meyering  <jim@meyering.net>
82287
82288         * lib/full-write.c: Rework so that it may serve to define full_read,
82289         too.
82290         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
82291
82292 2003-01-07  Bruno Haible  <bruno@clisp.org>
82293
82294         * lib/strtoimax.c: Include <stdint.h> as an alternative to
82295         <inttypes.h>.
82296         * lib/xstrtol.h: Likewise.
82297         * lib/xstrtoimax.c: Likewise.
82298         * lib/xstrtoumax.c: Likewise.
82299         * lib/human.h: Likewise.
82300
82301         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
82302         on systems that have <inttypes.h> but not <stdint.h>.
82303
82304 2003-01-07  Bruno Haible  <bruno@clisp.org>
82305
82306         * MODULES.html.sh: Add copyright notice.
82307         (missed_files): Omit CVS directory entries.
82308         (func_module): Make it work with sed-3.02.
82309         * MODULES.txt: Remove file.
82310
82311 2003-01-06  Jim Meyering  <jim@meyering.net>
82312
82313         * lib/version-etc.c: Update year in translatable copyright string.
82314
82315 2003-01-03  Karl Berry  <karl@gnu.org>
82316
82317         * config/config.{guess,sub}: update from prep.
82318
82319 2003-01-02  Karl Berry  <karl@gnu.org>
82320
82321         * doc/COPYING.DOC: belatedly updated to 1.2.
82322
82323 2003-01-01  Karl Berry  <karl@gnu.org>
82324
82325         * gnulib-tool (func_verify_module): report module name $module in
82326         error message, not $1.
82327         * gnulib-tool (create-testdir): don't complain if destdir couldn't
82328         be created, only if it doesn't exist.
82329         * gnulib-tool (last_checkin_date): don't expand the $Date here.
82330
82331 2002-12-31  Paul Eggert  <eggert@twinsun.com>
82332
82333         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
82334
82335 2002-12-31  Paul Eggert  <eggert@twinsun.com>
82336
82337         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
82338         memcmp if strcoll doesn't work.
82339
82340 2002-12-31  Bruno Haible  <bruno@clisp.org>
82341
82342         * lib/utime.c (utime_null): No need to call ftruncate if the file was
82343         nonempty.
82344
82345 2002-12-31  Bruno Haible  <bruno@clisp.org>
82346
82347         * lib/memcoll.c (STRCOLL): New macro.
82348         (memcoll): Use it.
82349
82350 2002-12-31  Bruno Haible  <bruno@clisp.org>
82351
82352         * lib/localcharset.h: New file.
82353         * lib/localcharset.c: Include it.
82354         * lib/unicodeio.c: Likewise.
82355
82356 2002-12-31  Bruno Haible  <bruno@clisp.org>
82357
82358         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
82359         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
82360
82361 2002-12-31  Bruno Haible  <bruno@clisp.org>
82362
82363         * lib/getline.h: Include <stddef.h>, for size_t.
82364
82365         * lib/unicodeio.h: Include <stddef.h>, for size_t.
82366         * lib/unicodeio.c: Don't include <stddef.h>.
82367
82368 2002-12-31  Bruno Haible  <bruno@clisp.org>
82369
82370         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
82371         HAVE_TM_ZONE.
82372
82373 2002-12-24  Karl Berry  <karl@gnu.org>
82374
82375         * config/config.guess: update from prep.
82376
82377 2002-12-24  Bruno Haible  <bruno@clisp.org>
82378
82379         General infrasructure.
82380         * m4/README: Rewritten.
82381         * m4/onceonly.m4: New file.
82382         * m4/onceonly_2_57.m4: New file.
82383
82384         Module atexit.
82385         * m4/atexit.m4: New file.
82386
82387         Module strtod.
82388         * m4/strtod.m4: New file.
82389
82390         Module strtol.
82391         * m4/strtol.m4: New file.
82392
82393         Module strtoul.
82394         * m4/strtoul.m4: New file.
82395
82396         Module memchr.
82397         * m4/memchr.m4: New file.
82398
82399         Module memcmp.
82400         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
82401         (jm_FUNC_MEMCMP): Invoke it.
82402
82403         Module memcpy.
82404         * m4/memcpy.m4: New file.
82405
82406         Module memmove.
82407         * m4/memmove.m4: New file.
82408
82409         Module memset.
82410         * m4/memset.m4: New file.
82411
82412         Module strcspn.
82413         * m4/strcspn.m4: New file.
82414
82415         Module strpbrk.
82416         * m4/strpbrk.m4: New file.
82417
82418         Module strstr.
82419         * m4/strstr.m4: New file.
82420
82421         Module strerror.
82422         * m4/strerror.m4: New file.
82423
82424         Module mktime.
82425         * m4/mktime.m4: Renamed from jm-mktime.m4.
82426         (gl_PREREQ_MKTIME): New macro.
82427         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
82428
82429         Module malloc.
82430         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
82431         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
82432         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
82433
82434         Module realloc.
82435         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
82436         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
82437         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
82438
82439         Module strftime.
82440         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
82441         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
82442         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
82443         gl_TM_GMTOFF.
82444         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
82445
82446         Module xalloc.
82447         * m4/xalloc.m4: New file.
82448
82449         Module alloca.
82450         * m4/alloca.m4: New file.
82451
82452         Module putenv.
82453         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
82454         (jm_FUNC_PUTENV): Invoke it.
82455
82456         Module setenv.
82457         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
82458         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
82459         when invoked twice.
82460         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
82461         gt_FUNC_SETENV.
82462
82463         Module memrchr.
82464         * m4/memrchr.m4: New file.
82465
82466         Module stpcpy.
82467         * m4/stpcpy.m4: New file.
82468
82469         Module strcase.
82470         * m4/strcase.m4: New file.
82471
82472         Module strdup.
82473         * m4/strdup.m4: New file.
82474
82475         Module strnlen.
82476         * m4/strnlen.m4: New file.
82477
82478         Module strndup.
82479         * m4/strndup.m4: New file.
82480
82481         Module xstrtod.
82482         * m4/xstrtod.m4: New file.
82483
82484         Module xstrtol.
82485         * m4/xstrtol.m4: New file.
82486
82487         Module getdate.
82488         * m4/getdate.m4: New file.
82489
82490         Module unlocked-io.
82491         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
82492         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
82493         * m4/jm-glibc-io.m4n: Remove file.
82494
82495         Module long-options.
82496         * m4/long-options.m4: New file.
82497
82498         Module md5.
82499         * m4/md5.m4: New file.
82500
82501         Module sha.
82502         * m4/sha.m4: New file.
82503
82504         Module getstr.
82505         * m4/getstr.m4: New file.
82506
82507         Module getline.
82508         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
82509         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
82510         <sys/types.h>, for size_t. Use the function name gnu_getline, not
82511         simply getline. Infoke gl_PREREQ_GETLINE.
82512
82513         Module obstack.
82514         * m4/obstack.m4: New file.
82515
82516         Module hash.
82517         * m4/hash.m4: New file.
82518
82519         Module readtokens.
82520         * m4/readtokens.m4: New file.
82521
82522         Module strverscmp.
82523         * m4/strverscmp.m4: New file.
82524
82525         Module stdbool.
82526         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
82527         OSF/1.
82528
82529         Module strtoll.
82530         * m4/strtoll.m4: New file.
82531
82532         Module strtoull.
82533         * m4/strtoull.m4: New file.
82534
82535         Module strtoimax.
82536         * m4/strtoimax.m4: New file.
82537
82538         Module strtoumax.
82539         * m4/strtoumax.m4: New file.
82540
82541         Module xstrtoimax.
82542         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
82543         jm_AC_PREREQ_XSTRTOIMAX.
82544         Moved the strtol prerequisites to strtol.m4.
82545         Moved the strtoll prerequisites to strtoll.m4.
82546         Moved the strtoimax prerequisites to strtoimax.m4.
82547
82548         Module xstrtoumax.
82549         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
82550         jm_AC_PREREQ_XSTRTOUMAX.
82551         Moved the strtoul prerequisites to strtoul.m4.
82552         Moved the strtoull prerequisites to strtoull.m4.
82553         Moved the strtoumax prerequisites to strtoumax.m4.
82554
82555         Module chown.
82556         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
82557         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
82558
82559         Module dup2.
82560         * m4/dup2.m4: New file.
82561
82562         Module ftruncate.
82563         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
82564         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
82565
82566         Module getgroups.
82567         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
82568         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
82569
82570         Module gettimeofday.
82571         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
82572         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
82573         gl_PREREQ_GETTIMEOFDAY.
82574
82575         Module mkdir.
82576         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
82577         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
82578
82579         Module mkstemp.
82580         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
82581         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
82582         jm_AC_TYPE_UINTMAX_T.
82583         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
82584
82585         Module stat.
82586         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
82587         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
82588
82589         Module lstat.
82590         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
82591         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
82592
82593         Module timespec.
82594         * m4/timespec.m4 (gl_TIMESPEC): New macro.
82595         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
82596         * m4/st_mtim.m4: Indentation.
82597
82598         Module nanosleep.
82599         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
82600         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
82601         gl_PREREQ_NANOSLEEP.
82602
82603         Module regex.
82604         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
82605         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
82606         (gl_REGEX): New macro.
82607
82608         Module rename.
82609         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
82610         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
82611
82612         Module rmdir.
82613         * m4/rmdir.m4: New file.
82614
82615         Module utime.
82616         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
82617         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
82618         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
82619
82620         Module dirname.
82621         * m4/dirname.m4: New file.
82622
82623         Module getopt.
82624         * m4/getopt.m4: New file.
82625
82626         Module unistd-safer.
82627         * m4/unistd-safer.m4: New file.
82628
82629         Module fnmatch.
82630         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
82631         declaration.
82632         (gl_PREREQ_FNMATCH_EXTRA): New macro.
82633         (gl_FUNC_FNMATCH_POSIX): New macro.
82634         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
82635         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
82636         simply fnmatch.
82637
82638         Module exclude.
82639         * m4/exclude.m4: New file.
82640
82641         Module human.
82642         * m4/human.m4: New file.
82643
82644         Module acl.
82645         * m4/acl.m4: Nop.
82646
82647         Module backupfile.
82648         * m4/backupfile.m4: New file.
82649         * m4/d-ino.m4: Indentation.
82650
82651         Module fsusage.
82652         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
82653         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
82654         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
82655
82656         Module dirfd.
82657         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
82658         requirements.
82659
82660         Module euidaccess.
82661         * m4/euidaccess.m4: New file.
82662
82663         Module file-type.
82664         * m4/file-type.m4: New file.
82665
82666         Module fileblocks.
82667         * m4/fileblocks.m4: New file.
82668
82669         Module filemode.
82670         * m4/filemode.m4: New file.
82671
82672         Module isdir.
82673         * m4/isdir.m4: New file.
82674
82675         Module lchown.
82676         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
82677         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
82678
82679         Module makepath.
82680         * m4/makepath.m4: New file.
82681
82682         Module modechange.
82683         * m4/modechange.m4: New file.
82684
82685         Module mountlist.
82686         * m4/mountlist.m4: New file.
82687         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
82688         Indentation.
82689
82690         Module path-concat.
82691         * m4/path-concat.m4: New file.
82692
82693         Module pathmax.
82694         * m4/pathmax.m4: New file.
82695
82696         Module same.
82697         * m4/same.m4: New file.
82698
82699         Module save-cwd.
82700         * m4/save-cwd.m4: New file.
82701
82702         Module savedir.
82703         * m4/savedir.m4: New file.
82704
82705         Module xgetcwd.
82706         * m4/xgetcwd.m4: New file.
82707         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
82708
82709         Module xreadlink.
82710         * m4/xreadlink.m4: New file.
82711
82712         Module safe-read.
82713         * m4/safe-read.m4: New file.
82714
82715         Module safe-write.
82716         * m4/safe-write.m4: New file.
82717
82718         Module closeout.
82719         * m4/closeout.m4: New file.
82720
82721         Module stdio-safer.
82722         * m4/stdio-safer.m4: New file.
82723
82724         Module getpass.
82725         * m4/getpass.m4: New file.
82726
82727         Module getugroups.
82728         * m4/getugroups.m4: New file.
82729
82730         Module group-member.
82731         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
82732         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
82733
82734         Module idcache.
82735         * m4/idcache.m4: New file.
82736
82737         Module userspec.
82738         * m4/userspec.m4: New file.
82739
82740         Module gettime.
82741         * m4/clock_time.m4: New file.
82742         * m4/gettime.m4: New file.
82743
82744         Module settime.
82745         * m4/settime.m4: New file.
82746
82747         Module posixtm.
82748         * m4/posixtm.m4: New file.
82749
82750         Module gethostname.
82751         * m4/gethostname.m4: New file.
82752
82753         Module canon-host.
82754         * m4/canon-host.m4: New file.
82755
82756         Module gettext.
82757         * m4/codeset.m4: New file, from gettext-0.11.5.
82758         * m4/gettext.m4: New file, from gettext-0.11.5.
82759         * m4/glibc21.m4: New file, from gettext-0.11.5.
82760         * m4/iconv.m4: New file, from gettext-0.11.5.
82761         * m4/intdiv0.m4: New file, from gettext-0.11.5.
82762         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
82763         * m4/inttypes.m4: New file, from gettext-0.11.5.
82764         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
82765         * m4/isc-posix.m4: New file, from gettext-0.11.5.
82766         * m4/lcmessage.m4: New file, from gettext-0.11.5.
82767         * m4/lib-ld.m4: New file, from gettext-0.11.5.
82768         * m4/lib-link.m4: New file, from gettext-0.11.5.
82769         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
82770         * m4/progtest.m4: New file, from gettext-0.11.5.
82771         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
82772         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
82773         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
82774
82775         Module localcharset.
82776         * m4/localcharset.m4: New file.
82777
82778         Module hard-locale.
82779         * m4/hard-locale.m4: New file.
82780
82781         Module mbswidth.
82782         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
82783         onceonly macros.
82784         * m4/mbrtowc.m4: Add comment.
82785
82786         Module memcasecmp.
82787         * m4/memcasecmp.m4: New file.
82788
82789         Module memcoll.
82790         * m4/memcoll.m4: New file.
82791
82792         Module unicodeio.
82793         * m4/unicodeio.m4: New file.
82794
82795         Module rpmatch.
82796         * m4/rpmatch.m4: New file.
82797
82798         Module yesno.
82799         * m4/yesno.m4: New file.
82800
82801         Module exitfail.
82802         * m4/exitfail.m4: New file.
82803
82804         Module c-stack.
82805         * m4/c-stack.m4 (gl_C_STACK): New macro.
82806         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
82807
82808         Module error.
82809         * m4/error.m4 (gl_ERROR): New macro.
82810         (jm_PREREQ_ERROR): Use onceonly macros.
82811
82812         Module fatal.
82813         * m4/fatal.m4: New file.
82814
82815         Module getloadavg.
82816         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
82817         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
82818
82819         Module getpagesize.
82820         * m4/getpagesize.m4: New file.
82821
82822         Module getusershell.
82823         * m4/getusershell.m4: New file.
82824
82825         Module physmem.
82826         * m4/physmem.m4: New file.
82827
82828         Module posixver.
82829         * m4/posixver.m4: New file.
82830
82831         Module quotearg.
82832         * m4/quotearg.m4: New file.
82833
82834         Module quote.
82835         * m4/quote.m4: New file.
82836
82837         Module readutmp.
82838         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
82839
82840         Module sig2str.
82841         * m4/sig2str.m4: New file.
82842
82843         Other.
82844         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
82845         ulonglong.m4.
82846         * m4/intmax_t.m4: New file.
82847         * m4/d-type.m4: Indentation.
82848         * m4/jm-macros.m4: Update.
82849         * m4/prereq.m4 (jm_PREREQ): Update.
82850         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
82851         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
82852         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
82853         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
82854         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
82855         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
82856         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
82857         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
82858         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
82859         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
82860         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
82861         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
82862         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
82863         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
82864         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
82865         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
82866         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
82867         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
82868         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
82869
82870 2002-12-24  Bruno Haible  <bruno@clisp.org>
82871
82872         * MODULES.txt: Update according to m4/ changes.
82873
82874         Module gettext.
82875         * config.rpath: New file, from gettext-0.11.5.
82876
82877         * modules/*: New module descriptions.
82878         * gnulib-tool: New file.
82879         * MODULES.html.sh: New file.
82880
82881 2002-12-21  Karl Berry  <karl@gnu.org>
82882
82883         * doc/fdl.texi: update to version 1.2.
82884
82885 2002-12-19  Karl Berry  <karl@gnu.org>
82886
82887         * config/config.guess: update from prep.
82888
82889 2002-12-18  Bruno Haible  <bruno@clisp.org>
82890
82891         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
82892         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
82893
82894 2002-12-17  Bruno Haible  <bruno@clisp.org>
82895
82896         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
82897         stdlib.h, string.h.
82898
82899 2002-12-17  Bruno Haible  <bruno@clisp.org>
82900
82901         * lib/canon-host.c (strdup): Remove unused declaration.
82902
82903         * lib/fsusage.c: Include full_read.h.
82904         (get_fs_usage): Use full_read instead of safe_read.
82905
82906         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
82907
82908 2002-12-12  Karl Berry  <karl@gnu.org>
82909
82910         * config/config.guess: update from prep.
82911
82912 2002-12-11  Bruno Haible  <bruno@clisp.org>
82913
82914         * m4/setenv.m4: New file, from gettext-0.11.5.
82915
82916 2002-12-11  Bruno Haible  <bruno@clisp.org>
82917
82918         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
82919         not unsetenv().
82920         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
82921         modifications:
82922
82923         2002-12-11  Bruno Haible  <bruno@clisp.org>
82924
82925                 * setenv.c (alloca): Fall back to malloc.
82926                 (freea): New macro.
82927                 (setenv): Use freea() to free memory allocated with alloca().
82928
82929         2002-11-13  Bruno Haible  <bruno@clisp.org>
82930
82931                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
82932                 function declarations.
82933                 * unsetenv.c (unsetenv): Likewise.
82934
82935         2002-03-04  Bruno Haible  <bruno@clisp.org>
82936
82937                 Portability to AIX 4.3.3.
82938                 * unsetenv.c: New file, extracted from setenv.c.
82939                 * setenv.c: Move the unsetenv() function to unsetenv.c.
82940
82941         2001-12-20  Bruno Haible  <bruno@clisp.org>
82942
82943                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
82944                 use malloc instead. For SunOS 4.
82945
82946         2001-12-11  Bruno Haible  <bruno@clisp.org>
82947
82948                 * setenv.c: Declare alloca.
82949                 (compar_fn_t): New typedef.
82950                 (KNOWN_VALUE, STORE_VALUE): Use it.
82951
82952         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
82953         setenv.h.
82954
82955 2002-12-10  Paul Eggert  <eggert@twinsun.com>
82956
82957         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
82958         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
82959         Choose values that are less likely to collide with system fnmatch
82960         options.
82961         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
82962         defined (e.g., a pure POSIX system).
82963         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
82964         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
82965
82966 2002-12-06  Paul Eggert  <eggert@twinsun.com>
82967
82968         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
82969         a pain in practice to deal with generated m4 files.  This change
82970         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
82971
82972         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
82973         and jm-glibc-io.m4, as they are no longer a special case.
82974         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
82975         kludge and the auto-generation stuff.  Check only whether the
82976         functions are declared, not whether they exist, since older hosts
82977         that don't declare the functions can't use the optimization anyway.
82978
82979 2002-12-06  Jim Meyering  <jim@meyering.net>
82980
82981         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
82982
82983         Merge in changes from libc's misc/error.c, in preparation
82984         for the merge of gnulib's changes back into libc.
82985
82986         * lib/error.c (_): Define only if not already defined.
82987         Move definition to follow all #include directives.
82988         Include unlocked-io.h only if !_LIBC.
82989         [_LIBC]: Include <libio/libioP.h>.
82990         [USE_IN_LIBIO]: Include <libio/iolibio.h>
82991         (fflush): Tweak definition to use INTUSE.
82992         (putc): Define.
82993
82994 2002-12-05  Paul Eggert  <eggert@twinsun.com>
82995
82996         * lib/alloca.c [defined emacs]: Include "lisp.h".
82997         (xalloc_die) [defined emacs]: New macro.
82998         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
82999         [! defined emacs]: Include <xalloc.h>.
83000         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
83001         (pointer): Typedef to POINTER_TYPE *.
83002         (malloc): Remove decl; we now always use xmalloc.
83003         (alloca): Use old-style definition, since Emacs needs this.
83004         Check for arithmetic overflow when computing combined size.
83005
83006 2002-12-04  Paul Eggert  <eggert@twinsun.com>
83007
83008         Do not generate unlocked-io.h automatically, since it's easier to
83009         maintain it by hand.
83010
83011         * lib/unlocked-io.h: New file, from GNU diffutils,
83012         but with proper copyright notice and attribution.
83013         * lib/gen-uio: Remove.
83014         * lib/Makefile.am: Add copyright notice.
83015         (libfetish_a_SOURCES): Add unlocked-io.h.
83016         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
83017         (DISTCLEANFILES, io_functions): Remove macros.
83018         (EXTRA_DIST): Remove gen_uio.
83019         (unlocked-io.h): Remove rule.
83020
83021 2002-12-04  Jim Meyering  <jim@meyering.net>
83022
83023         Reflect the fact that stat.c and lstat.c are no longer generated.
83024         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
83025         (DISTCLEANFILES): Likewise.
83026         (EXTRA_DIST): Likewise.
83027         (all_local): Don't depend on stat.c or lstat.c.
83028         (stat.c, lstat.c): Remove rules.
83029         (EXTRA_DIST): Remove xstat.in.
83030
83031         * lib/xstat.in: Remove file.  Contents moved into stat.c.
83032         * lib/stat.c: New file.  Contents mostly from xstat.in.
83033         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
83034         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
83035
83036         * lib/safe-read.c: Rework so that it may serve to define safe_write,
83037         too.
83038         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
83039
83040 2002-12-03  Jim Meyering  <jim@meyering.net>
83041
83042         * lib/safe-read.c, safe-write.c: Change variable names and comments,
83043         but not semantics, to minimize the differences between these two files.
83044         (safe_read): Change comment to mention SAFE_READ_ERROR.
83045
83046         * lib/safe-read.c (IS_EINTR): Define.
83047         (safe_read): Use IS_EINTR in place of in-function cpp directives.
83048
83049 2002-12-02  Jim Meyering  <jim@meyering.net>
83050
83051         * lib/safe-read.c (EINTR): Define.
83052         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
83053         (INT_MAX): Provide fallback.
83054         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
83055
83056         * lib/safe-read.h (SAFE_READ_ERROR): Define.
83057
83058 2002-12-02  Bruno Haible  <bruno@clisp.org>
83059
83060         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
83061         Define, taken from safe-read.c.
83062         (INT_MAX): Provide fallback.
83063         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
83064         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
83065
83066         * lib/safe-read.c (EINTR): Remove definition.
83067         (safe_read): Don't use EINTR if it is absent.
83068
83069 2002-12-01  Jim Meyering  <jim@meyering.net>
83070
83071         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
83072         zero.
83073         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
83074
83075 2002-11-27  Paul Eggert  <eggert@twinsun.com>
83076
83077         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
83078         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
83079         with `if (! (value < limit)) abort ();', for readability.
83080
83081 2002-11-26  Karl Berry  <karl@gnu.org>
83082
83083         * lib/strdup.c: copy from libc again, with jim's ok.
83084         * lib/.cppi-disable: re-add strdup.c
83085
83086 2002-11-25  Karl Berry  <karl@gnu.org>
83087
83088         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
83089         instead of "strtol.c".
83090
83091 2002-11-25  Karl Berry  <karl@gnu.org>
83092
83093         * config/install-sh: update from automake for variable quoting, $0 in
83094         error msgs, etc.
83095
83096         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
83097         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
83098         entry.
83099
83100 2002-11-25  Jim Meyering  <jim@meyering.net>
83101
83102         * lib/mktime.c: Sync from libc, now that it has the latest fix.
83103
83104 2002-11-24  Karl Berry  <karl@gnu.org>
83105
83106         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
83107         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
83108
83109 2002-11-24  Jim Meyering  <jim@meyering.net>
83110
83111         Update from coreutils:
83112
83113         * lib/mktime.c: Merge in changes from libc.
83114
83115         Avoid a link-time failure on some Linux systems.
83116         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
83117         (otherwise).
83118         (__mon_yday): Declare with the STATIC attribute.
83119         (__mktime_internal): Likewise.
83120         Based on a report from Greg Schafer.
83121
83122 2002-11-23  Jim Meyering  <jim@meyering.net>
83123
83124         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
83125         Use `unsigned', not `int', as type of index.
83126
83127         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
83128
83129         * lib/fsusage.c: Remove unneeded parentheses around operands of
83130         `defined'.
83131
83132 2002-11-22  Paul Eggert  <eggert@twinsun.com>
83133
83134         * lib/quotearg.h: Allow multiple inclusion by surrounding with
83135         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
83136         so that we can be included first.
83137         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
83138         * lib/quotearg.c: Include quotearg.h immediately after config.h.
83139         No need to include stddef.h or sys/types.h any more.
83140         Surround local include files with "", not "<>".
83141         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
83142         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
83143         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
83144         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
83145         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
83146         (ISPRINT): Remove; no longer needed now that we assume C89.
83147
83148         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
83149         Preserve errno.
83150
83151         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
83152         quotearg_char): Use SIZE_MAX rather than
83153         (size_t) -1 when we are talking about "infinity".
83154
83155         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
83156
83157 2002-11-22  Paul Eggert  <eggert@twinsun.com>
83158
83159         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
83160         hint that one should use `if (! x) abort ();' rather than `assert
83161         (x);', and anyway it's one less thing to worry about configuring.
83162         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
83163         hash_rehash, hash_insert): Use abort rather than assert.
83164
83165 2002-11-22  Bruno Haible  <bruno@clisp.org>
83166
83167         * lib/safe-read.h: Assume C89. Add comments.
83168         (safe_read): Change return type to size_t.
83169         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
83170         byte counts > SSIZE_MAX correctly.
83171         * lib/safe-write.h: New file.
83172         * lib/safe-write.c: New file.
83173         * lib/full-read.h: New file.
83174         * lib/full-read.c: New file.
83175         * lib/full-write.h: Assume C89. Add comments.
83176         * lib/full-write.c: Include safe-write.h.
83177         (full_write): Rewritten to use safe_write.
83178         Suggested by Jim Meyering and Paul Eggert.
83179
83180 2002-11-21  Jim Meyering  <jim@meyering.net>
83181
83182         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
83183
83184         Merge in changes from the coreutils.
83185
83186         2002-09-25  Paul Eggert  <eggert@twinsun.com>
83187         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
83188         <stdint.h>.
83189         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
83190         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
83191         int.  Work more efficiently if X is the same width as uintmax_t.
83192         Do not compare X to -1, to avoid bogus compiler warning.
83193         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
83194         Don't assume that f_frsize and f_bsize are the same type.
83195
83196         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
83197         warning on FreeBSD.
83198
83199         * lib/makepath.c (make_path): Restore umask *before* creating the final
83200         component.
83201         (make_path): Minor reformatting.
83202
83203         * lib/xmalloc.c: Adjust to work with new autoconf macros,
83204         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
83205         HAVE_MALLOC/HAVE_REALLOC.
83206
83207         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
83208         dummy ones.  At least on GNU/Linux systems, `auto' means something
83209         else.
83210         From Michael Stone.
83211
83212 2002-11-21  Bruno Haible  <bruno@clisp.org>
83213
83214         Remove case insensitive option matching.
83215         * lib/argmatch.h (argcasematch): Remove declaration.
83216         (ARGCASEMATCH): Remove macro.
83217         (__xargmatch_internal): Remove case_sensitive argument.
83218         (XARGMATCH): Update.
83219         (XARGCASEMATCH): Remove macro.
83220         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
83221         case_sensitive argument.
83222         (argcasematch): Remove function.
83223         (__xargmatch_internal): Remove case_sensitive argument.
83224         (main): Use XARGMATCH instead of XARGCASEMATCH.
83225
83226         * lib/xmalloc.c: Change compile-time error message. Add comment about
83227         required autoconf version.
83228
83229 2002-11-20  Paul Eggert  <eggert@twinsun.com>
83230
83231         Merge argmatch cleanups from Bison.  Assume C89.
83232
83233         * lib/argmatch.c: Include config.h here, not in argmatch.h.
83234         Include stdlib.h, for EXIT_FAILURE.
83235         Always include <string.h>, since we assume C89.
83236         (EXIT_FAILURE): Remove pre-C89 bug workaround.
83237         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
83238         Include <stddef.h> instead, since it's all we need for size_t.
83239         (PARAMS): Remove.  All uses removed.
83240         (ARRAY_CARDINALITY): Do not bother to #undef.
83241         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
83242         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
83243         Remove unnecessary parentheses.
83244         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
83245         Insert necessary parentheses.
83246         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
83247         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
83248
83249 2002-11-19  Bruno Haible  <bruno@clisp.org>
83250
83251         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
83252         * lib/mbswidth.h: Include <stddef.h>, for size_t.
83253
83254         * lib/mbswidth.h (PARAMS): Remove macro.
83255         (mbswidth, mbsnwidth): Use ANSI C function declarations.
83256         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
83257
83258         * lib/gcd.h (PARAMS): Remove macro.
83259         (gcd): Use ANSI C function declarations.
83260         * lib/gcd.c (gcd): Likewise.
83261
83262 2002-11-15  Bruno Haible  <bruno@clisp.org>
83263
83264         * lib/strcspn.c: Include <stddef.h>.
83265         (strcspn): Use ANSI C function declaration. Change return type to
83266         size_t. Use NULL.
83267         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
83268         (strpbrk): Use NULL.
83269         * lib/strpbrk.h (PARAMS): Remove macro.
83270         (strpbrk): Use ANSI C function declaration.
83271         * lib/strstr.c: Don't include <sys/types.h>.
83272         * lib/strstr.h (PARAMS): Remove macro.
83273         (strstr): Use ANSI C function declarations.
83274
83275 2002-11-14  Karl Berry  <karl@gnu.org>
83276
83277         * config/mkinstalldirs: `do' on separate line, instead of
83278         `for var; do'.
83279
83280 2002-11-06  Bruno Haible  <bruno@clisp.org>
83281
83282         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
83283         * lib/gcd.c (gcd): Likewise.
83284
83285 2002-11-05  Bruno Haible  <bruno@clisp.org>
83286
83287         * lib/gcd.h: New file, from gettext-0.11.5.
83288         * lib/gcd.c: New file, from gettext-0.11.5.
83289
83290 2002-11-05  Bruno Haible  <bruno@clisp.org>
83291
83292         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
83293         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
83294         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
83295         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
83296
83297         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
83298         <libintl.h>.
83299         * lib/makepath.c: Include gettext.h instead of <locale.h> and
83300         <libintl.h>.
83301
83302         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
83303         * lib/human.c: Include gettext.h instead of <libintl.h>.
83304         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
83305         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
83306         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
83307         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
83308         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
83309         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
83310         (textdomain): Remove definition.
83311         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
83312
83313         * lib/long-options.c: Remove include of <libintl.h> and definition of
83314         _.
83315         * lib/same.c: Remove include of <libintl.h> and definition of _.
83316
83317 2002-11-04  Owen Taylor  <otaylor@redhat.com>
83318
83319         * lib/config.charset: A few additions for Solaris.
83320
83321 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
83322
83323         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
83324         * lib/localcharset.c (locale_charset): Declare as extern "C".
83325
83326 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
83327
83328         * lib/config.charset: msdos in uk_UA uses CP1125.
83329
83330 2002-11-04  Bruno Haible  <bruno@clisp.org>
83331
83332         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
83333         * lib/strcase.h: New file, from GNU gettext-0.11.5.
83334         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
83335         * lib/strstr.h: New file, from GNU gettext-0.11.5.
83336         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
83337
83338 2002-11-04  Bruno Haible  <bruno@clisp.org>
83339
83340         * lib/localcharset.c (locale_charset): Don't return an empty string.
83341
83342 2002-11-04  Bruno Haible  <bruno@clisp.org>
83343
83344         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
83345         aliases.
83346
83347 2002-11-04  Bruno Haible  <bruno@clisp.org>
83348
83349         * lib/config.charset: Update for newest glibc. Add canonical names
83350         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
83351
83352 2002-11-04  Bruno Haible  <bruno@clisp.org>
83353
83354         * lib/config.charset: Add support for NetBSD.
83355
83356 2002-11-04  Bruno Haible  <bruno@clisp.org>
83357
83358         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
83359
83360 2002-11-01  Bruno Haible  <bruno@clisp.org>
83361
83362         * configure.in: Add AC_CONFIG_AUX_DIR call.
83363         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
83364         test/Makefile.
83365         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
83366
83367 2002-09-28  Karl Berry  <karl@gnu.org>
83368
83369         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
83370         installed automake until the next release, since changes have been
83371         made.
83372
83373 2002-09-25  Karl Berry  <karl@gnu.org>
83374
83375         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
83376         * lib/getopt*: copy from libc/posix.
83377         * lib/gettext.h: copy from gettext.
83378         * lib/.cppi-disable: add strdup.c, gettext.h.
83379
83380 2002-09-25  Karl Berry  <karl@gnu.org>
83381
83382         * config/srclist.txt: enable gettext.h check.
83383         * config/config.{guess,sub}: update from prep.
83384         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
83385                 from automake 1.6.3.
83386         See srclist*.
83387
83388 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
83389
83390         * regex.c (PATFETCH): Remove the translating fetch.
83391         (PATFETCH_RAW): Rename to PATFETCH.
83392         (set_image_of_range): New fun.
83393         (SET_RANGE_TABLE_WORK_AREA): Use it.
83394         (regex_compile): Don't translate the pattern chars so eagerly.
83395         Only do it when inserting an `exactn' bytecode or when handling
83396         a char-range.
83397         (mutually_exclusive_p): Avoid empty statement.
83398
83399 2002-07-06  Jim Meyering  <meyering@lucent.com>
83400
83401         * m4/README: Don't mention Makefile.am.in.
83402         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
83403
83404 2002-07-01  Jim Meyering  <meyering@lucent.com>
83405
83406         * lib/c-stack.c: Include sys/time.h.
83407         From Volker Borchert.
83408
83409 2002-06-26  Paul Eggert  <eggert@twinsun.com>
83410
83411         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
83412
83413 2002-06-26  Paul Eggert  <eggert@twinsun.com>
83414
83415         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
83416         New macro.  Use it uniformly instead of
83417         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
83418         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
83419         reported by Vin Shelton.
83420
83421 2002-06-22  Paul Eggert  <eggert@twinsun.com>
83422
83423         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
83424         Do not assume SA_SIGINFO behavior.
83425         Bug reported by Jim Meyering on NetBSD 1.5.2.
83426
83427 2002-06-22  Jim Meyering  <meyering@lucent.com>
83428
83429         * m4/c-stack.m4: New file, from diffutils-2.8.2.
83430         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
83431
83432         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
83433         now that configure.ac uses AC_GNU_SOURCE.
83434         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
83435         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
83436
83437         Update to latest tools.  Suggestions from Paul Eggert.
83438         * m4/stdbool.m4: New file, from diffutils-2.8.2.
83439         * m4/gnu-source.m4: Update from diffutils-2.8.2.
83440         * m4/fnmatch.m4: Likewise.
83441         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
83442         to AC_HEADER_STDBOOL
83443
83444 2002-06-22  Jim Meyering  <meyering@lucent.com>
83445
83446         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
83447         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
83448
83449 2002-06-22  Jim Meyering  <meyering@lucent.com>
83450
83451         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
83452
83453         * lib/exitfail.c, exitfail.h: Likewise.
83454         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
83455
83456         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
83457         of fnmatch.h.
83458         (EXTRA_DIST): Add fnmatch_loop.c.
83459         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
83460
83461         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
83462         * lib/fnmatch.c: Update from diffutils-2.8.2.
83463         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
83464         * lib/fnmatch.h: Remove file.
83465
83466 2002-06-21  Jim Meyering  <meyering@lucent.com>
83467
83468         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
83469         * m4/mbrtowc.m4: Likewise.
83470
83471         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
83472         * m4/mbswidth.m4: Reflect name change:
83473         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
83474         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
83475
83476         * m4/lib-link.m4: Update from gettext-0.11.2.
83477         * m4/gettext.m4: Likewise.
83478
83479         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
83480         From Alfred M. Szmidt.
83481
83482 2002-06-18  Paul Eggert  <eggert@twinsun.com>
83483
83484         * lib/file-type.h: Report an error if neither S_ISREG nor
83485         S_IFREG is defined, instead of using a test specific to glibc
83486         2.2.  This should be safe, since POSIX requires S_ISREG and
83487         Unix Version 7 had S_IFREG.  We don't need to check for
83488         <sys/types.h> since we don't use any symbols that it defines.
83489
83490 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
83491
83492         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
83493         $@-t, so that each temporary file name is unique and valid in the first
83494         8 characters, for operation under DOS.
83495
83496 2002-06-15  Paul Eggert  <eggert@twinsun.com>
83497
83498         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
83499
83500 2002-06-15  Jim Meyering  <meyering@lucent.com>
83501
83502         Work even with DJGPP 2.03, which lacks support for symlinks.
83503         From Richard Dawe.
83504         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
83505         is defined.
83506         * lib/lchown.c (S_ISLNK): Likewise.
83507
83508 2002-06-15  Jim Meyering  <meyering@lucent.com>
83509
83510         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
83511         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
83512         have been included before this file.
83513
83514 2002-06-14  Jim Meyering  <meyering@lucent.com>
83515
83516         * lib/file-type.h: Use the version from diffutils-2.8.2.
83517         * lib/file-type.c: Likewise.
83518
83519 2002-06-07  Jim Meyering  <meyering@lucent.com>
83520
83521         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
83522         They're needed at least for NetBSD 1.5.2.
83523         ($statxfs_includes): Include those same headers.
83524         ($statxfs_includes): Include sys/vfs.h if available.
83525         ($statxfs_includes): Likewise for sys/statvfs.h.
83526         Check for the following members in both structs statfs and statvfs:
83527         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
83528
83529 2002-06-01  Jim Meyering  <meyering@lucent.com>
83530
83531         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
83532         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
83533
83534 2002-05-28  Jim Meyering  <meyering@lucent.com>
83535
83536         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
83537         Reported by Volker Borchert.
83538
83539 2002-05-27  Jim Meyering  <meyering@lucent.com>
83540
83541         Fix a problem seen only on nonconforming systems whereby ls.c's
83542         use of localtime, and then of gettimeofday would cause trouble:
83543         the localtime call used to initialize rpl_gettimeofday's save
83544         mechanism would clobber ls's current local time information so
83545         that in any long listing the first file would always be listed
83546         with date 1970-01-01.  Analysis by Volker Borchert.
83547
83548         * lib/gettimeofday.c (localtime): Undefine.
83549         (rpl_localtime): New function.
83550
83551 2002-05-27  Jim Meyering  <meyering@lucent.com>
83552
83553         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
83554         localtime.
83555
83556         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
83557         use the replacement function; it wouldn't resolve at link time.
83558         Reported by Volker Borchert.
83559
83560 2002-05-22  Jim Meyering  <meyering@lucent.com>
83561
83562         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
83563         file-type.h.
83564         * lib/file-type.h: New file.
83565         * lib/file-type.c (file_type): New file/function.  Extracted from
83566         diffutils.
83567
83568 2002-04-30  Jim Meyering  <meyering@lucent.com>
83569
83570         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
83571
83572 2002-04-29  Paul Eggert  <eggert@twinsun.com>
83573
83574         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
83575
83576 2002-04-29  Paul Eggert  <eggert@twinsun.com>
83577
83578         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
83579         Do not check for alloca.h (no longer used) or stdbool.h (was never
83580         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
83581
83582 2002-04-29  Paul Eggert  <eggert@twinsun.com>
83583
83584         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
83585
83586 2002-04-29  Jim Meyering  <meyering@lucent.com>
83587
83588         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
83589         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
83590         Use AC_FUNC_STRNLEN here instead.
83591
83592         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
83593         With autoconf-2.53a, it's part of AC_PROG_CC.
83594
83595 2002-04-28  Paul Eggert  <eggert@twinsun.com>
83596
83597         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
83598         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
83599
83600 2002-04-28  Paul Eggert  <eggert@twinsun.com>
83601
83602         * lib/sig2str.h, lib/sig2str.c: New files.
83603         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
83604
83605 2002-04-28  Paul Eggert  <eggert@twinsun.com>
83606
83607         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
83608         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
83609         of 127, since 64 is the largest conceivable number for ancient
83610         nonstandard hosts.
83611         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
83612
83613 2002-04-28  Jim Meyering  <meyering@lucent.com>
83614
83615         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
83616
83617 2002-04-24  Jim Meyering  <meyering@lucent.com>
83618
83619         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
83620         (jm_PREREQ): Use it.
83621
83622         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
83623         mach/mach.h fcntl.h.
83624         Check for this function: setlocale.
83625
83626 2002-04-24  Jim Meyering  <meyering@lucent.com>
83627
83628         * lib/gettext.h: New file, from Gettext.
83629         * lib/Makefile.am (INCLUDES): Remove -I../intl.
83630         (libfetish_a_SOURCES): Add gettext.h.
83631
83632 2002-04-16  Jim Meyering  <meyering@lucent.com>
83633
83634         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
83635         ut_pid, ut_id, ut_exit.
83636
83637 2002-04-16  Jim Meyering  <meyering@lucent.com>
83638
83639         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
83640         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
83641         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
83642
83643 2002-04-12  Jim Meyering  <meyering@lucent.com>
83644
83645         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
83646         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
83647         existence of the getmntinfo function.  Needed for Darwin 5.3.
83648
83649         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
83650         This is necessary at least on Darwin 5.3.
83651
83652         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
83653         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
83654         strnlen.o in the library, and that makes some versions of ranlib
83655         object.
83656
83657 2002-04-12  Jim Meyering  <meyering@lucent.com>
83658
83659         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
83660
83661 2002-04-09  Jim Meyering  <meyering@lucent.com>
83662
83663         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
83664         to be more precise.  Rather than saying we're checking whether the
83665         function `works', say what we're testing.
83666         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
83667         Reported by Bruno Haible.
83668
83669 2002-03-10  Jim Meyering  <meyering@lucent.com>
83670
83671         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
83672         Suggestion from Santiago Vila.
83673
83674 2002-03-08  Jim Meyering  <meyering@lucent.com>
83675
83676         * lib/rename.c: Mention that this wrapper is needed also on
83677         mips-dec-ultrix4.4 systems.
83678
83679 2002-03-02  Jim Meyering  <meyering@lucent.com>
83680
83681         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
83682         not HAVE_CLOCK_SETTIME.
83683
83684 2002-02-27  Paul Eggert  <eggert@twinsun.com>
83685
83686         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
83687         Check for clock_settime.
83688
83689 2002-02-27  Paul Eggert  <eggert@twinsun.com>
83690
83691         * lib/nanosleep.h: Rename to....
83692         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
83693
83694         * lib/gettime.c: New file.
83695         * lib/settime.c: New file.
83696         * lib/stime.c: Remove.
83697
83698         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
83699         timespec.h.  Remove nanosleep.h.
83700
83701 2002-02-25  Paul Eggert  <eggert@twinsun.com>
83702
83703         * m4/acl.m4: New file.
83704         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
83705         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
83706
83707 2002-02-25  Paul Eggert  <eggert@twinsun.com>
83708
83709         * lib/acl.c, lib/acl.h: New files.
83710         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
83711
83712 2002-02-24  Jim Meyering  <meyering@lucent.com>
83713
83714         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
83715         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
83716         cause trouble.  Reported by Nelson Beebe.
83717
83718 2002-02-23  Paul Eggert  <eggert@twinsun.com>
83719
83720         * lib/path-concat.c (xpath_concat): Reorder code to pacify
83721         compilers that don't know that xalloc_die never returns.
83722
83723 2002-02-20  Jim Meyering  <meyering@lucent.com>
83724
83725         * lib/getdate.c: Regenerate using bison-1.33.
83726
83727 2002-02-17  Jim Meyering  <meyering@lucent.com>
83728
83729         * config/config.guess (main): Don't use `head -1'; it's no longer
83730         portable. Use `sed 1q' instead.
83731
83732 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
83733
83734         * m4/codeset.m4: Upgrade to gettext-0.11.
83735         * m4/gettext.m4: Upgrade to gettext-0.11.
83736         * m4/glibc21.m4: Upgrade to gettext-0.11.
83737         * m4/iconv.m4: Upgrade to gettext-0.11.
83738         * m4/isc-posix.m4: Upgrade to gettext-0.11.
83739         * m4/lcmessage.m4: Upgrade to gettext-0.11.
83740         * m4/lib-ld.m4: New file, from gettext-0.11.
83741         * m4/lib-link.m4: New file, from gettext-0.11.
83742         * m4/lib-prefix.m4: New file, from gettext-0.11.
83743         * m4/progtest.m4: Upgrade to gettext-0.11.
83744
83745 2002-02-15  Paul Eggert  <eggert@twinsun.com>
83746
83747         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
83748         (jm_PREREQ): Use it.
83749
83750 2002-02-15  Paul Eggert  <eggert@twinsun.com>
83751
83752         * lib/posixver.c, lib/posixver.h: New files.
83753         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
83754
83755 2002-02-02  Paul Eggert  <eggert@twinsun.com>
83756             Bruno Haible  <bruno@clisp.org>
83757
83758         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
83759         (fwrite_success_callback): New declaration.
83760         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
83761         print_unicode_char. Call failure callback instead of error.
83762         (fwrite_success_callback): New function.
83763         (exit_failure_callback): New function.
83764         (fallback_failure_callback): New function.
83765         (print_unicode_char): Call unicode_to_mb.
83766
83767 2002-01-26  Jim Meyering  <meyering@lucent.com>
83768
83769         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
83770         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
83771
83772 2002-01-26  Jim Meyering  <meyering@lucent.com>
83773
83774         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
83775
83776 2002-01-22  Paul Eggert  <eggert@twinsun.com>
83777
83778         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
83779
83780 2002-01-22  Jim Meyering  <meyering@lucent.com>
83781
83782         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
83783         Otherwise, some versions of automake would omit the rule that makes
83784         Makefile from Makefile.in.
83785
83786 2002-01-21  Paul Eggert  <eggert@twinsun.com>
83787
83788         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
83789         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
83790         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
83791         (memcoll): Set errno to zero if there is no error.
83792
83793         * lib/quotearg.c (quotearg_buffer_restyled):
83794         Fix bug with quoting buffers containing NUL when backslashing escapes.
83795         This bug was exposed by the other changes in this patch.
83796         (quotearg_n_options): New arg ARGSIZE.
83797         All callers changed.
83798         (quoting_options_from_style): New function.
83799         (quotearg_n_style): Use it.
83800         (quotearg_n_style_mem): New function.
83801
83802         * lib/quotearg.h (quotearg_n_style_mem): New function.
83803
83804 2002-01-19  Jim Meyering  <meyering@lucent.com>
83805
83806         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
83807         Remove useless quotes: DF_PROG="df".
83808         * m4/strnlen.m4: New file.
83809
83810 2002-01-16  Paul Eggert  <eggert@twinsun.com>
83811
83812         * lib/backupfile.c (ISDIGIT): Comment fix.
83813         * lib/getdate.y (ISDIGIT): Likewise.
83814         * lib/posixtm.c (ISDIGIT, year): Likewise.
83815         * lib/strverscmp.c (ISDIGIT): Likewise.
83816         * lib/userspec.c (ISDIGIT): Likewise.
83817
83818 2002-01-16  Jim Meyering  <meyering@lucent.com>
83819
83820         * lib/getdate.y: Add three semicolons, each just before a closing
83821         brace. Bison (as of version 1.31) no longer papers over that mistake.
83822
83823 2002-01-05  Jim Meyering  <meyering@lucent.com>
83824
83825         * lib/version-etc.c (version_etc_copyright): Update copyright year.
83826
83827 2001-12-19  Paul Eggert  <eggert@twinsun.com>
83828
83829         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
83830         not silently exit merely because the output buffer happens to
83831         have nothing pending.
83832
83833 2001-12-18  Paul Eggert  <eggert@twinsun.com>
83834
83835         See the big note in ../ChangeLog.
83836         * lib/human.c (suffixes): Prefer K to k for 1024.
83837         (generate_suffix_backwards): New function.
83838         (human_readable_inexact): Use it.
83839         * lib/xstrtol.c (__xstrtol): If there is no number but there
83840         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
83841         Accept 'K' as well as 'k'.
83842
83843 2001-12-15  Jim Meyering  <meyering@lucent.com>
83844
83845         * lib/regex.h (__restrict_arr): Update from libc.
83846
83847         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
83848         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
83849         (STREQ): Define.
83850
83851 2001-12-14  Jim Meyering  <meyering@lucent.com>
83852
83853         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
83854         Suggestion from Bruno Haible.
83855
83856 2001-12-10  Jim Meyering  <meyering@lucent.com>
83857
83858         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
83859         xrealloc, Instead, include "xalloc.h".
83860         (initbuffer): Don't cast xmalloc return value to char*.
83861         (readline): Reword comment.
83862         Don't cast xrealloc return value to char*
83863         Return NULL, not 0.
83864
83865 2001-12-09  Jim Meyering  <meyering@lucent.com>
83866
83867         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
83868         about `signed and unsigned type in conditional expression'.
83869         * lib/posixtm.c (posix_time_parse): Likewise.
83870
83871         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
83872
83873         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
83874         to avoid a pedantic warning.
83875
83876         * lib/getstr.c: Don't include assert.h.
83877         (getstr): Remove warning-evoking assertions.
83878         Return -1 if offset parameter is out of bounds.
83879         Change the type of a local from int to size_t.
83880
83881         * lib/strftime.c (my_strftime_localtime_r): Include this function
83882         definition in the `#if ! HAVE_TM_GMTOFF' block.
83883
83884         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
83885         Include xalloc.h instead.
83886
83887 2001-12-02  Jim Meyering  <meyering@lucent.com>
83888
83889         * lib/tempname.c: Don't declare getenv, thus reverting the change of
83890         2001-11-18.  It's no longer necessary, now that stdlib.h is always
83891         included.
83892
83893         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
83894         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
83895
83896 2001-11-30  Akim Demaille  <akim@epita.fr>
83897
83898         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
83899         before being defined.
83900
83901 2001-11-27  Paul Eggert  <eggert@twinsun.com>
83902
83903         * lib/quotearg.h (quotearg_n, quotearg_n_style):
83904         First arg is int, not unsigned.
83905         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
83906         (SIZE_MAX, UINT_MAX): New macros.
83907         (quotearg_n_options): Abort if N is negative.
83908         Avoid overflow check on hosts where size_t is 64 bits and int
83909         is 32 bits, as overflow is impossible there.
83910         Fix off-by-one typo that caused unnecessary reallocation.
83911
83912 2001-11-27  Jim Meyering  <meyering@lucent.com>
83913
83914         * lib/tempname.c: Merge with version from libc.
83915         * lib/regex.c: Likewise.
83916
83917         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
83918         systems for which STDC_HEADERS is 0, it was not included, resulting in
83919         a warning about an integer-to-pointer conversion problem with getenv.
83920         Reported by Volker Borchert.
83921
83922 2001-11-26  Jim Meyering  <meyering@lucent.com>
83923
83924         * lib/gtod.h: Remove file.
83925         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
83926         * lib/gettimeofday.c: Don't include gtod.h.
83927         (GTOD_init): Remove function.
83928         (rpl_gettimeofday): Do its job here instead, rather than aborting.
83929         Suggestion from Volker Borchert.
83930
83931 2001-11-23  Jim Meyering  <meyering@lucent.com>
83932
83933         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
83934         it.
83935         * lib/hash.c (struct hash_table): Define it here instead.
83936
83937 2001-11-22  Jim Meyering  <meyering@lucent.com>
83938
83939         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
83940
83941 2001-11-20  Jim Meyering  <meyering@lucent.com>
83942
83943         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
83944         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
83945
83946 2001-11-19  Jim Meyering  <meyering@lucent.com>
83947
83948         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
83949         directory.  Use "conftestXXXXXX" as the template.
83950         Suggestion from Paul Eggert.
83951
83952         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
83953         immediately, so the test doesn't mistakenly hit the max-open-files
83954         limit.
83955
83956 2001-11-18  Paul Eggert  <eggert@twinsun.com>
83957
83958         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
83959         (TEMPORARIES): New macro.
83960         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
83961         removes an artificial limitation (e.g. HP-UX 10.20, where
83962         TMP_MAX is 17576).
83963
83964 2001-11-18  Jim Meyering  <meyering@lucent.com>
83965
83966         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
83967
83968 2001-11-18  Jim Meyering  <meyering@lucent.com>
83969
83970         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
83971         on SunOS 4.
83972
83973         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
83974         files will be created before anything else.
83975
83976 2001-11-17  Paul Eggert  <eggert@twinsun.com>
83977
83978         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
83979         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
83980
83981 2001-11-17  Jim Meyering  <meyering@lucent.com>
83982
83983         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
83984         Prompted by a report from Bob Proulx.
83985
83986         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
83987         Instead, require UTILS_FUNC_MKSTEMP.
83988
83989 2001-11-17  Jim Meyering  <meyering@lucent.com>
83990
83991         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
83992         Now, that's done as part of AC_FUNC_STRTOD.
83993
83994 2001-11-17  Jim Meyering  <meyering@lucent.com>
83995
83996         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
83997         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
83998         rather than group writable.  Patch by Juan F. Codagnone.
83999
84000         * lib/readtokens.c: Remove explicit declarations of xmalloc and
84001         xrealloc, Instead, include "xalloc.h".
84002
84003         * lib/mountlist.c: Include unlocked-io.h after all system headers.
84004         Remove explicit declarations of xmalloc, xrealloc,
84005         and xstrdup.  Instead, include "xalloc.h".
84006
84007         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
84008         unlocked-io.h.
84009         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
84010         Likewise.
84011         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
84012
84013         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
84014         Reported by Padraig Brady.
84015
84016         * lib/mkstemp.c: #undef mkstemp.
84017         Include config.h.
84018         (rpl_mkstemp): Rename from mkstemp.
84019         Protoize.
84020
84021 2001-11-16  Jim Meyering  <meyering@lucent.com>
84022
84023         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
84024         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
84025         determine the amount of total physical memory, use pstat_getstatic.
84026         HPUX-11 doesn't define _SC_PHYS_PAGES.
84027         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
84028         If sysconf couldn't be used to determine the amount of available
84029         physical memory, use both pstat_getstatic and pstat_getdynamic.
84030         Based on a patch from Bob Proulx.
84031
84032 2001-11-10  Jim Meyering  <meyering@lucent.com>
84033
84034         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
84035         (jm_PREREQ): Use it.
84036
84037 2001-11-09  Jim Meyering  <meyering@lucent.com>
84038
84039         * m4/jm-macros.m4: Require autoconf-2.52f.
84040         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
84041         Use these AC_-prefixed names, not the AM_-prefixed ones.
84042
84043         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
84044
84045 2001-11-05  Jim Meyering  <meyering@lucent.com>
84046
84047         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
84048
84049 2001-11-04  Jim Meyering  <meyering@lucent.com>
84050
84051         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
84052         $DEFS.
84053
84054 2001-11-03  Jim Meyering  <meyering@lucent.com>
84055
84056         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
84057         of AC_DEFUN.
84058
84059         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
84060         know the name of the variable in the macro definition.
84061
84062 2001-11-03  Jim Meyering  <meyering@lucent.com>
84063
84064         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
84065         in argmatch_to_argument call.
84066
84067         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
84068         argument.
84069
84070         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
84071         e.g., a fault due to an attempt to free a NULL pointer.
84072
84073 2001-11-01  Jim Meyering  <meyering@lucent.com>
84074
84075         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
84076         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
84077
84078 2001-11-01  Jim Meyering  <meyering@lucent.com>
84079
84080         * lib/dirfd.c, lib/dirfd.h: New files.
84081         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
84082
84083         * lib/hash.c (hash_print) [TESTING]: Clean up.
84084
84085 2001-10-22  Paul Eggert  <eggert@twinsun.com>
84086
84087         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
84088         to avoid a warning if -Wall.
84089
84090 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
84091
84092         * README: New file
84093         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
84094         (per RMS's instructions, this is now the canonical source)
84095         * lgpl/, gpl/: New directories.
84096
84097 2001-10-21  Paul Eggert  <eggert@twinsun.com>
84098
84099         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
84100
84101 2001-10-21  Jim Meyering  <meyering@lucent.com>
84102
84103         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
84104         this code would end up calling gettext even in packages built
84105         with --disable-nls.
84106         * lib/getopt.c (_): Likewise.
84107         * lib/regex.c (_): Likewise.
84108
84109 2001-10-20  Paul Eggert  <eggert@twinsun.com>
84110
84111         * m4/error.m4 (jm_PREREQ_ERROR):
84112         Do not invoke AC_CHECK_FUNCS with strerror_r, as
84113         AC_FUNC_STRERROR_R does that.
84114         Check for strerror declaration.
84115
84116         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
84117         are supposed to have them these days.
84118         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
84119         Merge changes from latest Autoconf CVS.
84120         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
84121         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
84122         POSIX decided to standardize on the int flavor of strerror_r.
84123
84124 2001-10-20  Paul Eggert  <eggert@twinsun.com>
84125
84126         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
84127         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
84128         Use strerror_r that is only a macro, even if it is not a function.
84129         (strerror): Check for HAVE_DECL_STRERROR before declaring.
84130         (private_strerror): Use prototypes, not old-style function definition.
84131         (print_errno_message): New function.
84132         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
84133         char*-flavored one.
84134         (error_tail, error, error_at_line): Use it.
84135
84136 2001-10-11  Jim Meyering  <meyering@lucent.com>
84137
84138         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
84139         and quote_n (1, ... to avoid clobbering a buffer.
84140
84141 2001-10-05  Jim Meyering  <meyering@lucent.com>
84142
84143         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
84144         hash-pjw.h.
84145         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
84146         * lib/hash-pjw.h: New file.
84147
84148 2001-09-30  Jim Meyering  <meyering@lucent.com>
84149
84150         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
84151         `struct fsstat' has the `f_fstypename' member.
84152         Use that to define FS_TYPE, which is now used to make
84153         the getfsstat link test tighter.
84154
84155 2001-09-30  Jim Meyering  <meyering@lucent.com>
84156
84157         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
84158         Include <sys/ucred.h>, for Apple Darwin.
84159         Include sys/mount.h and sys/fs_types.h only if available.
84160         (FS_TYPE): Define.
84161         (read_filesystem_list): Use FS_TYPE.
84162
84163 2001-09-29  Paul Eggert  <eggert@twinsun.com>
84164
84165         * lib/exclude.c (excluded_filename): 0 -> false, since it's
84166         a boolean context.
84167
84168 2001-09-29  Jim Meyering  <meyering@lucent.com>
84169
84170         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
84171         [one-argument getmntent function]): Include stdio.h before mntent.h.
84172         SunOS 4.1.x needs it for the declaration of `FILE'.
84173         Patch by Volker Borchert.
84174
84175         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
84176         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
84177         sys/fs_types.h, and make the link-test for getfsstat guard #include
84178         directives with appropriate #if HAVE_*_H tests so that we can
84179         detect getfsstat on Apple Darwin1.3.7 systems.
84180         Reported by Nelson Beebe.
84181         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
84182
84183 2001-09-28  Paul Eggert  <eggert@twinsun.com>
84184
84185         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
84186         #defines strtoimax.  Also treat the other strto* functions
84187         like strtoimax.
84188
84189         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
84190         Check for strtoul and strtoumax,
84191         as those declarations are made even in the signed case.
84192         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
84193         Likewise, for strtol and strtoimax.
84194
84195 2001-09-28  Paul Eggert  <eggert@twinsun.com>
84196
84197         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
84198         #defines strtoimax.  Also treat the other strto* functions
84199         like strtoimax.
84200
84201         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
84202         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
84203         (strtoimax, strtoumax): Do not declare if already defined as a macro.
84204
84205 2001-09-26  Jim Meyering  <meyering@lucent.com>
84206
84207         Most macros in unlocked-io.h had the wrong number of arguments.
84208         * lib/gen-uio: New script.
84209         (USE_UNLOCKED_IO): Define to 1 if not already defined.
84210         * lib/unlocked-io.hin: Remove file.
84211         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
84212         rather than trying to embed it here.
84213         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
84214         Reported by Padraig Brady.
84215
84216 2001-09-25  Volker Borchert  <bt@teknon.de>
84217
84218         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
84219         `result'.
84220
84221 2001-09-24  Jim Meyering  <meyering@lucent.com>
84222
84223         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
84224
84225 2001-09-23  Jim Meyering  <meyering@lucent.com>
84226
84227         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
84228         instead of the mere test for existence of mntent.h.  The latter
84229         would get a false-positive on AIX 3.4 systems.
84230         In the outer getmntent if-block, don't die if neither of the getmntent
84231         tests succeeds.  Instead, just fall through and continue with the
84232         remaining tests.
84233
84234 2001-09-23  Jim Meyering  <meyering@lucent.com>
84235
84236         * lib/mountlist.c: Remove useless parentheses in #if directives.
84237         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
84238         the deprecated MOUNTED symbol is no longer defined in mntent.h.
84239
84240 2001-09-22  Jim Meyering  <meyering@lucent.com>
84241
84242         * m4/gettext.m4: New file.  From gettext.
84243         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
84244         * m4/progtest.m4: Likewise
84245         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
84246         * m4/glibc21.m4: Likewise.
84247
84248         * m4/libintl.m4: Remove.  No longer used.
84249
84250 2001-09-22  Jim Meyering  <meyering@lucent.com>
84251
84252         * lib/localcharset.c: Update from latest gettext.
84253         * lib/config.charset: Likewise.
84254
84255 2001-09-20  Jim Meyering  <meyering@lucent.com>
84256
84257         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
84258         strtoimax.
84259         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
84260         strtoumax.
84261
84262 2001-09-20  Jim Meyering  <meyering@lucent.com>
84263
84264         * lib/xstrtol.c (strtoimax): Guard declaration with
84265         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
84266         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
84267         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
84268         (strtoumax): Likewise, for completeness (it wasn't necessary).
84269
84270 2001-09-17  Paul Eggert  <eggert@twinsun.com>
84271
84272         * lib/strtoimax.c (HAVE_LONG_LONG):
84273         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
84274         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
84275         to work around bug in IBM C compiler.
84276
84277 2001-09-17  Jim Meyering  <meyering@lucent.com>
84278
84279         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
84280         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
84281         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
84282         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
84283         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
84284         whenever the right hand side need not be expanded by the shell.
84285
84286 2001-09-16  Paul Eggert  <eggert@twinsun.com>
84287
84288         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
84289         library.  It's not correct, as some older glibcs are buggy.
84290         fnmatch wasn't fixed until glibc 2.2.
84291
84292         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
84293         special shell magic here.
84294
84295 2001-09-16  Jim Meyering  <meyering@lucent.com>
84296
84297         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
84298         * m4/jm-macros.m4: Require it.
84299
84300 2001-09-16  Jim Meyering  <meyering@lucent.com>
84301
84302         * lib/mkdir.c: New file.
84303
84304 2001-09-15  Jim Meyering  <meyering@lucent.com>
84305
84306         * m4/jm-macros.m4: Check for help2man.
84307
84308 2001-09-11  Jim Meyering  <meyering@lucent.com>
84309
84310         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
84311         The body, by Paul Eggert, was moved here from configure.in.
84312         * m4/jm-macros.m4: Require UTILS_HOST_OS.
84313
84314 2001-09-04  Paul Eggert  <eggert@twinsun.com>
84315
84316         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
84317         (jm_PREREQ): Use it.
84318
84319 2001-09-04  Paul Eggert  <eggert@twinsun.com>
84320
84321         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
84322         Use ssize_t, not int, to store result of readlink.
84323         Check for ssize_t overflow as well as size_t overflow,
84324         as POSIX says the result of readlink is implementation-defined
84325         when ssize_t overflows.
84326         Remove unnecessary cast to char*.
84327         Use free+malloc instead of realloc, as the storage doesn't need
84328         to be preserved and it's clearer and can be more efficient that way.
84329         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
84330         * lib/xreadlink.h (xreadlink): Update prototype.
84331
84332 2001-09-04  Paul Eggert  <eggert@twinsun.com>
84333
84334         * lib/xgetcwd.c: Revert some of the previous change; intead,
84335         fix the HAVE_GETCWD_NULL code to behave more like the
84336         !HAVE_GETCWD_NULL code used to.
84337
84338         Include "xalloc.h".
84339         (xgetcwd): Do not return NULL when memory is exhausted; instead,
84340         invoke xalloc_die.
84341
84342 2001-09-03  Paul Eggert  <eggert@twinsun.com>
84343
84344         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
84345         sys/param.h, as pathmax.h includes them.
84346
84347 2001-09-03  Paul Eggert  <eggert@twinsun.com>
84348
84349         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
84350         (jm_PREREQ_XGETCWD): New macro.
84351
84352         * m4/getcwd.m4: New file.
84353
84354 2001-09-03  Paul Eggert  <eggert@twinsun.com>
84355
84356         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
84357         like the HAVE_GETCWD_NULL code.
84358         Include pathmax.h if not HAVE_GETCWD.
84359         Do not include xalloc.h.
84360         (INITIAL_BUFFER_SIZE): New symbol.
84361         Do not use xmalloc / xrealloc, since the caller is responsible for
84362         handling errors.  Preserve errno around `free' during failure.
84363         Do not overrun buffer when using getwd.
84364
84365 2001-09-03  Paul Eggert  <eggert@twinsun.com>
84366
84367         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
84368         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
84369         getcwd (NULL, 0).
84370
84371 2001-09-03  Paul Eggert  <eggert@twinsun.com>
84372
84373         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
84374         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
84375         spotted by Jim Meyering.
84376
84377 2001-09-03  Jim Meyering  <meyering@lucent.com>
84378
84379         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
84380         failure.
84381
84382 2001-09-02  Jim Meyering  <meyering@lucent.com>
84383
84384         * lib/error.c: Update from GNU libc.
84385
84386 2001-09-01  Jim Meyering  <meyering@lucent.com>
84387
84388         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
84389         Used by df.
84390
84391 2001-09-01  Jim Meyering  <meyering@lucent.com>
84392
84393         * lib/xreadlink.c: New file.
84394         * lib/xreadlink.h: New file.
84395         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
84396         xreadlink.h.
84397
84398         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
84399         doesn't conflict with sparc Solaris 7's definition in
84400         /usr/include/sys/int_types.h.
84401
84402         * lib/exclude.c: Use `""', not `<>' to #include non-system header
84403         files.
84404         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
84405         and strncasecmp as r-values.  Unixware didn't have declarations.
84406
84407 2001-08-31  Paul Eggert  <eggert@twinsun.com>
84408
84409         * lib/xstrtol.h: Add copyright notice.
84410         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
84411         LONGINT_INVALID_SUFFIX_CHAR.
84412
84413 2001-08-31  Paul Eggert  <eggert@twinsun.com>
84414
84415         * lib/xstrtol.c (strtoimax): New decl.
84416
84417 2001-08-31  Paul Eggert  <eggert@twinsun.com>
84418
84419         * lib/xgetcwd.c: Don't include pathmax.h.
84420         Include stdlib.h and unistd.h if available.
84421         Include xalloc.h.
84422         (xmalloc, xstrdup, free): Remove decls.
84423         (xgetcwd): Don't assume sizes fit in unsigned.
84424         Check for overflow when computing sizes.
84425         Simplify reallocation code.
84426
84427 2001-08-31  Paul Eggert  <eggert@twinsun.com>
84428
84429         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
84430         a directory's st_size can have an arbitrary value, so the old
84431         usage could waste an arbitrary amount of memory.  All uses
84432         changed.
84433         * lib/savedir.h: Update prototype.
84434
84435 2001-08-31  Paul Eggert  <eggert@twinsun.com>
84436
84437         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
84438
84439         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
84440         old strtoimax.c.
84441
84442         Also, make the following further changes to make this file's
84443         configuration more similar to that of strtol.c:
84444         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
84445         (strtoumax, uintmax_t, strtoull, strtol): Remove.
84446         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
84447         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
84448         changed to signed values.
84449
84450         And make the following changes as well:
84451         Fix copyright notice, as 1999 was missing.
84452         (verify): New macro.
84453         (strtoimax): Check sizes at compile-time, not run-time.
84454         Prefer strtol to strtoll if both work.
84455         (main): Remove; it was not that useful and was a pain to maintain.
84456
84457         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
84458
84459 2001-08-31  Jim Meyering  <meyering@lucent.com>
84460
84461         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
84462         Use an initial, malloc'd, buffer of length 128 rather than
84463         a statically allocated one of length 1024.
84464
84465 2001-08-30  Paul Eggert  <eggert@twinsun.com>
84466
84467         Simplify code, partly by assuming autoconf 2.52 semantics.
84468
84469         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
84470
84471         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
84472         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
84473         All uses removed.
84474         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
84475         Move AC_REQUIRE to next-to-top level, to avoid confusion.
84476         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
84477         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
84478         jm_AC_HEADER_INTTYPES_H.
84479         * m4/jm-macros.m4 (jm_MACROS): Likewise.
84480
84481         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
84482
84483         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
84484         Quote first arg of AC_DEFUN.
84485         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
84486         since they are needed to parse the include file even if we need
84487         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
84488         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
84489         but with opposite signedness.
84490
84491 2001-08-30  Paul Eggert  <eggert@twinsun.com>
84492
84493         Merge 'exclude' changes from tar 1.13.22.
84494         This fixes one or two unlikely storage allocation overflow bugs,
84495         but doesn't change user-visible behavior otherwise.
84496
84497 2001-08-30  Paul Eggert  <eggert@twinsun.com>
84498
84499         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
84500         (jm_PREREQ_EXCLUDE): New macro.
84501
84502 2001-08-30  Paul Eggert  <eggert@twinsun.com>
84503
84504         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
84505         tm to be declared.
84506
84507 2001-08-30  Paul Eggert  <eggert@twinsun.com>
84508
84509         * lib/hash.c: Remove '2001' from copyright notice.
84510
84511 2001-08-30  Paul Eggert  <eggert@twinsun.com>
84512
84513         * lib/full-write.h: New file.
84514         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
84515         * lib/full-write.c: Correct credits, as cccp.c no longer
84516         exists and anyway it was so heavily changed from the old cccp
84517         code as to be unrecognizable.  Include full-write.h.
84518         (full_write): Return size_t, with short writes meaning failure.
84519         All callers changed.  This fixes a bug with large buffers
84520         on 64-bit hosts.
84521         * lib/utime.c: Include full-write.h.
84522
84523 2001-08-30  Paul Eggert  <eggert@twinsun.com>
84524
84525         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
84526         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
84527         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
84528         Include if available.
84529         (<xalloc.h>): Include
84530         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
84531         (verify): New macro.  Use it to verify that EXCLUDE macros do not
84532         collide with FNM macros.
84533         (struct patopts): New struct.
84534         (struct exclude): Use it, as exclude patterns now come with options.
84535         (new_exclude): Support above changes.
84536         (new_exclude, add_exclude_file):
84537         Initial size must now be a power of two to simplify overflow checking.
84538         (free_exclude, fnmatch_no_wildcards): New function.
84539         (excluded_filename): No longer requires options arg, as the options
84540         are determined by add_exclude.  Now returns bool, not int.
84541         (excluded_filename, add_exclude):
84542         Add support for the fancy new exclusion options.
84543         (add_exclude, add_exclude_file): Now takes int options arg.
84544         Check for arithmetic overflow when computing sizes.
84545         (add_exclude_file): xrealloc might modify errno, so don't
84546         realloc until after errno might be used.
84547
84548         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
84549         New macros.
84550         (free_exclude): New decl.
84551         (add_exclude, add_exclude_file): Now takes int options arg.
84552         (excluded_filename): No longer requires options arg, as the options
84553         are determined by add_exclude.  Now returns bool, not int.
84554
84555 2001-08-30  Paul Eggert  <eggert@twinsun.com>
84556
84557         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
84558
84559 2001-08-27  Jim Meyering  <meyering@lucent.com>
84560
84561         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
84562
84563         * lib/version-etc.c (N_): Remove definition.
84564         Revert most of last change.
84565         Instead, simply don't mark the `Copyright...' string for translation.
84566         Based on advice from Paul Eggert.
84567
84568         * lib/strtoxmax.c: Tweak comment.
84569
84570 2001-08-26  Jim Meyering  <meyering@lucent.com>
84571
84572         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
84573
84574         * m4/xstrtoimax.m4: New file.
84575         * m4/xstrtoumax.m4: Add comments explaining why we
84576         AC_REPLACE_FUNCS(strtol).
84577
84578 2001-08-26  Jim Meyering  <meyering@lucent.com>
84579
84580         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
84581         of copyright with `%s' so translators don't get an untranslated
84582         message in 2002.
84583         (COPYRIGHT_YEAR): Define.
84584         (version_etc): Use fprintf rather than fputs.
84585         Suggestion from Ulrich Drepper.
84586
84587         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
84588
84589         * lib/strtoll.c: New file, from GNU libc.
84590         * lib/xstrtoimax.c: New file.
84591
84592         * lib/xstrtol.h: Add xstrtoimax.
84593         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
84594         * lib/strtoimax.c: New file.  Likewise, but first define
84595         STRTOUXMAX_SIGNED.
84596
84597         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
84598         ...
84599         * lib/strtoxmax.c: ... then renamed to this.
84600
84601 2001-08-18  Paul Eggert  <eggert@twinsun.com>
84602
84603         * m4/inttypes.m4: Add AC_PREREQ(2.13).
84604         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
84605         (jm_AC_TYPE_INTMAX_T): New macro.
84606         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
84607
84608         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
84609
84610         * m4/longlong.m4: Renamed from ulonglong.m4.
84611         * m4/inttypes.m4: Renamed from inttypes_h.m4.
84612         * m4/uintmax_t.m4: Removed.
84613
84614 2001-08-13  Paul Eggert  <eggert@twinsun.com>
84615
84616         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
84617         Port to Solaris 8, where 'sed' requires a space after the 'r'
84618         command, and where sh dislikes "$/".  Clean up the spacing a bit.
84619         Redirect output to $tmp just once.
84620
84621 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
84622
84623         * lib/addext.c (<errno.h>): Include.
84624         (errno): Declare if not defined.
84625         (addext): Work correctly when pathconf returns -1 and leaves
84626         errno alone because there is no limit.  Also, work even if
84627         pathconf returns a value greater than SIZE_MAX.
84628
84629 2001-08-12  Jim Meyering  <meyering@lucent.com>
84630
84631         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
84632         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
84633         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
84634         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
84635         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
84636         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
84637         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
84638         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
84639         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
84640         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
84641         utime.m4, utimes.m4, xstrtoumax.m4:
84642         Quote the first argument in each use of AC_DEFUN.
84643
84644 2001-08-12  Jim Meyering  <meyering@lucent.com>
84645
84646         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
84647         Simply `return getcwd (NULL, 0);'.
84648         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
84649         Use 1300 as initial value for length, not PATH_MAX.
84650
84651         * lib/pathmax.h: Clean up cpp syntax.
84652
84653 2001-08-12  Jim Meyering  <meyering@lucent.com>
84654
84655         * lib/gettimeofday.c: New file.
84656         * lib/gtod.h: New file.
84657         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
84658
84659 2001-08-05  Jim Meyering  <meyering@lucent.com>
84660
84661         * m4/jm-macros.m4: Require autoconf-2.52.
84662
84663 2001-08-04  Jim Meyering  <meyering@lucent.com>
84664
84665         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
84666         stmt, to get in sync with glibc.
84667
84668 2001-08-03  Paul Eggert  <eggert@twinsun.com>
84669
84670         The following changes are from gettext 0.10.39 as maintained by
84671         Bruno Haible.
84672
84673         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
84674         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
84675         with inverted sense.  All uses changed.
84676
84677         * lib/mbswidth.c: Don't include <limits.h>.
84678         Include <stdlib.h> and <string.h> unconditionally.
84679         (iswcntrl, mbsinit, ISCNTRL): New macros.
84680         (mbsnwidth): Use K&R style function declarations.
84681         Don't bother checking for MB_LEN_MAX == 1, since the compiler
84682         can optimize it when MB_CUR_MAX == 1.
84683         The width of control characters is zero, not 1.
84684
84685 2001-08-03  Paul Eggert  <eggert@twinsun.com>
84686
84687         The following changes are from gettext 0.10.39 as maintained by
84688         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
84689
84690         * m4/codeset.m4: Upgrade to serial AM1.
84691         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
84692         all uses changed.  Quote first arg of AC_DEFUN.
84693         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
84694
84695         * m4/iconv.m4: Upgrade to serial AM2.
84696         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
84697         Add --with-libconv-prefix.
84698         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
84699         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
84700         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
84701         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
84702         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
84703
84704         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
84705         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
84706         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
84707         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
84708         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
84709         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
84710         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
84711         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
84712         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
84713
84714         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
84715         string.h any more.
84716
84717         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
84718         not the default value.
84719
84720         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
84721         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
84722         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
84723         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
84724         Also check for iswcntrl, used for wcwidth fallback.
84725         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
84726         to Autoconf 2.13.
84727
84728 2001-08-03  Jim Meyering  <meyering@lucent.com>
84729
84730         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
84731         as it was in the original.  Reported by Paul Eggert.
84732
84733 2001-07-16  Jim Meyering  <meyering@lucent.com>
84734
84735         * m4/gettimeofday.m4: New file.
84736         Prompted by a report from Bernhard Baehr.
84737
84738 2001-07-15  Jim Meyering  <meyering@lucent.com>
84739
84740         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
84741         stuff. Now it's in ../Makefile.cfg.
84742
84743 2001-07-15  Jim Meyering  <meyering@lucent.com>
84744
84745         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
84746         (BUILT_SOURCES): Add unlocked-io.h.
84747         (io_functions): Define.
84748         (unlocked-io.h): New rule.
84749         (DISTCLEANFILES): Add unlocked-io.h.
84750         (all-local): Depend on unlocked-io.h, to ensure it is created.
84751
84752         * lib/unlocked-io.hin: New file
84753
84754         * lib/regex.c: Update from glibc.
84755
84756 2001-07-05  Jim Meyering  <meyering@lucent.com>
84757
84758         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
84759         recommendation.
84760         (libfetish_a_SOURCES): Put all .h files here instead.
84761         Remove a thus-exposed (better checks in automake) duplicate and
84762         two unnecessary .h files.
84763
84764 2001-07-04  Jim Meyering  <meyering@lucent.com>
84765
84766         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
84767         that generates jm-glibc-io.m4 so that it doesn't trigger any make
84768         distcheck failure.
84769
84770 2001-07-02  Jim Meyering  <meyering@lucent.com>
84771
84772         The following changes were prompted by suggestions from Bruno Haible.
84773
84774         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
84775         is now generated.
84776         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
84777         definition of EXTRA_DIST.
84778         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
84779         ensure that the generated file is created/updated whenever the list
84780         of $(unlocked_functions) is changed.
84781         (jm-glibc-io.m4): New rule.
84782         (unlocked-io.h): New rule -- currently unused.
84783
84784 2001-06-24  Jim Meyering  <meyering@lucent.com>
84785
84786         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
84787         unmatched right bracket, rather than kludging it with an extra,
84788         falsely-matching quote in a comment.  Patch by Akim Demaille.
84789
84790 2001-06-11  Jim Meyering  <meyering@lucent.com>
84791
84792         * lib/regex.c: Update from GNU libc.
84793
84794 2001-05-27  Jim Meyering  <meyering@lucent.com>
84795
84796         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
84797         Check for ut_type in struct utmp.
84798
84799 2001-05-27  Jim Meyering  <meyering@lucent.com>
84800
84801         * lib/readutmp.h (UT_TYPE): Define.
84802
84803 2001-05-24  Jim Meyering  <meyering@lucent.com>
84804
84805         * lib/argmatch.c: Include "quote.h".
84806         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
84807         quote function.  Reported by Göran Uddeborg.
84808
84809 2001-05-22  Jim Meyering  <meyering@lucent.com>
84810
84811         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
84812         now that we use the package-supplied version unconditionally.
84813         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
84814
84815 2001-05-21  Jim Meyering  <meyering@lucent.com>
84816
84817         * m4/regex.m4: Change a couple backticks to single quotes to avoid
84818         shell syntax errors.
84819
84820 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
84821
84822         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
84823
84824 2001-05-20  Paul Eggert  <eggert@twinsun.com>
84825
84826         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
84827         Don't bother to check library strftime, since
84828         we'll be using our own my_strftime function anyway.
84829         Define my_strftime instead of strftime.
84830
84831 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
84832
84833         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
84834         which is not yet declared.
84835
84836 2001-05-15  Jim Meyering  <meyering@lucent.com>
84837
84838         * m4/regex.m4: Use proper quoting so brackets appear in the test
84839         program.
84840         Reported by, and with help from, Bruno Haible.
84841
84842 2001-05-13  Jim Meyering  <meyering@lucent.com>
84843
84844         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
84845         undefined.
84846
84847 2001-05-11  Paul Eggert  <eggert@twinsun.com>
84848
84849         dirname code cleanup.  base_name now behaves more compatibly
84850         with POSIX basename when given file names that have trailing
84851         slashes, and similarly for dir_name.  Add new primitives
84852         base_len and dir_len.  Put the directory-name-related decls
84853         into dirname.h.
84854
84855         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
84856         * lib/backupfile.c (base_name): Likewise.
84857         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
84858         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
84859         * lib/makepath.c (strip_trailing_slashes): Likewise.
84860         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
84861         ISSLASH): Likewise.
84862         * lib/rename.c (strip_trailing_slashes): Likewise.
84863         * lib/same.c (base_name): Likewise.
84864         * lib/stripslash.c (ISSLASH): Likewise.
84865
84866         * lib/addext.c: Include <dirname.h> after size_t is defined.
84867         * lib/backupfile.c: Likewise.
84868
84869         * lib/addext.c (addext): Use base_len to trim redundant
84870         trailing slashes instead of doing it ourselves.
84871         But do not trim the last slash if it is not redundant.
84872
84873         * lib/backupfile.c (find_backup_file_name,
84874         max_backup_version): Use base_len instead of rolling it ourselves.
84875         Handle the case of "" and (on DOS) "C:" correctly.
84876
84877         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
84878         needed. Include <string.h>, <dirname.h>.
84879         (base_name): Allow file names ending in slashes, other than names
84880         that are all slashes.  In this case, return the basename followed
84881         by the slashes.  This is more general, and can be used in places
84882         where the original base_name purposely had an assertion failure.
84883         (base_len): New function.
84884
84885         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
84886         Do not include <assert.h>; no longer needed.
84887         Include xalloc.h.
84888         (memrchr): Remove decl.
84889         (dir_name_r): Remove.
84890         (dir_len): Renamed from dirlen.  All callers changed.
84891         Rewrite in terms of base_name, for simplicity and consistency.
84892         (dir_name): Never return NULL.  All callers changed.
84893         Do not include <stdlib.h> in test program; no longer needed.
84894         return 0; is fine for test program.
84895
84896         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
84897         New macros.
84898         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
84899
84900         * lib/path-concat.c (path_concat): Use base_len to compute
84901         base length, not strlen; this means we cannot rely on memcpy
84902         to null-terminate.
84903
84904         * lib/same.c (STREQ): Remove.
84905         (same_name): Handle the case where the basename ends in trailing '/'.
84906
84907         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
84908         a slash was stripped.  Do not strip the last slash after a
84909         file system prefix.
84910
84911 2001-05-11  Paul Eggert  <eggert@twinsun.com>
84912
84913         * lib/Makefile.am (libfetish_a_SOURCES):
84914         Add strftime.c, since we now compile it on all hosts.
84915
84916         * lib/strftime.c (my_strftime):
84917         Define to nstrftime if emacs, but only if my_strftime is not defined.
84918         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
84919         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
84920         Add one more extra argument: a nanoseconds value.
84921         All uses changed.
84922         (ns): New macro.
84923         (my_strftime function): Add %N format.
84924         (emacs_strftimeu): Renamed from emacs_strftime,
84925         with extra ut argument.
84926
84927 2001-05-09  Paul Eggert  <eggert@twinsun.com>
84928
84929         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
84930
84931 2001-04-21  Jim Meyering  <meyering@lucent.com>
84932
84933         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
84934         doesn't interfere.
84935
84936 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
84937
84938         * m4/ftruncate.m4: Check for chsize.
84939         Link with ftruncate.o unconditionally if ftruncate is missing.
84940         This was required when cross-compiling to i586-mingw32msvc.
84941
84942 2001-04-08  Jim Meyering  <meyering@lucent.com>
84943
84944         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
84945         recomputed; that's necessary when the offset spans a DST transition.
84946         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
84947
84948 2001-04-02  Jim Meyering  <meyering@lucent.com>
84949
84950         * lib/regex.h, regex.c: Update from GNU libc.
84951
84952 2001-03-24  Jim Meyering  <meyering@lucent.com>
84953
84954         * m4/jm-macros.m4: Require autoconf-2.49d.
84955
84956 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
84957
84958         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
84959
84960 2001-03-19  Paul Eggert  <eggert@twinsun.com>
84961
84962         * lib/version-etc.c (version_etc_copyright): Update to 2001.
84963
84964 2001-03-17  Jim Meyering  <meyering@lucent.com>
84965
84966         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
84967         now that the version in autoconf is equivalent.
84968         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
84969
84970         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
84971         Suggestion from Akim Demaille.
84972
84973         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
84974         (jm_PREREQ_TEMPNAME): New function.
84975
84976 2001-03-16  Paul Eggert  <eggert@twinsun.com>
84977
84978         * lib/tempname.c (uint64_t): Define to uintmax_t if
84979         not defined, and if UINT64_MAX is not defined.
84980         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
84981         Reported by John David Anglin.
84982
84983 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
84984
84985         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
84986         resolve alias if codeset is empty.
84987         * lib/config.charset (BeOS): Use wildcard syntax.
84988
84989 2001-03-13  Jim Meyering  <meyering@lucent.com>
84990
84991         * lib/path-concat.c (path_concat)
84992         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
84993         concatenating e.g., `C:' and `foo'.
84994         From Bruno Haible.
84995
84996 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
84997
84998         * lib/localcharset.c (locale_charset): Don't use
84999         setlocale(LC_CTYPE,NULL). Don't return NULL.
85000         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
85001
85002 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
85003
85004         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
85005         support for DOS/DJGPP.
85006
85007 2001-03-01  Paul Eggert  <eggert@twinsun.com>
85008
85009         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
85010         lacks mkstemp.  Compile our own tempname.c if we compile our own
85011         mkstemp.c, as mkstemp relies on tempname.
85012
85013 2001-03-01  Jim Meyering  <meyering@lucent.com>
85014
85015         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
85016         AH_VERBATIM really does output its argument verbatim.
85017
85018 2001-02-28  Paul Eggert  <eggert@twinsun.com>
85019
85020         * lib/Makefile.am (libfetish_a_SOURCES):
85021         Add dup-safer.c, fopen-safer.c.
85022         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
85023
85024         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
85025         * lib/unistd-safer.h: New files.
85026
85027 2001-02-25  Paul Eggert  <eggert@twinsun.com>
85028
85029         The mkstemp replacement is taken from glibc 2.2.2, with some
85030         portability fixes for use outside glibc, as follows:
85031
85032         * lib/tempname.c (struct_stat64): New macro.
85033         (direxists, __gen_tempname): Use it.
85034         This avoids a portability problem with Solaris 8.
85035
85036         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
85037         (<stddef.h>, <stdint.h>, <string.h>):
85038         Include only if STDC_HEADERS || _LIBC.
85039         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
85040         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
85041         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
85042         (__set_errno): Define this macro if <errno.h> doesn't.
85043         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
85044         Define these macros if <stdio.h> doesn't.
85045         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
85046         Define these macros if <sys/stat.h>
85047         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
85048         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
85049         __xstat64): Define if not _LIBC.
85050         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
85051         (__gen_tempname): Invoke gettimeofday only if
85052         HAVE_GETTIMEOFDAY || _LIBC;
85053         otherwise, fall back on plain "time".
85054         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
85055
85056         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
85057
85058         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
85059
85060 2001-02-18  Paul Eggert  <eggert@twinsun.com>
85061
85062         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
85063
85064 2001-02-17  Paul Eggert  <eggert@twinsun.com>
85065
85066         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
85067         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
85068         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
85069         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
85070
85071 2001-02-17  Paul Eggert  <eggert@twinsun.com>
85072
85073         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
85074         Remove workaround macros for hosts that have mbrtowc but not
85075         mbstate_t, as we now insist on proper declarations for both
85076         before using mbrtowc.
85077
85078 2001-02-17  Jim Meyering  <meyering@lucent.com>
85079
85080         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
85081         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
85082         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
85083         UnixWare 7.1.1.
85084
85085         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
85086         rather than AC_CACHE_VAL.
85087
85088 2001-02-17  Jim Meyering  <meyering@lucent.com>
85089
85090         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
85091         around included file name.
85092
85093         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
85094
85095         * lib/strftime.c: Update from GNU libc (the only changes were to
85096         comments).
85097
85098 2001-02-17  Jim Meyering  <meyering@lucent.com>
85099
85100         * lib/regex.c: Update from libc.
85101
85102 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
85103
85104         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
85105         clash.
85106
85107 2001-02-16  Paul Eggert  <eggert@twinsun.com>
85108
85109         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
85110         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
85111         Reported by Mark Hounschell via Paul Eggert.
85112
85113 2001-02-07  Jim Meyering  <meyering@lucent.com>
85114
85115         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
85116
85117 2001-02-05  Jim Meyering  <meyering@lucent.com>
85118
85119         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
85120         it includes the patch required for `large file' support with at least
85121         HP-UX's 10.20 /bin/cc.
85122
85123 2001-02-03  Jim Meyering  <meyering@lucent.com>
85124
85125         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
85126         AS_IF, now that it works once again (mysteriously).
85127         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
85128
85129 2001-01-30  Jim Meyering  <meyering@lucent.com>
85130
85131         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
85132         * m4/chown.m4: Rename conftestchown to conftest.chown.
85133         * m4/rename.m4: s/conftestdir/conftest.d1/ and
85134         s/conftestdir2/conftest.d2/.
85135         * m4/utimes.m4: s/conftestdata/conftest.data/
85136         Inspired by Pavel Roskin's change in autoconf.
85137
85138 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
85139
85140         * lib/config.charset: Update for FreeBSD 4.2.
85141
85142 2001-01-27  Jim Meyering  <meyering@lucent.com>
85143
85144         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
85145         a use of AS_IF.
85146         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
85147
85148 2001-01-26  Jim Meyering  <meyering@lucent.com>
85149
85150         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
85151         quotearg.c includes it.
85152
85153 2001-01-26  Jim Meyering  <meyering@lucent.com>
85154
85155         * lib/quotearg.c: Include stddef.h.
85156         * lib/quote.c: Include stddef.h.
85157         Reported by Axel Kittenberger.
85158
85159         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
85160         line in double quotes so that it evokes a better diagnostic.
85161         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
85162         Reported by Axel Kittenberger.
85163
85164 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
85165
85166         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
85167         as if it was a `charset'.
85168
85169 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
85170
85171         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
85172         has const.
85173
85174 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
85175
85176         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
85177         to avoid a warning.  Add back 'const' to inptr.
85178
85179 2001-01-20  Jim Meyering  <meyering@lucent.com>
85180
85181         Be sure that headers are checked before used in code compiled
85182         for the type checks.
85183         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
85184         In place of that, invoke jm_CHECK_ALL_TYPES.
85185         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
85186         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
85187         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
85188         The check for ssize_t was mistakenly run before the test for unistd.h.
85189
85190         The configure-time check for stdbool.h was missing.
85191         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
85192         (jm_PREREQ_HASH): New function.
85193
85194 2001-01-17  Jim Meyering  <meyering@lucent.com>
85195
85196         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
85197         for autoconf-2.49c.
85198         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
85199
85200 2001-01-16  Jim Meyering  <meyering@lucent.com>
85201
85202         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
85203         From Bruno Haible.
85204
85205 2001-01-14  Jim Meyering  <meyering@lucent.com>
85206
85207         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
85208         foo and bar.  Create conftestdir/ in the script, not in the C code.
85209         Remove directories in the script, not in the C code.
85210         Remove conftestdir{,2} before trying to create the directory.
85211         Make the entire configure script fail if the mkdir fails.
85212
85213 2001-01-14  Jim Meyering  <meyering@lucent.com>
85214
85215         * lib/rename.c: New file.  From Volker Borchert.
85216         Include stdlib.h, string.h or strings.h, and xalloc.h.
85217         Use strip_trailing_slashes rather than open-coding it.
85218
85219 2001-01-03  Paul Eggert  <eggert@twinsun.com>
85220
85221         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
85222
85223 2001-01-03  Jim Meyering  <meyering@lucent.com>
85224
85225         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
85226         of local `inptr' to avoid warning with some system declarations of
85227         iconv.
85228
85229 2001-01-02  Volker Borchert  <bt@teknon.de>
85230
85231         * m4/rename.m4: New file.
85232         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
85233
85234 2001-01-01  Jim Meyering  <meyering@lucent.com>
85235
85236         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
85237         even on systems with utmpx.h.  It's necessary for the declaration of
85238         utmp's ut_user member.  Reported by Andreas Jaeger.
85239
85240         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
85241         available. They are required for the declarations of getgrgid and
85242         getpwuid resp.
85243         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
85244         Reported by Andreas Jaeger.
85245
85246 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
85247
85248         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
85249         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
85250         so `make install' also works in VPATH builds.
85251
85252 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
85253
85254         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
85255         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
85256         can be used in subdirectories.
85257
85258 2000-12-29  Paul Eggert  <eggert@twinsun.com>
85259
85260         * lib/modechange.c: Do not assume that mode_t uses the
85261         traditional octal encoding.  E.g. "chmod 1 FOO" should set
85262         the other-execute bit of FOO even if S_IXOTH != 1.
85263
85264         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
85265         WOTH, XOTH, ALLM): New macros.
85266         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
85267          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
85268         Use them.
85269         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
85270         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
85271         (mode_compile):
85272         No need to use uintmax_t; unsigned long is long enough.
85273         Don't bother to get suffix since we don't use it.
85274
85275 2000-12-26  Jim Meyering  <meyering@lucent.com>
85276
85277         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
85278         better with autoheader.
85279
85280 2000-12-24  Jim Meyering  <meyering@lucent.com>
85281
85282         * lib/hash.c (is_prime): Return explicit boolean values.
85283         (hash_get_first): Return NULL to appease Irix5.6's 89.
85284         Reported by Nelson Beebe.
85285
85286 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
85287
85288         * lib/localcharset.c (locale_charset): Add support for Win32.
85289
85290 2000-12-18  Paul Eggert  <eggert@twinsun.com>
85291
85292         * lib/physmem.h, lib/physmem.c: New files.
85293
85294         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
85295         (noinst_HEADERS): Add physmem.h.
85296
85297         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
85298         't' for compatibility with Solaris 8 sort.
85299
85300 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
85301
85302         * lib/config.charset: Add support for BeOS.
85303
85304 2000-12-17  Jim Meyering  <meyering@lucent.com>
85305
85306         * m4/dos.m4 (jm_AC_DOS): New file and macro.
85307         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
85308
85309 2000-12-16  Jim Meyering  <meyering@lucent.com>
85310
85311         This bug had a serious impact on chown: `chown N:M FILE' (for integer
85312         N and M) would have treated it like `chown N:N FILE'.
85313
85314         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
85315
85316 2000-12-16  Jim Meyering  <meyering@lucent.com>
85317
85318         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
85319         SHELLS_FILE to a file name that's useful on djgpp systems.
85320         Include stdlib.h.
85321         (ADDITIONAL_DEFAULT_SHELLS): Define.
85322         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
85323         Based mostly on a patch from Prashant TR.
85324
85325 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
85326
85327         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
85328         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
85329         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
85330
85331 2000-12-08  Andreas Schwab  <schwab@suse.de>
85332
85333         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
85334         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
85335
85336 2000-12-07  Jim Meyering  <meyering@lucent.com>
85337
85338         * lib/stripslash.c (ISSLASH): Define.
85339         (strip_trailing_slashes): Use ISSLASH rather than comparing against
85340         `/'.
85341         From Prashant TR.
85342
85343         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
85344         (dir_name_r): Declare this function as static.
85345         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
85346         manifest itself on a name containing a mix of slashes and
85347         backslashes.
85348         Make this function work with names starting with a DOS-style
85349         drive letter and colon prefix.
85350         (dir_name): Append `.' if necessary.
85351         Based mostly on patches from Prashant TR and Eli Zaretskii.
85352
85353         * lib/dirname.h (dir_name_r): Remove prototype.
85354
85355 2000-12-06  Paul Eggert  <eggert@twinsun.com>
85356
85357         * m4/off_t-format.m4: Remove this file.
85358         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
85359
85360 2000-12-06  Jim Meyering  <meyering@lucent.com>
85361
85362         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
85363         replacement strtoull, we may well need the replacement strtoul, too.
85364         Check for declarations of strtoul and strtoull.
85365         Check for strtol.  Mainly as a cue to cause automake to include
85366         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
85367         Check for limits.h -- strtol.c needs it.
85368
85369 2000-12-05  Jim Meyering  <meyering@lucent.com>
85370
85371         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
85372
85373 2000-12-04  Jim Meyering  <meyering@lucent.com>
85374
85375         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
85376         Also include memory.h, stdlib.h, unistd.h if appropriate.
85377         Reported by Andreas Jaeger (conflicting declaration of malloc).
85378
85379 2000-12-02  Jim Meyering  <meyering@lucent.com>
85380
85381         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
85382         * m4/jm-macros.m4 (jm_MACROS): require it.
85383
85384 2000-12-02  Jim Meyering  <meyering@lucent.com>
85385
85386         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
85387
85388 2000-12-01  Paul Eggert  <eggert@twinsun.com>
85389
85390         * lib/memrchr.c: Include <config.h> before any system include file.
85391
85392 2000-11-30  Jim Meyering  <meyering@lucent.com>
85393
85394         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
85395
85396 2000-11-30  Jim Meyering  <meyering@lucent.com>
85397
85398         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
85399
85400 2000-11-29  Paul Eggert  <eggert@twinsun.com>
85401
85402         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
85403
85404 2000-11-26  Jim Meyering  <meyering@lucent.com>
85405
85406         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
85407
85408 2000-11-22  Paul Eggert  <eggert@twinsun.com>
85409
85410         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
85411         size of (size_t) -1; it's not portable.
85412
85413 2000-11-17  Jim Meyering  <meyering@lucent.com>
85414
85415         * lib/strstr.c: Update from GNU libc.
85416
85417 2000-11-17  Akim Demaille  <akim@epita.fr>
85418
85419         * lib/obstack.h: Formatting changes.
85420         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
85421         prevent type checking.
85422         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
85423         cast the value to (void *): assigning a `foo *' to a `void *'
85424         variable is valid.
85425         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
85426
85427 2000-11-16  Jim Meyering  <meyering@lucent.com>
85428
85429         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
85430
85431 2000-11-11  Jim Meyering  <meyering@lucent.com>
85432
85433         * lib/error.c: Add a couple #includes, merging from GNU libc version.
85434
85435 2000-11-10  Jim Meyering  <meyering@lucent.com>
85436
85437         * lib/obstack.h: Update from GNU libc.
85438         * lib/obstack.c: Likewise.
85439
85440 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
85441
85442         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
85443
85444 2000-11-06  Paul Eggert  <eggert@twinsun.com>
85445
85446         * lib/getusershell.c (setusershell): Use rewind rather than
85447         fseek/fseeko, to avoid configuration hassles with fseeko.
85448         Don't bother opening SHELLS_FILE if shellstream is NULL;
85449         it's not necessary.
85450
85451 2000-11-05  Jim Meyering  <meyering@lucent.com>
85452
85453         * lib/makepath.h (make_dir): Declare.
85454         * lib/makepath.c (make_dir): Remove `static' attribute.
85455         Tweak a comment.
85456
85457 2000-11-04  Jim Meyering  <meyering@lucent.com>
85458
85459         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
85460
85461 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
85462
85463         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
85464         last one in a bucket, advance to the next bucket.
85465
85466 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
85467
85468         * lib/fnmatch.c: Do not comment out all the code if we are using
85469         the GNU C library, because in some cases we are replacing buggy
85470         code in the GNU C library itself.
85471
85472 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
85473
85474         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
85475         (regex_compile): Catch bogus \(\1\).
85476
85477 2000-10-30  Paul Eggert  <eggert@twinsun.com>
85478
85479         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
85480         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
85481         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
85482
85483 2000-10-30  Paul Eggert  <eggert@twinsun.com>
85484
85485         * lib/error.h, getline.h, modechange.h:
85486         Remove "2000" from Copyright line, as the file hasn't been
85487         changed this year other than in the copyright notice.
85488
85489         * lib/xalloc.h: Add "2000" to Copyright line, as this file
85490         was changed this year.
85491
85492 2000-10-29  Jim Meyering  <meyering@lucent.com>
85493
85494         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
85495         renaming.
85496         * m4/ls-mntd-fs.m4: Likewise
85497
85498 2000-10-29  Jim Meyering  <meyering@lucent.com>
85499
85500         * lib/xstat.in: Fix grammar in comment.
85501
85502 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
85503
85504         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
85505         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
85506         doesn't define __restrict_arr.
85507
85508 2000-10-28  Jim Meyering  <meyering@lucent.com>
85509
85510         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
85511         (jm_PREREQ_MEMCHR): New function.
85512
85513 2000-10-28  Jim Meyering  <meyering@lucent.com>
85514
85515         * lib/memchr.c: Update from libc.
85516         Adjust for portability:
85517         [HAVE_STDLIB_H]: Include stdlib.h.
85518         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
85519         Undef __memchr, too.
85520         [!weak_alias]: Define __memchr to memchr.
85521
85522         * lib/regex.c: Update from libc.
85523         * lib/regex.h: Likewise.
85524         * lib/getopt1.c: Likewise.
85525         * lib/memcmp.c: Likewise.
85526
85527         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
85528         Avoid using fseek, when possible -- it's broken by design.
85529         Patch by Ulrich Drepper.
85530
85531 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
85532
85533         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
85534         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
85535         Giving in to popular pressure to shut up the compiler with casts.
85536
85537 2000-10-26  Jim Meyering  <meyering@lucent.com>
85538
85539         * lib/strftime.c: Update from libc.
85540
85541 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
85542
85543         * regex.c: More `unsigned char' -> `re_char' changes.
85544         Also change several `int' into `re_wchar_t'.
85545         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
85546         (PUSH_FAILURE_POINTER): Don't cast any more.
85547         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
85548         We want GCC to complain, since this piece of code makes
85549         re_match non-reentrant, which *should* be fixed.
85550         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
85551         (EXTEND_BUFFER): Use RETALLOC.
85552         (SET_LIST_BIT): Don't cast.
85553         (re_wchar_t): New type.
85554         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
85555         that those two functions will always properly return.
85556         (IMMEDIATE_QUIT_CHECK): Cast to void.
85557         (analyse_first): Use recursion rather than an explicit stack.
85558         (re_compile_fastmap): Can't fail anymore.
85559         (re_search_2): Don't check re_compile_fastmap for failure.
85560         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
85561         Now also sets the new value (passed in a new argument).
85562         (re_match_2_internal): Use it.
85563         Also, use a new var `reg' of type size_t when looping through regs
85564         rather than reuse the inappropriate `mcnt'.
85565
85566 2000-10-25  Jim Meyering  <meyering@lucent.com>
85567
85568         * lib/obstack.c: Update from libc.
85569
85570 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
85571
85572         * regex.c (regex_compile): Change the way of handling a range from
85573         a char less than 256 to a char not less than 256.
85574
85575 2000-10-24  Andrew Innes  <andrewi@gnu.org>
85576
85577         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
85578         NT-Emacs only.
85579         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
85580         so that re_search functions only quit when callers expect them to.
85581
85582 2000-10-23  Jim Meyering  <meyering@lucent.com>
85583
85584         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
85585         wrong.  That set_locale call must not have any side effects.
85586         From Paul Eggert.
85587
85588 2000-10-22  Jim Meyering  <meyering@lucent.com>
85589
85590         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
85591         [CYCLIC]: Remove now-unused definition.
85592
85593         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
85594         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
85595         Suggestion from Ulrich Drepper.
85596
85597 2000-10-21  Jim Meyering  <meyering@lucent.com>
85598
85599         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
85600         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
85601         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
85602
85603 2000-10-21  Jim Meyering  <meyering@lucent.com>
85604
85605         * lib/dirname.c (memrchr): Declare if necessary.
85606         (dir_name): Remove the restriction that there be no
85607         trailing slashes.  Now, this code skips past them, effectively
85608         ignoring them.
85609         [TEST_DIRNAME] (main): New unit tests.
85610
85611         * lib/memrchr.c: New file from GNU libc.
85612         Undef __memrchr, too.
85613         [!weak_alias]: Define __memrchr to memrchr.
85614         Guard weak_alias use with `#ifdef weak_alias'.
85615
85616 2000-10-21  Jim Meyering  <meyering@lucent.com>
85617
85618         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
85619         (dir_name): Use dir_name_r.
85620         * lib/dirname.h (dir_name_r): Declare it.
85621
85622 2000-10-17  Jim Meyering  <meyering@lucent.com>
85623
85624         * lib/quote.h (PARAMS): Define and use.
85625         Reported by Akim Demaille.
85626
85627         * lib/getopt.c: Update from libc.
85628
85629 2000-10-16  Jim Meyering  <meyering@lucent.com>
85630
85631         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
85632         setlocale.
85633         From Jan Fedak.
85634
85635 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
85636
85637         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
85638
85639 2000-09-25  Jim Meyering  <meyering@lucent.com>
85640
85641         * lib/md5.h (rol): Define (from GnuPG).
85642
85643         * lib/sha.c: Give credit (GnuPG) where due.
85644         (M): Use rol rather than open-coding it.
85645         Add a FIXME comment.
85646
85647 2000-09-21  Jim Meyering  <meyering@lucent.com>
85648
85649         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
85650         Reported by Michael Stone.
85651
85652 2000-09-20  Jim Meyering  <meyering@lucent.com>
85653
85654         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
85655         (noinst_HEADERS): Add sha.h.
85656         Based on code from Scott G. Miller and from GnuPG.
85657
85658 2000-09-18  Jim Meyering  <meyering@lucent.com>
85659
85660         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
85661         LIBS. Otherwise, everyone ends up linking with -lelf for some
85662         configurations.
85663         Reported by Mike Stone.
85664
85665 2000-09-15  Jim Meyering  <meyering@lucent.com>
85666
85667         * lib/regex.c: Update from libc.
85668
85669 2000-09-10  Jim Meyering  <meyering@lucent.com>
85670
85671         * lib/getopt.c (_getopt_internal): Update from glibc.
85672
85673 2000-09-09  Jim Meyering  <meyering@lucent.com>
85674
85675         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
85676         think it should be used as a general replacement for isascii.
85677         * lib/fnmatch.c: Likewise.
85678         * lib/mbswidth.c: Likewise
85679         * lib/regex.c: Likewise.
85680
85681         Don't use atoi.
85682         * lib/userspec.c: Include sys/param.h and limits.h.
85683         Include xstrtol.h.
85684         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
85685         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
85686         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
85687         UID, GID.  Check range.
85688
85689 2000-09-06  Jim Meyering  <meyering@lucent.com>
85690
85691         * lib/getopt.c (_getopt_internal): Update from glibc.
85692
85693 2000-08-30  Jim Meyering  <meyering@lucent.com>
85694
85695         * lib/strftime.c: Merge in changes from GNU libc.
85696
85697 2000-08-26  Jim Meyering  <meyering@lucent.com>
85698
85699         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
85700         * m4/fpending.m4: New file.
85701
85702 2000-08-26  Jim Meyering  <meyering@lucent.com>
85703
85704         * lib/closeout.c: Include "__fpending.h".
85705         (close_stdout_status): Return right away if there's nothing to flush.
85706
85707         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
85708         * lib/__fpending.c: New file.
85709         * lib/__fpending.h: New file.
85710
85711 2000-08-20  Jim Meyering  <meyering@lucent.com>
85712
85713         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
85714         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
85715         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
85716
85717 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
85718
85719         Improve fileutils installation on systems where running
85720         programs (like install) can't be unlinked.
85721         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
85722         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
85723
85724 2000-08-07  Paul Eggert  <eggert@twinsun.com>
85725
85726         Standardize on "memory exhausted" instead of "Memory exhausted"
85727         or "virtual memory exhausted".
85728         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
85729         "virtual memory exhausted".
85730         * lib/same.c (same_name): Invoke xalloc_die instead of printing
85731         our own message.
85732         * lib/userspec.c (parse_user_spec): Likewise.
85733         * lib/bumpalloc.h: comment fix
85734         * lib/same.c, userspec.c: Include xalloc.h.
85735
85736         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
85737         not char *const and pointing to a constant array.
85738         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
85739         (xrealloc): Comment fix.
85740
85741         * lib/userspec.c (parse_user_spec):
85742         Don't translate a message until just before returning,
85743         to avoid unnecessary translation.
85744
85745 2000-08-07  Jim Meyering  <meyering@lucent.com>
85746
85747         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
85748         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
85749         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
85750         getgroups.c, gethostname.c, getopt.h, group-member.c,
85751         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
85752         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
85753         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
85754         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
85755         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
85756         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
85757         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
85758         yesno.c: Back out Copyright date changes for each file with no change
85759         this year.  This eases coordination with other programs using the same
85760         source code modules.  From Paul Eggert.
85761
85762 2000-08-06  Paul Eggert  <eggert@twinsun.com>
85763
85764         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
85765         not char, for compatibility with glibc 2.1.3 strftime.c.
85766
85767 2000-08-03  Greg McGary  <greg@mcgary.org>
85768
85769         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
85770         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
85771         (EXTEND_BUFFER): Use them.
85772
85773 2000-08-01  Jim Meyering  <meyering@lucent.com>
85774
85775         * lib/dirname.c (ISSLASH): Define.
85776         (BACKSLASH_IS_PATH_SEPARATOR): Define.
85777         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
85778         both `\' and `/' may be use as path separators.
85779         Based on a patch from Prashant TR.
85780
85781 2000-07-31  Paul Eggert  <eggert@twinsun.com>
85782
85783         * lib/quotearg.c (quotearg_n_options): Don't make the initial
85784         slot vector a constant, since it might get modified.
85785
85786 2000-07-31  Jim Meyering  <meyering@lucent.com>
85787
85788         * lib/xmalloc.c: Use `virtual memory exhausted', not
85789         `Memory exhausted'.
85790         * lib/obstack.c (print_and_abort): Likewise.
85791
85792 2000-07-30  Paul Eggert  <eggert@twinsun.com>
85793
85794         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
85795         buffer, so that the caller can always quote one small
85796         component of a "memory exhausted" message in slot 0.
85797         From a suggestion by Jim Meyering.
85798
85799 2000-07-30  Jim Meyering  <meyering@lucent.com>
85800
85801         * lib/makepath.c (make_path): Quote the other instance, too.
85802
85803         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
85804         (STATIC_BUF_SIZE): Define.
85805         (quotearg_n_options): Use only statically allocated storage when
85806         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
85807         than STATIC_BUF_SIZE.
85808
85809 2000-07-29  Jim Meyering  <meyering@lucent.com>
85810
85811         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
85812         * lib/dirname.c (dir_name): Likewise.
85813
85814         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
85815         `/'.
85816
85817         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
85818         (dir_name): Assert that there are no trailing slashes.
85819
85820 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
85821
85822         * lib/mbswidth.h (mbswidth): Add a flags argument.
85823         (mbswidth): New declaration.
85824         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
85825         * lib/mbswidth.c (mbswidth): Add a flags argument.
85826         (mbsnwidth): New function.
85827
85828 2000-07-24  Jim Meyering  <meyering@lucent.com>
85829
85830         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
85831
85832 2000-07-23  Paul Eggert  <eggert@twinsun.com>
85833
85834         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
85835
85836 2000-07-23  Paul Eggert  <eggert@twinsun.com>
85837
85838         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
85839         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
85840         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
85841         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
85842         invoke multibyte primitives.
85843
85844 2000-07-23  Paul Eggert  <eggert@twinsun.com>
85845
85846         * lib/quotearg.c:
85847         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
85848         so that mbstate_t is always defined.
85849
85850         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
85851         be 1 in at least one GCC installation, and this configuration
85852         error is likely to be common.  Ignoring MB_LEN_MAX hurts
85853         performance on hosts that have mbrtowc but have only unibyte
85854         locales, but I assume these hosts are rare.
85855
85856 2000-07-23  Paul Eggert  <eggert@twinsun.com>
85857
85858         * lib/mbswidth.c (_XOPEN_SOURCE):
85859         Don't define; this causes problems on Solaris 7.
85860         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
85861
85862 2000-07-23  Jim Meyering  <meyering@lucent.com>
85863
85864         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
85865         too: getgrgid, getpwuid, getuid.
85866
85867 2000-07-23  Jim Meyering  <meyering@lucent.com>
85868
85869         * lib/basename.c (base_name): Add an assertion.
85870
85871 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
85872
85873         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
85874         shadow its mbsinit function.
85875
85876 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
85877
85878         * lib/mbswidth.h: New file.
85879         * lib/mbswidth.c: New file.
85880         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
85881         (noinst_HEADERS): Add mbswidth.h.
85882
85883 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
85884
85885         * lib/config.charset: Add support for FreeBSD. Improve support for
85886         HP-UX and IRIX 6.
85887
85888 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
85889
85890         * m4/mbswidth.m4: New file.
85891         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
85892
85893 2000-07-15  Jim Meyering  <meyering@lucent.com>
85894
85895         * lib/makepath.c: Include quote.h.
85896         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
85897         corresponding argument in a `quote (...)' call.
85898         Give better diagnostics.
85899
85900         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
85901         (noinst_HEADERS): Add quote.h.
85902
85903         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
85904         from tar's src/misc.c.
85905         * lib/quote.h: New file.  Prototypes for same.
85906
85907 2000-07-14  Paul Eggert  <eggert@twinsun.com>
85908
85909         From a suggestion by Bruno Haible.
85910         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
85911         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
85912         to decide whether to define the BeOS workaround macro;
85913         this adjusts to the change to AC_MBSTATE_T.
85914
85915 2000-07-14  Jim Meyering  <meyering@lucent.com>
85916
85917         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
85918         jm_AC_TYPE_UINTMAX_T.
85919
85920 2000-07-13  Paul Eggert  <eggert@twinsun.com>
85921
85922         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
85923
85924         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
85925         quotearg_buffer_restyled): Add support for
85926         clocale_quoting_style.  Undo previous change to
85927         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
85928         and "{RIGHT QUOTATION MARK}" msgids.
85929
85930 2000-07-10  Paul Eggert  <eggert@twinsun.com>
85931
85932         From a suggestion by Bruno Haible.
85933         * m4/mbstate_t.m4 (AC_MBSTATE_T):
85934         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
85935         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
85936         and mbstate_t, to a single-part test that simply defines mbstate_t.
85937         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
85938         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
85939
85940 2000-07-10  Jim Meyering  <meyering@lucent.com>
85941
85942         * m4/strerror_r.m4: Mirror the correction made in autoconf.
85943
85944         * m4/gnu-source.m4: Output to confdefs.h directly.
85945         Suggestion from Akim Demaille.
85946
85947 2000-07-09  Paul Eggert  <eggert@twinsun.com>
85948
85949         The old behavior of quoting `like this' doesn't look good with
85950         newer, ISO-style fonts.  See:
85951         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
85952
85953         Instead, quote "like this" by default.  Let the translator
85954         tailor the locale-specific quoting behavior by providing
85955         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
85956
85957         * lib/quotearg.c (N_): New macro.
85958         (gettext_default): New function.
85959         (quotearg_buffer_restyled): Use
85960         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
85961         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
85962
85963 2000-07-09  Jim Meyering  <meyering@lucent.com>
85964
85965         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
85966         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
85967
85968         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
85969         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
85970
85971 2000-07-09  Jim Meyering  <meyering@lucent.com>
85972
85973         * lib/Most files: Update copyright dates to include 2000.
85974
85975 2000-07-08  Jim Meyering  <meyering@lucent.com>
85976
85977         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
85978         if not defined.
85979         (xgethostname): Remove now-unnecessary #ifdef.
85980         Move declaration of `err' into loop where it's used.
85981
85982 2000-07-05  Paul Eggert  <eggert@twinsun.com>
85983         and Bruno Haible  <haible@clisp.cons.org>
85984
85985         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
85986         only if the test for an object-type mbstate_t fails.  This
85987         prevents us from mistakenly reporting that mbstate_t is a
85988         system object type after we "#define mbstate_t int" to work
85989         around its lack.
85990
85991 2000-07-05  Paul Eggert  <eggert@twinsun.com>
85992         and Bruno Haible  <haible@clisp.cons.org>
85993
85994         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
85995
85996 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
85997
85998         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
85999         to strerror_r.
86000         Include <ctype.h> for use of isalpha.
86001
86002 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
86003
86004         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
86005         by allocating a larger buffer. Test the gethostname return value for
86006         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
86007         returns an error and ENAMETOOLONG isn't defined.
86008
86009 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
86010
86011         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
86012         dimension.
86013
86014 2000-07-04  Jim Meyering  <meyering@lucent.com>
86015
86016         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
86017         of the deprecated AC_CHECKING.
86018
86019 2000-07-04  Jim Meyering  <meyering@lucent.com>
86020
86021         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
86022         Reported by Bruno Haible.
86023
86024 2000-07-04  Jim Meyering  <meyering@lucent.com>
86025
86026         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
86027         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
86028         lacks mbrtowc.
86029
86030 2000-07-03  Paul Eggert  <eggert@twinsun.com>
86031
86032         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
86033         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
86034
86035 2000-07-03  Paul Eggert  <eggert@twinsun.com>
86036         and Bruno Haible  <haible@clisp.cons.org>
86037
86038         * lib/quotearg.c (mbrtowc):
86039         Assign to *pwc, and return 1 only if result is nonzero.
86040         (iswprint): Use ISPRINT when substituting our own mbrtowc.
86041
86042 2000-07-03  Jim Meyering  <meyering@lucent.com>
86043
86044         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
86045
86046 2000-07-03  Jim Meyering  <meyering@lucent.com>
86047
86048         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
86049         This is necessary to get a definition of e.g., UTMP_FILE on
86050         HP-UX 10.20.
86051         From Bob Proulx.
86052
86053 2000-07-02  Jim Meyering  <meyering@lucent.com>
86054
86055         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
86056
86057         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
86058         AC_LIBOBJ(function_name).
86059         * m4/chown.m4: Likewise.
86060         * m4/fnmatch.m4: Likewise.
86061         * m4/ftruncate.m4: Likewise.
86062         * m4/getgroups.m4: Likewise.
86063         * m4/getline.m4: Likewise.
86064         * m4/group-member.m4: Likewise.
86065         * m4/jm-macros.m4: Likewise.
86066         * m4/lstat.m4: Likewise.
86067         * m4/malloc.m4: Likewise.
86068         * m4/memcmp.m4: Likewise.
86069         * m4/nanosleep.m4: Likewise.
86070         * m4/putenv.m4: Likewise.
86071         * m4/realloc.m4: Likewise.
86072         * m4/regex.m4: Likewise.
86073         * m4/stat.m4: Likewise.
86074         * m4/strftime.m4: Likewise.
86075
86076 2000-07-02  Jim Meyering  <meyering@lucent.com>
86077
86078         * lib/quotearg.c (mbstate_t): Don't define here.
86079
86080 2000-07-02  Jim Meyering  <meyering@lucent.com>
86081
86082         * lib/nanosleep.c (SIGCONT): Define if not already defined.
86083
86084 2000-07-01  Jim Meyering  <meyering@lucent.com>
86085
86086         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
86087
86088 2000-07-01  Jim Meyering  <meyering@lucent.com>
86089
86090         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
86091         problem.
86092
86093 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
86094
86095         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
86096         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
86097
86098 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
86099
86100         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
86101         per change in ../m4/ls-mntd-fs.m4.
86102         (read_filesystem_list): Ignore symbolic links.
86103
86104 2000-06-29  Jim Meyering  <meyering@lucent.com>
86105
86106         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
86107         for declaration of strcmp.
86108
86109         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
86110
86111         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
86112         Avoid warning by casting result to `char *' to remove `const'.
86113
86114 2000-06-28  Jim Meyering  <meyering@lucent.com>
86115
86116         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
86117         included by quotearg.c, for which we perform this test.  From
86118         Bruno Haible.
86119
86120 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
86121
86122         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
86123         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
86124         <utmpx.h> exists, put readutmp.o into LIBOBJS.
86125
86126 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
86127
86128         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
86129
86130 2000-06-26  Paul Eggert  <eggert@twinsun.com>
86131
86132         savedir now sets errno on failure and invokes xmalloc to get memory.
86133         Fix a couple of other minor bugs while we're at it.
86134
86135         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
86136         (NAMLEN): Remove macro.
86137         (malloc, realloc): Remove decls.
86138         (stpcpy): Likewise.
86139         ("xalloc.h"): Include.
86140         (NAME_SIZE_DEFAULT): New macro.
86141         (savedir): Use xmalloc / xrealloc to allocate memory.
86142         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
86143         Skip "" directory entries.
86144         Use strlen to calculate directory entry length, since the old method
86145         is rarely used these days and isn't worth supporting.
86146         Don't use a pointer after freeing it.
86147         Check for integer overflow when calculating allocation size.
86148         Use memcpy to copy entries, instead of stpcpy.
86149         Set errno properly when returning NULL.
86150         Check for readdir error.
86151
86152 2000-06-26  Jim Meyering  <meyering@lucent.com>
86153
86154         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
86155
86156 2000-06-25  Jim Meyering  <meyering@lucent.com>
86157
86158         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
86159         Linux header bug when _XOPEN_SOURCE is defined to 500.
86160
86161 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
86162
86163         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
86164         deficiency.
86165
86166 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
86167
86168         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
86169         Include xalloc.h.
86170         Don't include <stdlib.h>.  Don't declare malloc, realloc.
86171
86172 2000-06-24  Jim Meyering  <meyering@lucent.com>
86173
86174         * m4/strerror_r.m4: Revive this file -- to try out an experimental
86175         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
86176         for which strerror does return char*, but which lacks a conveniently
86177         accessible declaration of the function.  If the compile-test says
86178         strerror_r doesn't work, then resort to a `run'-test that works on
86179         BeOS and segfaults on DEC Unix.
86180
86181 2000-06-24  Jim Meyering  <meyering@lucent.com>
86182
86183         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
86184
86185 2000-06-23  Paul Eggert  <eggert@twinsun.com>
86186
86187         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
86188         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
86189
86190 2000-06-23  Paul Eggert  <eggert@twinsun.com>
86191
86192         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
86193         (mbrtowc, mbstate_t): Define substitutes if
86194         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
86195         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
86196         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
86197
86198 2000-06-23  Jim Meyering  <meyering@lucent.com>
86199
86200         * m4/afs.m4: Add missing AC_MSG_RESULT.
86201         Reported by Bruno Haible.
86202
86203         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
86204         Suggestion from Bruno Haible.
86205
86206 2000-06-23  Jim Meyering  <meyering@lucent.com>
86207
86208         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
86209
86210 2000-06-21  Jim Meyering  <meyering@lucent.com>
86211
86212         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
86213
86214 2000-06-21  Jim Meyering  <meyering@lucent.com>
86215
86216         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
86217         (noinst_HEADERS): Add getstr.h.
86218
86219         * lib/getline.c (getstr): Move into a separate file.
86220         * lib/getstr.c (getstr): New file, extracted from getline.c, with
86221         the following changes: new parameter, delim2; both delim[12]
86222         parameters have type `int', not `char'.  The latter would lose
86223         with 8-bit delimiters.
86224         * lib/getstr.h: New file.
86225
86226 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
86227
86228         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
86229         than 1024, return a memory chunk of least possible size, instead
86230         of size PATH_MAX + 2. In the loop, increment the size proportionally.
86231         Use free/xmalloc instead of xrealloc to avoid copying for very long
86232         paths.
86233
86234 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
86235
86236         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
86237         the empty string.
86238
86239 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
86240
86241         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
86242         address, not strdup.  Include <stdlib.h> and don't declare free().
86243
86244 2000-06-19  Jim Meyering  <meyering@lucent.com>
86245
86246         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
86247
86248 2000-06-18  Jim Meyering  <meyering@lucent.com>
86249
86250         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
86251
86252         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
86253         `checking whether...' message to be consistent with that of the
86254         lstat test.
86255
86256 2000-06-18  Jim Meyering  <meyering@lucent.com>
86257
86258         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
86259         Besides, these days every porting target provides a mkdir function.
86260
86261         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
86262         needed. (this snippet comes from src/system.h).
86263
86264 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
86265
86266         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
86267
86268 2000-06-15  Paul Eggert  <eggert@twinsun.com>
86269
86270         * lib/human.c (adjust_value): New function.
86271         (human_readable_inexact): Apply rounding style even when
86272         printing approximate values.
86273
86274 2000-06-14  Paul Eggert  <eggert@twinsun.com>
86275
86276         * lib/human.c (human_readable_inexact): Allow an input block
86277         size that is not a multiple of the output block size, and vice versa.
86278         Reported by Piergiorgio Sartor.
86279
86280 2000-06-14  Paul Eggert  <eggert@twinsun.com>
86281
86282         * lib/getdate.y (get_date): Apply relative times after time
86283         zone indicator, not before.  Reported by Todd A. Jacobs.
86284
86285 2000-06-13  Jim Meyering  <meyering@lucent.com>
86286
86287         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
86288
86289         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
86290
86291 2000-06-12  Paul Eggert  <eggert@twinsun.com>
86292
86293         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
86294
86295 2000-06-12  Jim Meyering  <meyering@lucent.com>
86296
86297         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
86298         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
86299         optional argument.
86300         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
86301         the optional argument, `lib'.
86302
86303 2000-06-08  Jim Meyering  <meyering@lucent.com>
86304
86305         * m4/largefile.m4: Remove file (now that it's part of autoconf).
86306
86307 2000-06-04  Paul Eggert  <eggert@twinsun.com>
86308
86309         Rewrite largefile configuration so that we don't need to run
86310         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
86311         AC_CANONICAL_HOST in configure.in -- jmm]
86312
86313         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
86314         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
86315         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
86316         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
86317         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
86318         All uses changed.
86319         Instead of inspecting the output of getconf, try to compile the
86320         test program without and with the macro definition.
86321         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
86322         for getconf.  Instead, check for the needed flags by compiling
86323         test programs.
86324
86325 2000-06-04  Paul Eggert  <eggert@twinsun.com>
86326
86327         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
86328
86329 2000-06-04  Jim Meyering  <meyering@lucent.com>
86330
86331         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
86332         SunOS 4.1.4 for which gid_t is an unsigned type.
86333
86334 2000-06-03  Jim Meyering  <meyering@lucent.com>
86335
86336         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
86337         now that autoconf requires that.
86338
86339         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
86340         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
86341         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
86342
86343 2000-06-03  Jim Meyering  <meyering@lucent.com>
86344
86345         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
86346
86347 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
86348
86349         * m4/glibc21.m4: New file.
86350         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
86351
86352 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
86353
86354         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
86355         newer, don't install charset.alias.
86356         * lib/config.charset: Change the Linux/glibc rules so they become empty
86357         on glibc-2.1 or newer.
86358
86359 2000-06-02  Jim Meyering  <meyering@lucent.com>
86360
86361         * lib/mountlist.c: Back out last change.  Instead, do this...
86362         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
86363         me_dummy member using the same `ignore'-testing code.
86364         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
86365         fs_type strings.
86366         From Mark D. Roth.
86367
86368 2000-05-29  Jim Meyering  <meyering@lucent.com>
86369
86370         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
86371         mounts with the `ignore' attribute.  Based on a patch from
86372         Mark D. Roth.
86373
86374 2000-05-28  Jim Meyering  <meyering@lucent.com>
86375
86376         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
86377         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86378         * m4/stat.m4: Likewise.
86379         * m4/lstat.m4: Likewise.
86380         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
86381
86382         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
86383         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
86384
86385 2000-05-26  Jim Meyering  <meyering@lucent.com>
86386
86387         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
86388
86389 2000-05-24  Jim Meyering  <meyering@lucent.com>
86390
86391         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
86392         autoconf requires that.
86393         * m4/lib-check.m4: Likewise.
86394         * m4/jm-macros.m4: Likewise.
86395         * m4/strftime.m4: Likewise.
86396
86397         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
86398         AC_CHECK_DECLS, now that autoconf requires that.
86399
86400 2000-05-22  Jim Meyering  <meyering@lucent.com>
86401
86402         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86403         * m4/lstat.m4: Likewise.
86404
86405 2000-05-22  Jim Meyering  <meyering@lucent.com>
86406
86407         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
86408
86409 2000-05-20  Jim Meyering  <meyering@lucent.com>
86410
86411         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
86412         (jm_PREREQ): Use it.
86413
86414 2000-05-18  Jim Meyering  <meyering@lucent.com>
86415
86416         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
86417         back, too, since it may have been modified by allocate_entry.
86418         (hash_delete): Rewrite to use neither the assignment operator
86419         nor the comma operator in an if-expression.
86420
86421 2000-05-15  Paul Eggert  <eggert@twinsun.com>
86422
86423         * lib/closeout.c:
86424         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
86425         Remove; no longer needed.
86426         "quotearg.h": Add include.
86427         (file_name): Do not bother to explicitly initialize to NULL; it's less
86428         efficient on some hosts.
86429         (close_stdout_status): Remove test as to whether stdout was already
86430         closed; it breaks for the case "echo x | sort >&-".
86431         Quote file name colons.
86432         Do not assume that _("write error") lacks format strings.
86433
86434 2000-05-15  Jim Meyering  <meyering@lucent.com>
86435
86436         * lib/version-etc.c (version_etc_copyright): Update the copyright
86437         string used in all --version output.
86438
86439 2000-05-14  Jim Meyering  <meyering@lucent.com>
86440
86441         * lib/closeout.c (close_stdout_set_file_name): New function.
86442         (close_stdout_status): Use new file-scoped global.
86443         Return right away if fstat says the stdout file descriptor is invalid.
86444         * lib/closeout.h (close_stdout_set_file_name): Declare.
86445
86446 2000-05-10  Jim Meyering  <meyering@lucent.com>
86447
86448         * lib/closeout.c [default_exit_status]: New file-scoped variable.
86449         (close_stdout_set_status): New function.
86450         * lib/closeout.h (close_stdout_set_status): Declare.
86451
86452 2000-05-09  Jim Meyering  <meyering@lucent.com>
86453
86454         * m4/gettext.m4: Rename this...
86455         * m4/libintl.m4: ...to this.
86456
86457 2000-05-08  Jim Meyering  <meyering@lucent.com>
86458
86459         * lib/long-options.c: Don't include closeout.h.
86460         (parse_long_options): Don't call close_stdout for --version.
86461
86462 2000-05-06  Paul Eggert  <eggert@twinsun.com>
86463
86464         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
86465         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
86466         2.1.3 bug.  This avoids a clash when files like regex.c define
86467         _GNU_SOURCE.
86468
86469 2000-05-06  Jim Meyering  <meyering@lucent.com>
86470
86471         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
86472         (AC_REPLACE_FUNCS): Add strnlen.
86473
86474         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
86475         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
86476
86477         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
86478         AC_SEARCH_LIBS call for nanosleep.
86479         (LIB_NANOSLEEP): Set and AC_SUBST.
86480
86481 2000-05-06  Jim Meyering  <meyering@lucent.com>
86482
86483         * lib/strnlen.c: Undefine __strnlen and strnlen.
86484         [!weak_alias]: Define __strnlen to strnlen.
86485
86486         * lib/atexit.c: New file, from libiberty.
86487
86488 2000-05-06  Jim Meyering  <meyering@lucent.com>
86489
86490         * lib/closeout.c (close_stdout_status): Also check for errors on the
86491         stderr stream.
86492
86493 2000-05-05  Jim Meyering  <meyering@lucent.com>
86494
86495         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
86496         AC_SEARCH_LIBS call for clock_gettime.
86497         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
86498
86499         * m4/search-libs.m4: Update from autoconf.
86500
86501         su doesn't work on Solaris 2.6.
86502         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
86503         <shadow.h>.  Reported by Dragos Harabor.
86504
86505 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
86506
86507         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
86508         memcpy instead of xmalloc, xrealloc, path_concat.
86509         (locale_charset): Treat empty environment variables as absent.
86510         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
86511
86512 2000-05-04  Jim Meyering  <meyering@lucent.com>
86513
86514         * lib/getopt.c: Update from glibc.
86515         * lib/obstack.c: Likewise.
86516         * lib/obstack.h: Likewise.
86517         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
86518         file
86519
86520         * lib/regex.h: Likewise.
86521         * lib/strndup.c: Likewise.
86522         * lib/strnlen.c: New file, from glibc.
86523
86524 2000-05-03  Jim Meyering  <meyering@lucent.com>
86525
86526         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
86527
86528 2000-05-02  Paul Eggert  <eggert@twinsun.com>
86529
86530         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
86531         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
86532         compile-time test, rather than inspecting host and OS, to
86533         decide whether to define _LARGEFILE_SOURCE.
86534
86535 2000-05-01  Jim Meyering  <meyering@lucent.com>
86536
86537         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
86538
86539         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
86540         Based on a patch from Bruno Haible.
86541
86542 2000-05-01  Jim Meyering  <meyering@lucent.com>
86543
86544         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
86545
86546 2000-04-29  Jim Meyering  <meyering@lucent.com>
86547
86548         * lib/path-concat.c: Declare strdup only if it's not defined.
86549         * lib/canon-host.c: Likewise.
86550
86551 2000-04-28  Jim Meyering  <meyering@lucent.com>
86552
86553         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
86554         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
86555         is included first, then limits.h is included by locale.h by libintl.h.
86556         From John David Anglin.
86557
86558 2000-04-25  Jim Meyering  <meyering@lucent.com>
86559
86560         * lib/makepath.c (S_IRWXUGO): Define.
86561         (make_path): Always perform explicit chmod if MODE specifies any
86562         of the `special' permission bits.  Prompted by a bug report against
86563         install from Mate Wierdl and Joost van Baal.
86564
86565 2000-04-18  Jim Meyering  <meyering@lucent.com>
86566
86567         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
86568         (jm_PREREQ): Use it.
86569
86570 2000-04-18  Jim Meyering  <meyering@lucent.com>
86571
86572         * lib/README: New file.
86573
86574         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
86575         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
86576
86577 2000-04-17  Jim Meyering  <meyering@lucent.com>
86578
86579         Get it right :-)
86580         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
86581         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
86582         Suggestion from Akim Demaille.
86583
86584 2000-04-17  Jim Meyering  <meyering@lucent.com>
86585
86586         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
86587         the definition of it to rpl_strftime also defined-away the system's
86588         declaration.
86589
86590 2000-04-15  Jim Meyering  <meyering@lucent.com>
86591
86592         Use `C' to denote so-called `contiguous' files, the same way
86593         that tar does.
86594         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
86595         (ftypelet): Use S_ISCTG.
86596         From Michael Deutschmann.
86597
86598 2000-04-14  Jim Meyering  <meyering@lucent.com>
86599
86600         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
86601         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
86602         clobbered.
86603
86604 2000-04-14  Jim Meyering  <meyering@lucent.com>
86605
86606         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
86607
86608 2000-04-13  Jim Meyering  <meyering@lucent.com>
86609
86610         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
86611         AH_VERBATIM to insert required #ifndef into config.h.in.
86612         Suggestion from Akim Demaille.
86613
86614 2000-04-12  Jim Meyering  <meyering@lucent.com>
86615
86616         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
86617         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
86618         Christian Krackowizer.
86619
86620         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
86621         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
86622         (AC_SYS_LARGEFILE): Require.
86623         (AM_C_PROTOTYPES): Require.
86624
86625 2000-04-08  Jim Meyering  <meyering@lucent.com>
86626
86627         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
86628         names don't conflict.  Reported by Eli Zaretskii.
86629
86630 2000-04-07  Jim Meyering  <meyering@lucent.com>
86631
86632         * lib/putenv.c: Move inclusion of errno.h so it follows that of
86633         sys/types.h, to work around system header problems on AIX 3.2.5.
86634         From Bruno Haible.
86635
86636 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
86637
86638         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
86639         bug.  Deal with the different error behavior of Irix iconv.
86640
86641 2000-04-05  Paul Eggert  <eggert@twinsun.com>
86642
86643         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
86644         IRIX if the installer said otherwise.
86645
86646 2000-04-05  Jim Meyering  <meyering@lucent.com>
86647
86648         Portability tweaks required for ultrix4.3.
86649         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
86650         (jm_CHECK_DECLS): Add getutent to the list of functions.
86651         (_jm_DECL_HEADERS): Add utmpx.h.
86652         From John David Anglin.
86653
86654         * m4/strftime.m4: Back out the 2000-04-02 change.
86655         Instead of that change, simply undefine putenv in the test program.
86656
86657 2000-04-05  Jim Meyering  <meyering@lucent.com>
86658
86659         Portability tweaks required for ultrix4.3.
86660         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
86661         getutent.
86662         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
86663         * lib/canon-host.c: Declare strdup.
86664         * lib/path-concat.c: Likewise.
86665         From John David Anglin.
86666
86667 2000-04-04  Jim Meyering  <meyering@lucent.com>
86668
86669         Be more DOS 8.3-friendly.
86670         * lib/ref-add.sin: Renamed from ref-add.sed.in.
86671         * lib/ref-del.sin: Renamed from ref-del.sed.in.
86672         * lib/Makefile.am: Reflect renaming.
86673         Reported by Eli Zaretskii.
86674
86675         Use a temporary file name that won't clash with `charset.alias'
86676         in the DOS 8.3 name space.
86677         * lib/Makefile.am (charset_tmp): Define.
86678         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
86679         (uninstall-local): Likewise.
86680         Reported by Eli Zaretskii.
86681
86682 2000-04-03  Jim Meyering  <meyering@lucent.com>
86683
86684         * m4/gettext.m4: Fix typo in comment.
86685
86686         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
86687         textutils/configure.in).  Suggestion from Paul Eggert.
86688         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
86689
86690 2000-04-02  Paul Eggert  <eggert@twinsun.com>
86691
86692         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
86693         variable in the shell rather than using putenv, which isn't
86694         portable.  This avoids the configure-time inter-test dependency
86695         on the potentially-renamed putenv function.
86696
86697 2000-03-30  Paul Eggert  <eggert@twinsun.com>
86698
86699         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
86700         before checking struct stat.st_blksize, so that
86701         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
86702
86703 2000-03-29  Paul Eggert  <eggert@twinsun.com>
86704
86705         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
86706         since strftime.c uses HAVE_STRFTIME to decide whether to use
86707         the underlying strftime.
86708
86709 2000-03-29  Paul Eggert  <eggert@twinsun.com>
86710
86711         * lib/time/strftime.c (my_strftime): Make sure we call the system
86712         strftime, not ourselves, when invoking the underlying strftime.
86713
86714 2000-03-24  Jim Meyering  <meyering@lucent.com>
86715
86716         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
86717         (charset_alias): Define.
86718         (install-exec-local): Factor out common code.
86719         (uninstall-local): Split lines longer than 80.
86720         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
86721         (SUFFIXES): Define.
86722         (.sed.in.sed): New rule.  Don't redirect directly to $@.
86723         (CLEANFILES): Add ref-add.sed and ref-del.sed.
86724
86725 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
86726
86727         * lib/config.charset: Output a line containing "Packages using this
86728         file".
86729         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
86730         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
86731         ref-del.sed): New rules.
86732
86733 2000-03-17  Jim Meyering  <meyering@lucent.com>
86734
86735         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
86736         Otherwise, include <strings.h>
86737
86738 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
86739
86740         * lib/unicodeio.c (utf8_wctomb): New function.
86741         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
86742         format instead of in UCS-4 with platform dependent endianness.
86743
86744 2000-03-10  Jim Meyering  <meyering@lucent.com>
86745
86746         * m4/lib-check.m4: Look for getspnam in -lgen, too.
86747         From Marco Franzen.
86748
86749 2000-03-07  Paul Eggert  <eggert@twinsun.com>
86750
86751         * lib/savedir.c (savedir): Work even if directory size is
86752         negative; this can happen with some screwy NFS configurations.
86753
86754 2000-03-06  Jim Meyering  <meyering@lucent.com>
86755
86756         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
86757         if it's NULL (because we ran out of memory).  From Bruno Haible.
86758
86759 2000-03-05  Jim Meyering  <meyering@lucent.com>
86760
86761         * lib/localcharset.c ("path-concat.h"): Include.
86762         (get_charset_aliases): Use path_concat instead of ANSI string
86763         concatenation.
86764
86765         * lib/unicodeio.h (PARAMS): Define.
86766         Use it to guard prototype.
86767
86768 2000-03-04  Jim Meyering  <meyering@lucent.com>
86769
86770         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
86771         for lib/localcharset.c.
86772
86773 2000-03-04  Jim Meyering  <meyering@lucent.com>
86774
86775         * lib/Makefile.am (install-exec-local): Create $(libdir) before
86776         installing into it.
86777         (uninstall-local): Uncomment this rule so `make distcheck' works
86778         once again.
86779
86780         * lib/unicodeio.c (<errno.h>): Include it.
86781         (errno): Declare if not defined.
86782
86783         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
86784
86785         * lib/config.charset: New version, incorporating remarks from a linux
86786         i18n mailing list.  From Bruno Haible.
86787
86788 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
86789
86790         * m4/codeset.m4: New file.
86791         * m4/iconv.m4: New file.
86792         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
86793
86794 2000-03-03  Jim Meyering  <meyering@lucent.com>
86795
86796         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
86797
86798 2000-03-02  Jim Meyering  <meyering@lucent.com>
86799
86800         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
86801         the messages come out on separate lines.
86802
86803         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
86804         rather than jm_CHECK_DECLARATIONS.
86805         * m4/decl.m4: Remove now-unused file.
86806
86807         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
86808         geteuid.
86809
86810 2000-03-02  Jim Meyering  <meyering@lucent.com>
86811
86812         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
86813
86814 2000-03-01  Jim Meyering  <meyering@lucent.com>
86815
86816         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
86817         * lib/unicodeio.c: Likewise.
86818
86819 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
86820
86821         * lib/config.charset: New file.
86822         * lib/localcharset.c: New file.
86823         * lib/unicodeio.h, lib/unicodeio.c: New files.
86824         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
86825         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
86826         (noinst_HEADERS): Add unicodeio.h.
86827         (all-local, install-exec-local, charset.alias): New targets.
86828
86829 2000-02-28  Paul Eggert  <eggert@twinsun.com>
86830
86831         * lib/quotearg.c (ALERT_CHAR): New macro.
86832         (quotearg_buffer_restyled): Use it.
86833
86834 2000-02-27  Jim Meyering  <meyering@lucent.com>
86835
86836         * m4/check-decl.m4: Add getenv to the list.
86837
86838 2000-02-27  Jim Meyering  <meyering@lucent.com>
86839
86840         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
86841         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
86842
86843         * lib/backupfile.c: Guard inclusion of stdlib.h with
86844         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
86845         Declare malloc if needed.
86846
86847         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
86848         `#ifndef HAVE_DECL..'
86849         now that autoconf always defines the HAVE_DECL_ symbols.
86850         * lib/human.c: Likewise.
86851         * lib/same.c: Likewise.
86852         * lib/strtoumax.c: Likewise.
86853
86854         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
86855         declaration check was not run.
86856         * lib/hash.c: Likewise.
86857         * lib/human.c: Likewise.
86858         * lib/same.c: Likewise.
86859         * lib/strtoumax.c: Likewise.
86860
86861         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
86862         `.', then first look up the entire `.'-containing string as a login
86863         name.
86864
86865 2000-02-23  Jim Meyering  <meyering@lucent.com>
86866
86867         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
86868         in place of my hack.
86869
86870 2000-02-18  Paul Eggert  <eggert@twinsun.com>
86871
86872         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
86873         (textint): New typedef.
86874         (parser_control): Member year changed from int to textint.
86875         All uses changed.
86876         (YYSTYPE): Removed; replaced by %union with int and textint members.
86877         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
86878         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
86879         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
86880         (tSNUMBER, tUNUMBER): Now of type <textintval>.
86881         (date, number, to_year): Use width of number in digits, not its value,
86882         to determine whether it's a 2-digit year, or a 2-digit time.
86883         (yylex): Store number of digits of numeric tokens.
86884         Reported by John Kendall.
86885
86886         (parser_control): Changed from struct parser_control to typedef (for
86887         consistency).  All uses changed.
86888
86889         (tID): Removed; not used.
86890         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
86891
86892 2000-02-14  Paul Eggert  <eggert@twinsun.com>
86893
86894         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
86895         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
86896
86897 2000-02-12  Jim Meyering  <meyering@lucent.com>
86898
86899         * lib/userspec.c (ISDIGIT): Define it.
86900         (isdigit): Remove definition.
86901         (is_number): Use ISDIGIT, not isdigit.
86902         <libintl.h>: Include.
86903         (_ and N_): Define.
86904         (parse_user_spec): Mark translatable strings.
86905
86906 2000-02-10  Jim Meyering  <meyering@lucent.com>
86907
86908         With these changes, nanosleep.[ch] are finally enough like the other
86909         lib/* replacement files to compile on a few more losing systems.
86910
86911         * lib/nanosleep.h: Don't include config.h.
86912         Remove prototype from declaration of nanosleep.
86913         (PARAMS): Remove now-unneeded definition.
86914         * lib/nanosleep.c: #undef nanosleep.
86915         (rpl_nanosleep): Rename from nanosleep.
86916
86917 2000-02-10  Jim Meyering  <meyering@lucent.com>
86918
86919         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
86920         gnu_nanosleep to rpl_nanosleep.
86921
86922 2000-02-09  Jim Meyering  <meyering@lucent.com>
86923
86924         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
86925         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
86926
86927 2000-02-08  Akim Demaille  <akim@epita.fr>
86928
86929         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
86930         `[' and `]' and remove uses of `changequote'.
86931         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
86932         (AC_SYS_LARGEFILE): Likewise.
86933         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
86934         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
86935         of changequote.
86936         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
86937         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
86938         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
86939         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
86940
86941 2000-02-05  Jim Meyering  <meyering@lucent.com>
86942
86943         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
86944         Remove explicit use of AC_HEADER_TIME.  It is required by
86945         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
86946         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
86947         in autoconf whereby the expansion of the latter ended up preceding
86948         the expansion of its prerequisite, AC_HEADER_TIME.
86949         Reported by Volker Borchert.
86950
86951 2000-02-03  Jim Meyering  <meyering@lucent.com>
86952
86953         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
86954
86955 2000-02-03  Jim Meyering  <meyering@lucent.com>
86956
86957         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
86958         rather than with `#if HAVE_UTMPNAME'.
86959
86960 2000-02-02  Jim Meyering  <meyering@lucent.com>
86961
86962         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
86963         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
86964         Reported by Eli Zaretskii.
86965
86966 2000-02-01  Jim Meyering  <meyering@lucent.com>
86967
86968         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
86969
86970 2000-01-31  Jim Meyering  <meyering@lucent.com>
86971
86972         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
86973         functions.  Add the time.h and sys/time.h headers along with the
86974         AC_REQUIRE'ment of AC_HEADER_TIME.
86975
86976 2000-01-31  Jim Meyering  <meyering@lucent.com>
86977
86978         * lib/nanosleep.h (nanosleep): Guard declaration with
86979         `#if ! HAVE_DECL_NANOSLEEP'.
86980         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
86981         the declaration in that vendor's sys/timers.h.
86982         Reported by Christian Krackowizer.
86983
86984         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
86985         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
86986         (ISPRINT): Likewise.
86987         Reported by Tom Tromey.
86988
86989 2000-01-30  Jim Meyering  <meyering@lucent.com>
86990
86991         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
86992
86993         * m4/prereq.m4 (utmp_includes): Define.
86994         Check for ut_user and ut_name members in both struct utmpx
86995         and struct utmp.
86996
86997 2000-01-30  Jim Meyering  <meyering@lucent.com>
86998
86999         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
87000         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
87001         header files where only utmpx.ut_user is declared.
87002
87003         * lib/readutmp.h (UT_USER): Define.
87004
87005 2000-01-29  Jim Meyering  <meyering@lucent.com>
87006
87007         * m4/lib-check.m4: New file containing library-related checks from
87008         fileutils and sh-utils (textutils had none).
87009
87010 2000-01-28  Jim Meyering  <meyering@lucent.com>
87011
87012         * m4/perl.m4: Change format of warning message to look more like that
87013         from the missing script.  Suggestion from François Pinard.
87014
87015 2000-01-25  Jim Meyering  <meyering@lucent.com>
87016
87017         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
87018         well as time.h in the compile check.
87019         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
87020         Fix typo in cross-compiling case: s/yes/no/.
87021
87022 2000-01-23  Jim Meyering  <meyering@lucent.com>
87023
87024         * m4/jm-macros.m4: Move df-related tests here from
87025         fileutils/configure.in
87026
87027         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
87028         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
87029
87030         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
87031         s/space/ac_fsusage_space/.
87032         (jm_FILE_SYSTEM_USAGE): Take two parameters.
87033
87034         * m4/ftruncate.m4: New file (derived from part of
87035         fileutils/configure.in).
87036         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
87037         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
87038
87039         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
87040         AC_SUBST these here, rather than just in sh-util/configure.in, so
87041         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
87042         all the same.
87043         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
87044         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
87045         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
87046         (AC_SUBST(POW_LIBM)): Likewise.
87047         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
87048
87049 2000-01-23  Jim Meyering  <meyering@lucent.com>
87050
87051         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
87052         obstack.c.
87053
87054 2000-01-22  Jim Meyering  <meyering@lucent.com>
87055
87056         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
87057
87058         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
87059
87060         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
87061         configure.in
87062         (AC_CHECK_HEADERS): Likewise for sh-utils.
87063         (AC_CHECK_HEADERS): Likewise for textutils.
87064         Merge the three lists of headers.
87065
87066         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
87067         from fileutils' configure.in.
87068
87069         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
87070         code. Moved tests into their own function (_jm_DECL_HEADERS) in
87071         check-decl.m4.
87072
87073         * m4/check-decl.m4: Use #if rather than #ifdef.
87074         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
87075         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
87076         (_jm_DECL_HEADERS): Define new function.
87077         (jm_CHECK_DECLARATIONS): Require it.
87078
87079 2000-01-22  Jim Meyering  <meyering@lucent.com>
87080
87081         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
87082         [! HAVE_DECL_STRTOULL]: Declare strtoull.
87083         Required for some AIX systems.  Reported by Christian Krackowizer.
87084         [TESTING] (main): New function.
87085
87086         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
87087         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
87088         letters.
87089
87090         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
87091         iswprint.
87092
87093         * lib/strverscmp.c (ISDIGIT): Define.
87094         (strverscmp): Use ISDIGIT, not isdigit.
87095
87096 2000-01-19  Jim Meyering  <meyering@lucent.com>
87097
87098         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
87099         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
87100         defines `struct timespec' in <sys/time.h>
87101
87102         * m4/c-bs-a.m4: Remove uses of changequote altogether.
87103         Thanks to Akim for explaining.
87104
87105 2000-01-17  Paul Eggert  <eggert@twinsun.com>
87106
87107         * lib/nanosleep.c (nanosleep):
87108         Don't use SA_INTERRUPT to decide whether to call sigaction, as
87109         POSIX.1 doesn't require SA_INTERRUPT and some systems
87110         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
87111         it's been part of POSIX.1 since day 1 (in 1988).
87112
87113 2000-01-17  Jim Meyering  <meyering@lucent.com>
87114
87115         * lib/interlock: Remove unused file.  Reported by François Pinard.
87116
87117 2000-01-16  Paul Eggert  <eggert@twinsun.com>
87118
87119         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
87120         alert, backslash, formfeed, and vertical tab unnecessarily in
87121         shell quoting style.
87122
87123 2000-01-16  Jim Meyering  <meyering@lucent.com>
87124
87125         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
87126         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
87127         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
87128         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
87129
87130 2000-01-16  Jim Meyering  <meyering@lucent.com>
87131
87132         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
87133         because the latter didn't work.
87134
87135 2000-01-15  Jim Meyering  <meyering@lucent.com>
87136
87137         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
87138         (AC_REPLACE_FUNCS): Add memcpy and memset.
87139         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
87140         Add strpbrk.
87141         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
87142
87143 2000-01-12  Jim Meyering  <meyering@lucent.com>
87144
87145         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
87146         (jm_PREREQ): Use it.
87147         (jm_PREREQ_READUTMP): New macro.
87148         (jm_PREREQ): Use it.
87149
87150 2000-01-11  Paul Eggert  <eggert@twinsun.com>
87151
87152         Quote multibyte characters correctly.
87153         * m4/c-bs-a.m4: New file.
87154         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
87155         (jm_PREREQ): Use it.
87156
87157 2000-01-11  Paul Eggert  <eggert@twinsun.com>
87158
87159         * m4/uintmax_t.m4: Port to autoconf 2.13.
87160
87161 2000-01-08  Jim Meyering  <meyering@ascend.com>
87162
87163         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
87164         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
87165
87166 2000-01-04  Jim Meyering  <meyering@ascend.com>
87167
87168         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
87169         jm_STRUCT_DIRENT_D_TYPE.
87170         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
87171         jm_STRUCT_DIRENT_D_INO.
87172         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
87173         jm_STRUCT_UTIMBUF.
87174         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
87175         renamings.
87176         * m4/utime.m4: Likewise.
87177
87178         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
87179         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
87180
87181 2000-01-03  Paul Eggert  <eggert@twinsun.com>
87182
87183         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
87184         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
87185
87186 2000-01-02  Jim Meyering  <meyering@ascend.com>
87187
87188         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
87189         remember if this is necessary.
87190
87191 1999-12-26  Jim Meyering  <meyering@ascend.com>
87192
87193         * m4/jm-macros.m4: Use it here.
87194         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
87195
87196 1999-12-23  Jim Meyering  <meyering@ascend.com>
87197
87198         * m4/jm-macros.m4: Check for clock_gettime (moved from
87199         fileutils/configure.in)
87200         Check for gettimeofday.
87201
87202 1999-12-20  Jim Meyering  <meyering@ascend.com>
87203
87204         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
87205         autoconf-2.14a-1999-12-20.
87206
87207 1999-12-19  Jim Meyering  <meyering@ascend.com>
87208
87209         * m4/lstat-slash.m4: New file.
87210         * m4/jm-macros.m4: Use the new macro:
87211         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
87212
87213 1999-12-07  Jim Meyering  <meyering@ascend.com>
87214
87215         * m4/perl.m4: Require that File::Compare be available, too.
87216         Too many systems seem to lack it.
87217
87218         * m4/strftime.m4: Add checks for most of the cpp macros tested in
87219         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
87220
87221 1999-11-18  Paul Eggert  <eggert@twinsun.com>
87222
87223         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
87224         problem with the QNX 4.25 shell, which doesn't propagate exit
87225         status of failed commands inside shell assignments.
87226
87227 1999-11-17  Jim Meyering  <meyering@ascend.com>
87228
87229         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
87230
87231 1999-11-07  Jim Meyering  <meyering@ascend.com>
87232
87233         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
87234
87235 1999-11-06  Jim Meyering  <meyering@ascend.com>
87236
87237         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
87238         * m4/jm-macros.m4 (jm_MACROS): Use it here.
87239
87240 1999-11-05  Jim Meyering  <meyering@ascend.com>
87241
87242         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
87243         configure.in of textutils, fileutils, and sh-utils into this one
87244         (shared between those packages) file.
87245         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
87246         AC_STRUCT_ST_BLKSIZE.
87247
87248 1999-11-03  Jim Meyering  <meyering@ascend.com>
87249
87250         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
87251         of AC_CHECK_TYPE checks includes unistd.h.
87252         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
87253         Suggestion from Akim Demaille.
87254
87255 1999-10-30  Jim Meyering  <meyering@ascend.com>
87256
87257         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
87258         m4-quoted string.
87259         * m4/ls-mntd-fs.m4: Likewise.
87260         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
87261         * m4/jm-winsz1.m4: Likewise.
87262
87263         * m4/const.m4: Remove file, since the fix made it into the experimental
87264         version of autoconf.
87265         * m4/mktime.m4: Likewise.
87266
87267         * m4/check-type.m4: Remove file, now that the latest version of
87268         AC_CHECK_TYPE takes a third arg to specify additional #includes.
87269
87270         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
87271         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
87272         AC_CHECK_TYPE.
87273
87274 1999-10-04  Jim Meyering  <meyering@ascend.com>
87275
87276         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
87277
87278 1999-09-22  Paul Eggert  <eggert@twinsun.com>
87279
87280         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
87281         2.95.1 bug with HP-UX 10.20.
87282
87283 1999-09-17  Jim Meyering  <meyering@ascend.com>
87284
87285         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
87286         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
87287         due to missing strdup (against sh-utils-2.0).
87288
87289 1999-08-29  Jim Meyering  <meyering@ascend.com>
87290
87291         * m4/jm-macros.m4: Require jm_BISON.
87292         * m4/bison.m4: New file.
87293
87294 1999-08-17  Paul Eggert  <eggert@twinsun.com>
87295
87296         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
87297         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
87298
87299 1999-08-05  Jim Meyering  <meyering@ascend.com>
87300
87301         * m4/getline.m4: Rename test file from conftestdata to conftest.data
87302         to avoid conflicts with `conftest' on 8+3 filesystems.
87303         Suggestion from Eli Zaretskii.
87304
87305 1999-08-04  Jim Meyering  <meyering@ascend.com>
87306
87307         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
87308         fileutils and sh-utils (textutils's getline test was inadequate).
87309         (AM_FUNC_GETLINE): Run this test.
87310         (AC_CHECK_FUNCS): Check for getdelim.
87311         Reported by Bob Proulx.
87312
87313 1999-08-02  Jim Meyering  <meyering@ascend.com>
87314
87315         * m4/jm-macros.m4: Add a comment.
87316
87317 1999-08-01  Paul Eggert  <eggert@twinsun.com>
87318
87319         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
87320         <inttypes.h> defines strtoumax as a macro (and not as a
87321         function).
87322
87323 1999-08-01  Paul Eggert  <eggert@twinsun.com>
87324
87325         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
87326         that we can shift, multiply and divide unsigned long long
87327         values; Ultrix cc can't do it.
87328
87329 1999-08-01  Paul Eggert  <eggert@twinsun.com>
87330
87331         * m4/mktime.m4: New file, which is a preview of what should appear
87332         in the next public autoconf release.
87333
87334 1999-08-01  Paul Eggert  <eggert@twinsun.com>
87335
87336         * m4/lfs.m4: Remove this file.
87337         * m4/largefile.m4: New file.  It contains the old contents of
87338         lfs.m4, except that all names with prefix AC_LFS have been
87339         changed to use the prefix AC_SYS_LARGEFILE instead, to be
87340         compatible with future autoconf versions.  Also, some minor m4
87341         quoting problems have been fixed.
87342
87343 1999-08-01  Paul Eggert  <eggert@twinsun.com>
87344
87345         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
87346         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
87347         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
87348         and simplify the shell code.
87349
87350 1999-08-01  Jim Meyering  <meyering@ascend.com>
87351
87352         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
87353         m4.
87354
87355 1999-07-20  Jim Meyering  <meyering@ascend.com>
87356
87357         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
87358
87359 1999-07-15  Jim Meyering  <meyering@ascend.com>
87360
87361         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
87362
87363 1999-05-22  Jim Meyering  <meyering@ascend.com>
87364
87365         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
87366
87367 1999-05-20  Jim Meyering  <meyering@ascend.com>
87368
87369         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
87370         Add a colon after each `then' in case $4 is empty.
87371
87372 1999-05-16  Jim Meyering  <meyering@ascend.com>
87373
87374         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
87375
87376 1999-05-10  Jim Meyering  <meyering@ascend.com>
87377
87378         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
87379
87380         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
87381         AC_FUNC_MKTIME.
87382
87383 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
87384
87385         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
87386
87387 1999-05-04  Paul Eggert  <eggert@twinsun.com>
87388
87389         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
87390         not CPPFLAGS, so that linking works correctly in IRIX.
87391
87392 1999-04-30  Paul Eggert  <eggert@twinsun.com>
87393
87394         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
87395
87396 1999-04-20  Paul Eggert  <eggert@twinsun.com>
87397
87398         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
87399         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
87400         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
87401         jm_AC_TYPE_UNSIGNED_LONG_LONG.
87402         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
87403
87404         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
87405
87406 1999-04-20  Jim Meyering  <meyering@ascend.com>
87407
87408         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
87409         AC_REPLACE xstroull if necessary.  From Paul Eggert.
87410         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
87411
87412 1999-04-18  Jim Meyering  <meyering@ascend.com>
87413
87414         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
87415         * m4/jm-macros.m4: Use it.
87416
87417 1999-04-06  Jim Meyering  <meyering@ascend.com>
87418
87419         * m4/strftime.m4: Remove test for %f.
87420
87421 1999-03-29  Jim Meyering  <meyering@ascend.com>
87422
87423         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
87424         superset of the AC_TYPE_* checks in the textutils, fileutils,
87425         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
87426         AC_TYPE_PID_T.
87427
87428 1999-03-28  Jim Meyering  <meyering@ascend.com>
87429
87430         * m4/jm-macros.m4: Define GNU_PACKAGE here.
87431         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
87432         replaced e.g., in the *.sh files of the sh-utils.
87433
87434 1999-03-20  Jim Meyering  <meyering@ascend.com>
87435
87436         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
87437         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
87438         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
87439
87440 1999-03-19  Jim Meyering  <meyering@ascend.com>
87441
87442         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
87443
87444 1999-03-12  Jim Meyering  <meyering@ascend.com>
87445
87446         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
87447
87448 1999-03-07  Jim Meyering  <meyering@ascend.com>
87449
87450         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
87451         declared.
87452
87453 1999-02-17  Jim Meyering  <meyering@ascend.com>
87454
87455         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
87456         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
87457
87458 1999-02-07  Jim Meyering  <meyering@ascend.com>
87459
87460         * m4/group-member.m4: New file -- extracted from sh-utils'
87461         configure.in.
87462
87463         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
87464         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
87465
87466 1999-02-06  Jim Meyering  <meyering@ascend.com>
87467
87468         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
87469         * m4/fnmatch.m4: Likewise.
87470         * m4/getgroups.m4: Likewise.
87471         * m4/lstat.m4: Likewise.
87472         * m4/malloc.m4: Likewise.
87473         * m4/putenv.m4: Likewise.
87474         * m4/realloc.m4: Likewise.
87475         * m4/regex.m4: Likewise.
87476         * m4/stat.m4: Likewise.
87477         * m4/strftime.m4: Likewise.
87478         Suggestion from Alain Magloire.
87479
87480         * m4/chown.m4: Use `.$ac_objext', not `.o'.
87481         * m4/fnmatch.m4: Likewise.
87482         * m4/getgroups.m4: Likewise.
87483         * m4/getline.m4: Likewise.
87484         * m4/lstat.m4: Likewise.
87485         * m4/malloc.m4: Likewise.
87486         * m4/memcmp.m4: Likewise.
87487         * m4/putenv.m4: Likewise.
87488         * m4/realloc.m4: Likewise.
87489         * m4/regex.m4: Likewise.
87490         * m4/stat.m4: Likewise.
87491         * m4/strftime.m4: Likewise.
87492         Suggestion from Alain Magloire.
87493
87494         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
87495         an argument.
87496
87497         * m4/regex.m4: Add a run-time Test for proper operation of
87498         re_compile_pattern.
87499
87500 1999-01-31  Jim Meyering  <meyering@ascend.com>
87501
87502         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
87503
87504 1999-01-30  Jim Meyering  <meyering@ascend.com>
87505
87506         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
87507
87508         * m4/jm-mktime.m4: Make this a wrapper around the official
87509         AM_FUNC_MKTIME rather than my private copy, now that the official one
87510         is up to date.
87511         * m4/mktime.m4: Remove file.
87512
87513         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
87514         * m4/uptime.m4: Likewise.
87515         * m4/uintmax_t.m4: Likewise.
87516
87517 1999-01-28  Jim Meyering  <meyering@ascend.com>
87518
87519         * m4/jm-macros.m4: Use jm_AFS.
87520         * m4/afs.m4: New file (from fileutils' configure.in).
87521
87522         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
87523         * m4/chown.m4: Likewise.
87524         * m4/d-ino.m4: Likewise.
87525         * m4/d-type.m4: Likewise.
87526         * m4/fnmatch.m4: Likewise.
87527         * m4/getgroups.m4: Likewise.
87528         * m4/gettext.m4: Likewise.
87529         * m4/jm-mktime.m4: Likewise.
87530         * m4/jm-winsz2.m4: Likewise.
87531         * m4/lcmessage.m4: Likewise.
87532         * m4/ls-mntd-fs.m4: Likewise.
87533         * m4/malloc.m4: Likewise.
87534         * m4/memcmp.m4: Likewise.
87535         * m4/putenv.m4: Likewise.
87536         * m4/realloc.m4: Likewise.
87537         * m4/st_mtim.m4: Likewise.
87538         * m4/strftime.m4: Likewise.
87539
87540 1999-01-16  Jim Meyering  <meyering@ascend.com>
87541
87542         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
87543         (ARGMATCH_DIE_DECL): Define.
87544
87545 1999-01-12  Jim Meyering  <meyering@ascend.com>
87546
87547         * m4/Makefile.am.in: Rewrite to avoid using fmt.
87548         Reported by Lars Hecking.
87549
87550 1999-01-10  Jim Meyering  <meyering@ascend.com>
87551
87552         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
87553         gross kludge.
87554         * m4/inttypes_h.m4: Likewise.
87555         * m4/lstat.m4: Likewise.
87556         * m4/malloc.m4: Likewise.
87557         * m4/readdir.m4: Likewise.
87558         * m4/realloc.m4: Likewise.
87559         * m4/st_dm_mode.m4: Likewise.
87560         * m4/stat.m4: Likewise.
87561         * m4/utimbuf.m4: Likewise.
87562         * m4/utimes.m4: Likewise.
87563
87564         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
87565         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
87566         comments in config.h.in are meaningful.
87567
87568         * m4/jm-macros.m4: Require autoconf-2.13 here.
87569
87570         * m4/regex.m4: By default, don't use the included regex.c on systems
87571         with glibc 2.  Suggestion from Uli Drepper.
87572
87573 1999-01-02  Jim Meyering  <meyering@ascend.com>
87574
87575         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
87576
87577 1998-12-18  Jim Meyering  <meyering@ascend.com>
87578
87579         * m4/Makefile.am.in (Makefile.am): Simplify rule.
87580         Based on a suggestion from Lars Hecking.
87581
87582 1998-11-16  Paul Eggert  <eggert@twinsun.com>
87583
87584         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
87585
87586 1998-11-16  Jim Meyering  <meyering@ascend.com>
87587
87588         * m4/lfs.m4: Double-quote the `uname...` expression.
87589
87590 1998-11-14  Jim Meyering  <meyering@ascend.com>
87591
87592         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
87593         * m4/stat.m4: Likewise.
87594
87595 1998-11-03  Jim Meyering  <meyering@ascend.com>
87596
87597         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
87598         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
87599
87600 1998-10-18  Jim Meyering  <meyering@ascend.com>
87601
87602         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
87603
87604 1998-10-17  Jim Meyering  <meyering@ascend.com>
87605
87606         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
87607         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
87608         calls for those previously hard-coded headers.  Instead, take a new
87609         parameter.
87610         (jm_CHECK_DECLARATIONS): Reflect interface change.
87611         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
87612         (jm_CHECK_DECL_LOCALTIME_R): New macro.
87613
87614         * m4/mktime.m4: Test for spring-forward gap before long-running test.
87615
87616 1998-10-14  Jim Meyering  <meyering@ascend.com>
87617
87618         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
87619         instead of "TZ=America/Vancouver".  From Paul Eggert.
87620
87621 1998-10-11  Jim Meyering  <meyering@ascend.com>
87622
87623         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
87624         This adds a test for a recently added compatibility fix for mktime.c.
87625         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
87626
87627 1998-09-27  Jim Meyering  <meyering@ascend.com>
87628
87629         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
87630
87631         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
87632         ../configure.in, including a change from Gordon Matzigkeit to allow
87633         cross-compiling for the Hurd.
87634
87635         * m4/glibc.m4: New file/macro to test for the GNU C Library
87636         versions 1 and 2.  From Gordon Matzigkeit.
87637         Indent.
87638
87639 1998-09-21  Jim Meyering  <meyering@ascend.com>
87640
87641         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
87642
87643 1998-08-18  Paul Eggert  <eggert@twinsun.com>
87644
87645         Port nanosecond-resolution times to UnixWare 2.1.2 and
87646         pedantic Solaris 2.6.
87647
87648         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
87649         AC_STRUCT_ST_MTIM.
87650         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
87651         Generate name of ns member, instead of just 1 or undef.
87652         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
87653
87654 1998-08-15  Jim Meyering  <meyering@ascend.com>
87655
87656         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
87657         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
87658         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
87659         instead of jm_TYPE_SSIZE_T.
87660
87661 1998-08-12  Jim Meyering  <meyering@ascend.com>
87662
87663         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
87664
87665 1998-08-02  Jim Meyering  <meyering@ascend.com>
87666
87667         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
87668         in acconfig.h manually.
87669
87670 1998-07-31  Paul Eggert  <eggert@twinsun.com>
87671
87672         * m4/st_mtim.m4: New file.
87673
87674 1998-07-28  Jim Meyering  <meyering@ascend.com>
87675
87676         * m4/utimes.m4: Undef stat.
87677
87678 1998-07-25  Jim Meyering  <meyering@ascend.com>
87679
87680         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
87681         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
87682
87683 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
87684
87685         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
87686         uid and gid actually remain unchanged.
87687
87688 1998-07-07  Jim Meyering  <meyering@ascend.com>
87689
87690         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
87691
87692 1998-07-04  Jim Meyering  <meyering@ascend.com>
87693
87694         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
87695         to prove that this macro can be used in packages without regex.c.
87696
87697 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
87698
87699         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
87700         is to be used.
87701
87702 1998-07-03  Jim Meyering  <meyering@ascend.com>
87703
87704         * m4/gettext.m4: Add -lintl if it's found to be necessary.
87705
87706         * m4/gettext.m4: New file -- from gettext-0.10.35.
87707         * m4/lcmessage.m4: Likewise.
87708         * m4/progtest.m4: Likewise.
87709
87710         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
87711         * m4/jm-macros.m4: Require the new macro.
87712
87713 1998-06-29  Jim Meyering  <meyering@ascend.com>
87714
87715         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
87716         for the definition of NGROUPS (used in a system header included
87717         by sys/mount.h).
87718
87719 1998-06-28  Jim Meyering  <meyering@ascend.com>
87720
87721         * m4/ls-mntd-fs.m4: New file.
87722         * m4/fstypename.m4: New file.
87723
87724         * m4/jm-macros.m4: Require the new macro.
87725         * m4/jm-glibc-io.m4: New file.
87726
87727 1998-05-19  Jim Meyering  <meyering@ascend.com>
87728
87729         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
87730         * m4/lchown.m4: New file.
87731
87732         * m4/Makefile.am.in: New file.
87733         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
87734
87735 1998-05-14  Jim Meyering  <meyering@ascend.com>
87736
87737         * m4/Makefile.am (EXTRA_DIST): Add them.
87738         * m4/jm-macros.m4: New file.
87739         * m4/utimbuf.m4: New file.
87740
87741 1998-05-12  Jim Meyering  <meyering@ascend.com>
87742
87743         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
87744
87745 1998-05-11  Jim Meyering  <meyering@ascend.com>
87746
87747         * m4/isc-posix.m4: New file.
87748
87749 1998-05-10  Jim Meyering  <meyering@ascend.com>
87750
87751         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
87752
87753 1998-05-09  Jim Meyering  <meyering@ascend.com>
87754
87755         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
87756         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
87757         with automake.
87758
87759         * m4/ssize_t.m4: New file.
87760         * m4/mktime.m4: Remove file -- the new automake has this now.
87761
87762 1998-04-26  Jim Meyering  <meyering@ascend.com>
87763
87764         * m4/assert.m4: New file.
87765         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
87766
87767 1998-04-05  Jim Meyering  <meyering@ascend.com>
87768
87769         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
87770         (jm_PREREQ): Use it here.
87771
87772 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
87773
87774         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
87775         in acconfig.h.
87776
87777 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
87778
87779         * m4/prereq.m4: New file.
87780         * m4/error.m4: New file.
87781         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
87782
87783 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
87784
87785         * m4/getline.m4: Don't set am_cv_func_working_getline before the
87786         cache-check for the same variable -- that defeated the purpose of
87787         the test; the test program was never run.  This was a problem only
87788         on systems with losing getline functions -- HP-UX 10.20 is one.
87789         Reported by Bjorn Helgaas.
87790
87791 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
87792
87793         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
87794
87795 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
87796
87797         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
87798
87799         * m4/const.m4: New file.  Use an initializer in this declaration
87800         typedef int charset[2]; const charset x;
87801         Reported by Bob Glickstein.
87802
87803 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
87804
87805         * m4/chown.m4: Fix reversed types on -1 args to chown.
87806         From Kaveh Ghazi.
87807
87808 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
87809
87810         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
87811         Add lseek and memchr.
87812
87813         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
87814         T.E.Dickey <dickey@clark.net> said that some older preprocessors
87815         have a 20-character limit on names.
87816
87817 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
87818
87819         * m4/inttypes_h.m4: New file.
87820         * m4/uintmax_t.m4: New file.
87821         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
87822
87823
87824         -----
87825
87826         Local Variables:
87827         coding: utf-8
87828         End:
87829
87830         Copyright (C) 1997-2011 Free Software Foundation, Inc.
87831
87832         Copying and distribution of this file, with or without
87833         modification, are permitted provided the copyright notice
87834         and this notice are preserved.